From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chunming Zhou Subject: [PATCH 05/10] drm/amdgpu: shadow gart table support Date: Tue, 2 Aug 2016 16:00:35 +0800 Message-ID: <1470124840-26170-6-git-send-email-David1.Zhou@amd.com> References: <1470124840-26170-1-git-send-email-David1.Zhou@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1470124840-26170-1-git-send-email-David1.Zhou-5C7GfCeVMHo@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Chunming Zhou YWxsb2NhdGUgZ2FydCBzaGFkb3cgYm8sIGFuZCB1c2luZyBzaGFkb3cgYm8gdG8gYmFja3VwIGdh cnQgdGFibGUuCgpDaGFuZ2UtSWQ6IEliMmJlYWU5Y2VhMWFkMTMxNGM1N2YwZmNkY2MyNTQ4MTZm MzliOWIyClNpZ25lZC1vZmYtYnk6IENodW5taW5nIFpob3UgPERhdmlkMS5aaG91QGFtZC5jb20+ Ci0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmggICAgICB8ICAzICsrCiBk cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ2FydC5jIHwgNDcgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192N18w LmMgICAgfCAxNSArKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nbWNfdjhf MC5jICAgIHwgMTYgKysrKysrKysrKysKIDQgZmlsZXMgY2hhbmdlZCwgODAgaW5zZXJ0aW9ucygr KSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdS5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgKaW5kZXggNDE5 YTMzYi4uMjk4NTU3OGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oCkBAIC02Mzgs NiArNjM4LDcgQEAgc3RydWN0IGFtZGdwdV9nYXJ0IHsKIAlkbWFfYWRkcl90CQkJdGFibGVfYWRk cjsKIAlzdHJ1Y3QgYW1kZ3B1X2JvCQkqcm9iajsKIAl2b2lkCQkJCSpwdHI7CisJdm9pZAkJCQkq c2hhZG93X3B0cjsKIAl1bnNpZ25lZAkJCW51bV9ncHVfcGFnZXM7CiAJdW5zaWduZWQJCQludW1f Y3B1X3BhZ2VzOwogCXVuc2lnbmVkCQkJdGFibGVfc2l6ZTsKQEAgLTY1NSw2ICs2NTYsOCBAQCBp bnQgYW1kZ3B1X2dhcnRfdGFibGVfdnJhbV9hbGxvYyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRl dik7CiB2b2lkIGFtZGdwdV9nYXJ0X3RhYmxlX3ZyYW1fZnJlZShzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldik7CiBpbnQgYW1kZ3B1X2dhcnRfdGFibGVfdnJhbV9waW4oc3RydWN0IGFtZGdwdV9k ZXZpY2UgKmFkZXYpOwogdm9pZCBhbWRncHVfZ2FydF90YWJsZV92cmFtX3VucGluKHN0cnVjdCBh bWRncHVfZGV2aWNlICphZGV2KTsKK2ludCBhbWRncHVfZ2FydF90YWJsZV92cmFtX3NoYWRvd19w aW4oc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpOwordm9pZCBhbWRncHVfZ2FydF90YWJsZV92 cmFtX3NoYWRvd191bnBpbihzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldik7CiBpbnQgYW1kZ3B1 X2dhcnRfaW5pdChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldik7CiB2b2lkIGFtZGdwdV9nYXJ0 X2Zpbmkoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpOwogaW50IGFtZGdwdV9nYXJ0X2xhdGVf aW5pdChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ2FydC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1X2dhcnQuYwppbmRleCBjMWYyMjZiLi5iMzA2Njg0IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ2FydC5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV9nYXJ0LmMKQEAgLTI0OCw2ICsyNDgsOSBAQCB2b2lkIGFtZGdw dV9nYXJ0X3VuYmluZChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgdW5zaWduZWQgb2Zmc2V0 LAogCQlmb3IgKGogPSAwOyBqIDwgKFBBR0VfU0laRSAvIEFNREdQVV9HUFVfUEFHRV9TSVpFKTsg aisrLCB0KyspIHsKIAkJCWFtZGdwdV9nYXJ0X3NldF9wdGVfcGRlKGFkZXYsIGFkZXYtPmdhcnQu cHRyLAogCQkJCQkJdCwgcGFnZV9iYXNlLCBmbGFncyk7CisJCQlpZiAoYW1kZ3B1X3ZtX25lZWRf YmFja3VwKGFkZXYpICYmIGFkZXYtPmdhcnQucm9iai0+c2hhZG93KQorCQkJCWFtZGdwdV9nYXJ0 X3NldF9wdGVfcGRlKGFkZXYsIGFkZXYtPmdhcnQuc2hhZG93X3B0ciwKKwkJCQkJCQl0LCBwYWdl X2Jhc2UsIGZsYWdzKTsKIAkJCXBhZ2VfYmFzZSArPSBBTURHUFVfR1BVX1BBR0VfU0laRTsKIAkJ fQogCX0KQEAgLTI5Myw2ICsyOTYsOSBAQCBpbnQgYW1kZ3B1X2dhcnRfYmluZChzdHJ1Y3QgYW1k Z3B1X2RldmljZSAqYWRldiwgdW5zaWduZWQgb2Zmc2V0LAogCQkJcGFnZV9iYXNlID0gZG1hX2Fk ZHJbaV07CiAJCQlmb3IgKGogPSAwOyBqIDwgKFBBR0VfU0laRSAvIEFNREdQVV9HUFVfUEFHRV9T SVpFKTsgaisrLCB0KyspIHsKIAkJCQlhbWRncHVfZ2FydF9zZXRfcHRlX3BkZShhZGV2LCBhZGV2 LT5nYXJ0LnB0ciwgdCwgcGFnZV9iYXNlLCBmbGFncyk7CisJCQkJaWYgKGFtZGdwdV92bV9uZWVk X2JhY2t1cChhZGV2KSAmJiBhZGV2LT5nYXJ0LnJvYmotPnNoYWRvdykKKwkJCQkJYW1kZ3B1X2dh cnRfc2V0X3B0ZV9wZGUoYWRldiwgYWRldi0+Z2FydC5zaGFkb3dfcHRyLAorCQkJCQkJCQl0LCBw YWdlX2Jhc2UsIGZsYWdzKTsKIAkJCQlwYWdlX2Jhc2UgKz0gQU1ER1BVX0dQVV9QQUdFX1NJWkU7 CiAJCQl9CiAJCX0KQEAgLTM2NCw2ICszNzAsNDYgQEAgdm9pZCBhbWRncHVfZ2FydF9maW5pKHN0 cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQogCWFtZGdwdV9kdW1teV9wYWdlX2ZpbmkoYWRldik7 CiB9CiAKK2ludCBhbWRncHVfZ2FydF90YWJsZV92cmFtX3NoYWRvd19waW4oc3RydWN0IGFtZGdw dV9kZXZpY2UgKmFkZXYpCit7CisJdWludDY0X3QgZ3B1X2FkZHI7CisJaW50IHI7CisKKwlpZiAo IWFkZXYtPmdhcnQucm9iai0+c2hhZG93KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXIgPSBhbWRn cHVfYm9fcmVzZXJ2ZShhZGV2LT5nYXJ0LnJvYmotPnNoYWRvdywgZmFsc2UpOworCWlmICh1bmxp a2VseShyICE9IDApKQorCQlyZXR1cm4gcjsKKwlyID0gYW1kZ3B1X2JvX3BpbihhZGV2LT5nYXJ0 LnJvYmotPnNoYWRvdywKKwkJCQlBTURHUFVfR0VNX0RPTUFJTl9HVFQsICZncHVfYWRkcik7CisJ aWYgKHIpIHsKKwkJYW1kZ3B1X2JvX3VucmVzZXJ2ZShhZGV2LT5nYXJ0LnJvYmotPnNoYWRvdyk7 CisJCXJldHVybiByOworCX0KKwlyID0gYW1kZ3B1X2JvX2ttYXAoYWRldi0+Z2FydC5yb2JqLT5z aGFkb3csICZhZGV2LT5nYXJ0LnNoYWRvd19wdHIpOworCWlmIChyKQorCQlhbWRncHVfYm9fdW5w aW4oYWRldi0+Z2FydC5yb2JqLT5zaGFkb3cpOworCWFtZGdwdV9ib191bnJlc2VydmUoYWRldi0+ Z2FydC5yb2JqLT5zaGFkb3cpOworCXJldHVybiByOworfQorCit2b2lkIGFtZGdwdV9nYXJ0X3Rh YmxlX3ZyYW1fc2hhZG93X3VucGluKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQoreworCWlu dCByOworCisJaWYgKGFkZXYtPmdhcnQucm9iai0+c2hhZG93ID09IE5VTEwpCisJCXJldHVybjsK KworCXIgPSBhbWRncHVfYm9fcmVzZXJ2ZShhZGV2LT5nYXJ0LnJvYmotPnNoYWRvdywgZmFsc2Up OworCWlmIChsaWtlbHkociA9PSAwKSkgeworCQlhbWRncHVfYm9fa3VubWFwKGFkZXYtPmdhcnQu cm9iai0+c2hhZG93KTsKKwkJYW1kZ3B1X2JvX3VucGluKGFkZXYtPmdhcnQucm9iai0+c2hhZG93 KTsKKwkJYW1kZ3B1X2JvX3VucmVzZXJ2ZShhZGV2LT5nYXJ0LnJvYmotPnNoYWRvdyk7CisJCWFk ZXYtPmdhcnQuc2hhZG93X3B0ciA9IE5VTEw7CisJfQorfQorCiBpbnQgYW1kZ3B1X2dhcnRfbGF0 ZV9pbml0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQogewogCXN0cnVjdCBhbWRfc2NoZWRf cnEgKnJxOwpAQCAtMzcyLDcgKzQxOCw2IEBAIGludCBhbWRncHVfZ2FydF9sYXRlX2luaXQoc3Ry dWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiAJcnEgPSAmcmluZy0+c2NoZWQuc2NoZWRfcnFbQU1E X1NDSEVEX1BSSU9SSVRZX1JFQ09WRVJdOwogCXJldHVybiBhbWRfc2NoZWRfZW50aXR5X2luaXQo JnJpbmctPnNjaGVkLCAmYWRldi0+Z2FydC5yZWNvdmVyX2VudGl0eSwKIAkJCQkgICAgIHJxLCBh bWRncHVfc2NoZWRfam9icyk7Ci0KIH0KIAogdm9pZCBhbWRncHVfZ2FydF9sYXRlX2Zpbmkoc3Ry dWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9nbWNfdjdfMC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21jX3Y3XzAu YwppbmRleCAwNzcxYzA0Li41NDcwYTI4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9nbWNfdjdfMC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192 N18wLmMKQEAgLTU4OSw3ICs1ODksMjEgQEAgc3RhdGljIGludCBnbWNfdjdfMF9nYXJ0X2VuYWJs ZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKIAkJICh1bnNpZ25lZCkoYWRldi0+bWMuZ3R0 X3NpemUgPj4gMjApLAogCQkgKHVuc2lnbmVkIGxvbmcgbG9uZylhZGV2LT5nYXJ0LnRhYmxlX2Fk ZHIpOwogCWFkZXYtPmdhcnQucmVhZHkgPSB0cnVlOworCWlmIChhbWRncHVfdm1fbmVlZF9iYWNr dXAoYWRldikgJiYgYWRldi0+Z2FydC5yb2JqKSB7CisJCXIgPSBhbWRncHVfYm9fY3JlYXRlX3No YWRvdyhhZGV2LCBhZGV2LT5nYXJ0LnRhYmxlX3NpemUsCisJCQkJCSAgICBQQUdFX1NJWkUsIGFk ZXYtPmdhcnQucm9iaik7CisJCWlmIChyKQorCQkJZ290byBlcnI7CisJCXIgPSBhbWRncHVfZ2Fy dF90YWJsZV92cmFtX3NoYWRvd19waW4oYWRldik7CisJCWlmIChyKQorCQkJZ290byBlcnI7CisJ fQorCiAJcmV0dXJuIDA7CitlcnI6CisJYW1kZ3B1X2dhcnRfdGFibGVfdnJhbV91bnBpbihhZGV2 KTsKKworCXJldHVybiByOwogfQogCiBzdGF0aWMgaW50IGdtY192N18wX2dhcnRfaW5pdChzdHJ1 Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKQEAgLTYzNCw2ICs2NDgsNyBAQCBzdGF0aWMgdm9pZCBn bWNfdjdfMF9nYXJ0X2Rpc2FibGUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiAJV1JFRzMy KG1tVk1fTDJfQ05UTCwgdG1wKTsKIAlXUkVHMzIobW1WTV9MMl9DTlRMMiwgMCk7CiAJYW1kZ3B1 X2dhcnRfdGFibGVfdnJhbV91bnBpbihhZGV2KTsKKwlhbWRncHVfZ2FydF90YWJsZV92cmFtX3No YWRvd191bnBpbihhZGV2KTsKIH0KIAogLyoqCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9nbWNfdjhfMC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21jX3Y4 XzAuYwppbmRleCBjMjZiZWU5Li42YzJiNWRlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9nbWNfdjhfMC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dt Y192OF8wLmMKQEAgLTcwNCw3ICs3MDQsMjIgQEAgc3RhdGljIGludCBnbWNfdjhfMF9nYXJ0X2Vu YWJsZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKIAkJICh1bnNpZ25lZCkoYWRldi0+bWMu Z3R0X3NpemUgPj4gMjApLAogCQkgKHVuc2lnbmVkIGxvbmcgbG9uZylhZGV2LT5nYXJ0LnRhYmxl X2FkZHIpOwogCWFkZXYtPmdhcnQucmVhZHkgPSB0cnVlOworCisJaWYgKGFtZGdwdV92bV9uZWVk X2JhY2t1cChhZGV2KSAmJiBhZGV2LT5nYXJ0LnJvYmopIHsKKwkJciA9IGFtZGdwdV9ib19jcmVh dGVfc2hhZG93KGFkZXYsIGFkZXYtPmdhcnQudGFibGVfc2l6ZSwKKwkJCQkJICAgIFBBR0VfU0la RSwgYWRldi0+Z2FydC5yb2JqKTsKKwkJaWYgKHIpCisJCQlnb3RvIGVycjsKKwkJciA9IGFtZGdw dV9nYXJ0X3RhYmxlX3ZyYW1fc2hhZG93X3BpbihhZGV2KTsKKwkJaWYgKHIpCisJCQlnb3RvIGVy cjsKKwl9CisKIAlyZXR1cm4gMDsKK2VycjoKKwlhbWRncHVfZ2FydF90YWJsZV92cmFtX3VucGlu KGFkZXYpOworCisJcmV0dXJuIHI7CiB9CiAKIHN0YXRpYyBpbnQgZ21jX3Y4XzBfZ2FydF9pbml0 KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQpAQCAtNzQ5LDYgKzc2NCw3IEBAIHN0YXRpYyB2 b2lkIGdtY192OF8wX2dhcnRfZGlzYWJsZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKIAlX UkVHMzIobW1WTV9MMl9DTlRMLCB0bXApOwogCVdSRUczMihtbVZNX0wyX0NOVEwyLCAwKTsKIAlh bWRncHVfZ2FydF90YWJsZV92cmFtX3VucGluKGFkZXYpOworCWFtZGdwdV9nYXJ0X3RhYmxlX3Zy YW1fc2hhZG93X3VucGluKGFkZXYpOwogfQogCiAvKioKLS0gCjEuOS4xCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAph bWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK