From mboxrd@z Thu Jan 1 00:00:00 1970 From: Xiangliang Yu Subject: [V2 04/11] drm/amdgpu/virt: use kiq to access registers Date: Tue, 10 Jan 2017 18:00:43 +0800 Message-ID: <1484042450-22987-5-git-send-email-Xiangliang.Yu@amd.com> References: <1484042450-22987-1-git-send-email-Xiangliang.Yu@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1484042450-22987-1-git-send-email-Xiangliang.Yu-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: Xiangliang Yu Rm9yIHZpcnR1YWxpemF0aW9uLCBpdCBpcyBtdXN0IGZvciBkcml2ZXIgdG8gdXNlIEtJUSB0byBh Y2Nlc3MKcmVnaXN0ZXJzIHdoZW4gaXQgaXMgb3V0IG9mIEdQVSBmdWxsIGFjY2VzcyBtb2RlLgoK U2lnbmVkLW9mZi1ieTogWGlhbmdsaWFuZyBZdSA8WGlhbmdsaWFuZy5ZdUBhbWQuY29tPgotLS0K IGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L01ha2VmaWxlICAgICAgICB8ICAyICstCiBkcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMgfCAgNiArKysKIGRyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92aXJ0LmMgICB8IDg2ICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZpcnQuaCAg IHwgIDUgKysKIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3ZpLmMgICAgICAgICAgICB8ICAz ICsrCiA1IGZpbGVzIGNoYW5nZWQsIDEwMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiBj cmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZpcnQu YwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L01ha2VmaWxlIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvTWFrZWZpbGUKaW5kZXggNDE4NWIwMy4uMGI4ZTQ3MCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvTWFrZWZpbGUKKysrIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvTWFrZWZpbGUKQEAgLTMwLDcgKzMwLDcgQEAgYW1kZ3B1 LXkgKz0gYW1kZ3B1X2RldmljZS5vIGFtZGdwdV9rbXMubyBcCiAJYXRvbWJpb3NfZW5jb2RlcnMu byBhbWRncHVfc2EubyBhdG9tYmlvc19pMmMubyBcCiAJYW1kZ3B1X3ByaW1lLm8gYW1kZ3B1X3Zt Lm8gYW1kZ3B1X2liLm8gYW1kZ3B1X3BsbC5vIFwKIAlhbWRncHVfdWNvZGUubyBhbWRncHVfYm9f bGlzdC5vIGFtZGdwdV9jdHgubyBhbWRncHVfc3luYy5vIFwKLQlhbWRncHVfZ3R0X21nci5vIGFt ZGdwdV92cmFtX21nci5vCisJYW1kZ3B1X2d0dF9tZ3IubyBhbWRncHVfdnJhbV9tZ3IubyBhbWRn cHVfdmlydC5vCiAKICMgYWRkIGFzaWMgc3BlY2lmaWMgYmxvY2sKIGFtZGdwdS0kKENPTkZJR19E Uk1fQU1ER1BVX0NJSykrPSBjaWsubyBjaWtfaWgubyBrdl9zbWMubyBrdl9kcG0ubyBcCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMKaW5kZXggZjgyOTE5ZC4uOWEy ZmQzZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Rldmlj ZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kZXZpY2UuYwpAQCAt OTUsNiArOTUsOSBAQCB1aW50MzJfdCBhbWRncHVfbW1fcnJlZyhzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldiwgdWludDMyX3QgcmVnLAogewogCXVpbnQzMl90IHJldDsKIAorCWlmIChhbWRncHVf c3Jpb3ZfcnVudGltZShhZGV2KSAmJiAhaW5faW50ZXJydXB0KCkpCisJCXJldHVybiBhbWRncHVf dmlydF9raXFfcnJlZyhhZGV2LCByZWcpOworCiAJaWYgKChyZWcgKiA0KSA8IGFkZXYtPnJtbWlv X3NpemUgJiYgIWFsd2F5c19pbmRpcmVjdCkKIAkJcmV0ID0gcmVhZGwoKCh2b2lkIF9faW9tZW0g KilhZGV2LT5ybW1pbykgKyAocmVnICogNCkpOwogCWVsc2UgewpAQCAtMTE0LDYgKzExNyw5IEBA IHZvaWQgYW1kZ3B1X21tX3dyZWcoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHVpbnQzMl90 IHJlZywgdWludDMyX3QgdiwKIHsKIAl0cmFjZV9hbWRncHVfbW1fd3JlZyhhZGV2LT5wZGV2LT5k ZXZpY2UsIHJlZywgdik7CiAKKwlpZiAoYW1kZ3B1X3NyaW92X3J1bnRpbWUoYWRldikpCisJCXJl dHVybiBhbWRncHVfdmlydF9raXFfd3JlZyhhZGV2LCByZWcsIHYpOworCiAJaWYgKChyZWcgKiA0 KSA8IGFkZXYtPnJtbWlvX3NpemUgJiYgIWFsd2F5c19pbmRpcmVjdCkKIAkJd3JpdGVsKHYsICgo dm9pZCBfX2lvbWVtICopYWRldi0+cm1taW8pICsgKHJlZyAqIDQpKTsKIAllbHNlIHsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92aXJ0LmMgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdmlydC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAuLjY1MjBhNGUKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfdmlydC5jCkBAIC0wLDAgKzEsODYgQEAKKy8qCisgKiBDb3B5cmln aHQgMjAxNyBBZHZhbmNlZCBNaWNybyBEZXZpY2VzLCBJbmMuCisgKgorICogUGVybWlzc2lvbiBp cyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5n IGEKKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9u IGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCisgKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRo b3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCisgKiB0aGUgcmln aHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3Vi bGljZW5zZSwKKyAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBw ZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQorICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRv IHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJv dmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBp bmNsdWRlZCBpbgorICogYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUg U29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhP VVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElO RyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAor ICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4g IElOIE5PIEVWRU5UIFNIQUxMCisgKiBUSEUgQ09QWVJJR0hUIEhPTERFUihTKSBPUiBBVVRIT1Io UykgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IKKyAqIE9USEVSIExJQUJJTElU WSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLAor ICogQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FS RSBPUiBUSEUgVVNFIE9SCisgKiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKi8K KworI2luY2x1ZGUgImFtZGdwdS5oIgorI2luY2x1ZGUgImFtZGdwdV92aXJ0LmgiCisKK3ZvaWQg YW1kZ3B1X3ZpcnRfaW5pdF9zZXR0aW5nKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQorewor CW11dGV4X2luaXQoJmFkZXYtPnZpcnQubG9jayk7Cit9CisKK3VpbnQzMl90IGFtZGdwdV92aXJ0 X2tpcV9ycmVnKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCB1aW50MzJfdCByZWcpCit7CisJ c2lnbmVkIGxvbmcgcjsKKwl1aW50MzJfdCB2YWw7CisJc3RydWN0IGZlbmNlICpmOworCXN0cnVj dCBhbWRncHVfa2lxICpraXEgPSAmYWRldi0+Z2Z4LmtpcTsKKwlzdHJ1Y3QgYW1kZ3B1X3Jpbmcg KnJpbmcgPSAma2lxLT5yaW5nOworCisJQlVHX09OKCFyaW5nLT5mdW5jcy0+ZW1pdF9ycmVnKTsK KworCW11dGV4X2xvY2soJmFkZXYtPnZpcnQubG9jayk7CisJYW1kZ3B1X3JpbmdfYWxsb2Mocmlu ZywgMzIpOworCWFtZGdwdV9yaW5nX2VtaXRfaGRwX2ZsdXNoKHJpbmcpOworCWFtZGdwdV9yaW5n X2VtaXRfcnJlZyhyaW5nLCByZWcpOworCWFtZGdwdV9yaW5nX2VtaXRfaGRwX2ludmFsaWRhdGUo cmluZyk7CisJYW1kZ3B1X2ZlbmNlX2VtaXQocmluZywgJmYpOworCWZlbmNlX2dldChmKTsKKwlh bWRncHVfcmluZ19jb21taXQocmluZyk7CisJbXV0ZXhfdW5sb2NrKCZhZGV2LT52aXJ0LmxvY2sp OworCisJciA9IGZlbmNlX3dhaXQoZiwgZmFsc2UpOworCWZlbmNlX3B1dChmKTsKKwlpZiAocikK KwkJRFJNX0VSUk9SKCJ3YWl0IGZvciBraXEgZmVuY2UgZXJyb3I6ICVsZC5cbiIsIHIpOworCWZl bmNlX3B1dChmKTsKKworCXZhbCA9IGFkZXYtPndiLndiW2FkZXYtPnZpcnQudmFsX29mZnNdOwor CisJcmV0dXJuIHZhbDsKK30KKwordm9pZCBhbWRncHVfdmlydF9raXFfd3JlZyhzdHJ1Y3QgYW1k Z3B1X2RldmljZSAqYWRldiwgdWludDMyX3QgcmVnLCB1aW50MzJfdCB2KQoreworCXNpZ25lZCBs b25nIHI7CisJc3RydWN0IGZlbmNlICpmOworCXN0cnVjdCBhbWRncHVfa2lxICpraXEgPSAmYWRl di0+Z2Z4LmtpcTsKKwlzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcgPSAma2lxLT5yaW5nOworCisJ QlVHX09OKCFyaW5nLT5mdW5jcy0+ZW1pdF93cmVnKTsKKworCW11dGV4X2xvY2soJmFkZXYtPnZp cnQubG9jayk7CisJYW1kZ3B1X3JpbmdfYWxsb2MocmluZywgMzIpOworCWFtZGdwdV9yaW5nX2Vt aXRfaGRwX2ZsdXNoKHJpbmcpOworCWFtZGdwdV9yaW5nX2VtaXRfd3JlZyhyaW5nLCByZWcsIHYp OworCWFtZGdwdV9yaW5nX2VtaXRfaGRwX2ludmFsaWRhdGUocmluZyk7CisJYW1kZ3B1X2ZlbmNl X2VtaXQocmluZywgJmYpOworCWZlbmNlX2dldChmKTsKKwlhbWRncHVfcmluZ19jb21taXQocmlu Zyk7CisJbXV0ZXhfdW5sb2NrKCZhZGV2LT52aXJ0LmxvY2spOworCisJciA9IGZlbmNlX3dhaXQo ZiwgZmFsc2UpOworCWZlbmNlX3B1dChmKTsKKwlpZiAocikKKwkJRFJNX0VSUk9SKCJ3YWl0IGZv ciBraXEgZmVuY2UgZXJyb3I6ICVsZC5cbiIsIHIpOworCWZlbmNlX3B1dChmKTsKK30KZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92aXJ0LmggYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdmlydC5oCmluZGV4IDc5NjE5YjYuLjI0ZjA1OTAg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92aXJ0LmgKKysr IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZpcnQuaApAQCAtMzMsNiArMzMs NyBAQAogc3RydWN0IGFtZGdwdV92aXJ0IHsKIAl1aW50MzJfdAkJY2FwczsKIAl1aW50MzJfdAkJ dmFsX29mZnM7CisJc3RydWN0IG11dGV4CQlsb2NrOwogfTsKIAogI2RlZmluZSBhbWRncHVfc3Jp b3ZfZW5hYmxlZChhZGV2KSBcCkBAIC01OSw0ICs2MCw4IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBp c192aXJ0dWFsX21hY2hpbmUodm9pZCkKICNlbmRpZgogfQogCit2b2lkIGFtZGdwdV92aXJ0X2lu aXRfc2V0dGluZyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldik7Cit1aW50MzJfdCBhbWRncHVf dmlydF9raXFfcnJlZyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgdWludDMyX3QgcmVnKTsK K3ZvaWQgYW1kZ3B1X3ZpcnRfa2lxX3dyZWcoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHVp bnQzMl90IHJlZywgdWludDMyX3Qgdik7CisKICNlbmRpZgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvdmkuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3ZpLmMK aW5kZXggNzM1MGE4Zi4uZGMwZDRmYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvdmkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS92aS5jCkBAIC04OTIs NiArODkyLDkgQEAgc3RhdGljIGludCB2aV9jb21tb25fZWFybHlfaW5pdCh2b2lkICpoYW5kbGUp CiAJCShhbWRncHVfaXBfYmxvY2tfbWFzayAmICgxIDw8IEFNRF9JUF9CTE9DS19UWVBFX1NNQykp KQogCQlzbWNfZW5hYmxlZCA9IHRydWU7CiAKKwlpZiAoYW1kZ3B1X3NyaW92X3ZmKGFkZXYpKQor CQlhbWRncHVfdmlydF9pbml0X3NldHRpbmcoYWRldik7CisKIAlhZGV2LT5yZXZfaWQgPSB2aV9n ZXRfcmV2X2lkKGFkZXYpOwogCWFkZXYtPmV4dGVybmFsX3Jldl9pZCA9IDB4RkY7CiAJc3dpdGNo IChhZGV2LT5hc2ljX3R5cGUpIHsKLS0gCjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2FtZC1nZngK