From mboxrd@z Thu Jan 1 00:00:00 1970 From: Xiangliang Yu Subject: [PATCH 13/23] drm/amdgpu/mxgpu: add support for mailbox communication Date: Sun, 18 Dec 2016 00:16:35 +0800 Message-ID: <1481991405-30422-14-git-send-email-Xiangliang.Yu@amd.com> References: <1481991405-30422-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: <1481991405-30422-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, dl.SRDC_SW_GPUVirtualization-5C7GfCeVMHo@public.gmane.org Cc: Xiangliang Yu , shaoyunl R1BVIGd1ZXN0IGRyaXZlciBzZW5kIG1haWxib3ggbWVzc2FnZXMgdG8gaHlwZXJ2ZXJpc29yIHRv IHJlcXVlc3QKZnVsbCBhY2Nlc3MgdG8gYWxsIG9mIHJlZ2lzdGVycyBhbmQgcmVsZWFzZSBpdCB3 aGVuIGFjY2VzcyBpcyBkb25lLgoKU2lnbmVkLW9mZi1ieTogWGlhbmdsaWFuZyBZdSA8WGlhbmds aWFuZy5ZdUBhbWQuY29tPgpTaWduZWQtb2ZmLWJ5OiBzaGFveXVubCA8U2hhb3l1bi5MaXVAYW1k LmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL214Z3B1L2FtZF9teGdwdS5oIHwgICAzICsK IGRyaXZlcnMvZ3B1L2RybS9hbWQvbXhncHUvbXhncHVfbWIuYyAgfCAxMjggKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAxMzEgaW5zZXJ0aW9ucygr KQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9hbWQvbXhncHUvbXhncHVfbWIu YwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvbXhncHUvYW1kX214Z3B1LmggYi9k cml2ZXJzL2dwdS9kcm0vYW1kL214Z3B1L2FtZF9teGdwdS5oCmluZGV4IGNjMzEyM2IuLjU0ZTdi MzEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvbXhncHUvYW1kX214Z3B1LmgKKysr IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9teGdwdS9hbWRfbXhncHUuaApAQCAtODUsNCArODUsNyBA QCBleHRlcm4gdm9pZCBhbWRfeGdwdV9mcmVlKHN0cnVjdCBhbWRfeGdwdSAqeGdwdSk7CiAKIGV4 dGVybiBpbnQgeGdwdV9hbGxvY2F0ZV9jc2Eoc3RydWN0IGFtZF94Z3B1ICp4Z3B1KTsKIGV4dGVy biB2b2lkIHhncHVfZGVzdHJveV9jc2Eoc3RydWN0IGFtZF94Z3B1X2NzYSAqY3NhKTsKKworZXh0 ZXJuIGludCB4Z3B1X3JlcXVlc3RfZnVsbF9ncHVfYWNjZXNzKHN0cnVjdCBhbWRncHVfZGV2aWNl ICphZGV2LCBib29sIGluaXQpOworZXh0ZXJuIGludCB4Z3B1X3JlbGVhc2VfZnVsbF9ncHVfYWNj ZXNzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCBib29sIGluaXQpOwogI2VuZGlmCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL214Z3B1L214Z3B1X21iLmMgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL214Z3B1L214Z3B1X21iLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMC4uYjc0YjUwMQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvbXhn cHUvbXhncHVfbWIuYwpAQCAtMCwwICsxLDEyOCBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE2IEFk dmFuY2VkIE1pY3JvIERldmljZXMsIEluYy4KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBn cmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorICogY29w eSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRo ZSAiU29mdHdhcmUiKSwKKyAqIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJp Y3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24KKyAqIHRoZSByaWdodHMgdG8gdXNl LCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLAor ICogYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJz b25zIHRvIHdob20gdGhlCisgKiBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1Ympl Y3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmln aHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGlu CisgKiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4K KyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5U WSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1Qg TElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZF TlQgU0hBTEwKKyAqIFRIRSBDT1BZUklHSFQgSE9MREVSKFMpIE9SIEFVVEhPUihTKSBCRSBMSUFC TEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUgorICogT1RIRVIgTElBQklMSVRZLCBXSEVUSEVS IElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsCisgKiBBUklTSU5H IEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBV U0UgT1IKKyAqIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KKyAqCisgKiBBdXRob3Jz OiBYaWFuZ2xpYW5nLll1QGFtZC5jb20KKyAqLworI2luY2x1ZGUgImFtZF9teGdwdS5oIgorI2lu Y2x1ZGUgImJpZi9iaWZfNV8wX2QuaCIKKyNpbmNsdWRlICJiaWYvYmlmXzVfMF9zaF9tYXNrLmgi CisKKy8qIG1haWxib3ggbWVzc2FnZXMgcmVxdWVzdCAqLworZW51bSBpZGhfcmVxdWVzdCB7CisJ SURIX1JFUV9HUFVfSU5JVF9BQ0NFU1MJPSAxLAorCUlESF9SRUxfR1BVX0lOSVRfQUNDRVNTLAor CUlESF9SRVFfR1BVX0ZJTklfQUNDRVNTLAorCUlESF9SRUxfR1BVX0ZJTklfQUNDRVNTLAorCUlE SF9SRVFfR1BVX1JFU0VUX0FDQ0VTUworfTsKKworLyogbWFpbGJveCBtZXNzYWdlcyBkYXRhICov CitlbnVtIGlkaF9ldmVudCB7CisJSURIX0NMUl9NU0dfQlVGID0gMCwKKwlJREhfUkVBRFlfVE9f QUNDRVNTX0dQVSwKKwlJREhfRkxSX05PVElGSUNBVElPTiwKKwlJREhfRkxSX05PVElGSUNBVElP Tl9DTVBMCit9OworCisvKiBtYWlsYm94IHN0YXRlICovCitlbnVtIG1haWxfc3RhdGUgeworCUFN REdQVV9TVEFSVF9JTklUID0gMSwKKwlBTURHUFVfRU5EX0lOSVQsCisJQU1ER1BVX1NUQVJUX0ZJ TkksCisJQU1ER1BVX0VORF9GSU5JLAorfTsKKworLyoKKyAqIE1haWxib3ggY29tbXVuaWNhdGUg YmV0d2VlbiBQRiBhbmQgVkYKKyAqLworc3RhdGljIGludCB4Z3B1X3JlcXVlc3RfcmVnX2FjY2Vz cyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKKwkJCQkgICBlbnVtIG1haWxfc3RhdGUgc3Rh dGUpCit7CisJdTMyIHRlbXAsIHRpbWVvdXQgPSAxNTAwMDA7CisJdTMyIHJlcSA9IElESF9SRVFf R1BVX0lOSVRfQUNDRVNTOworCisJaWYgKHN0YXRlID09IEFNREdQVV9TVEFSVF9GSU5JKQorCQly ZXEgPSBJREhfUkVRX0dQVV9GSU5JX0FDQ0VTUzsKKwllbHNlIGlmIChzdGF0ZSAhPSBBTURHUFVf U1RBUlRfSU5JVCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlXUkVHMzIobW1NQUlMQk9YX01TR0JV Rl9UUk5fRFcwLCByZXEpOworCVdSRUczMihtbU1BSUxCT1hfQ09OVFJPTCwKKwkJCVJFR19TRVRf RklFTEQoUlJFRzMyKG1tTUFJTEJPWF9DT05UUk9MKSwKKwkJCU1BSUxCT1hfQ09OVFJPTCwgVFJO X01TR19WQUxJRCwJMSkpOworCisJLyogd2FpdCByZXNwb25kIGZyb20gUEYgKi8KKwl3aGlsZSAo dHJ1ZSkgeworCQl0ZW1wID0gUlJFRzMyKG1tTUFJTEJPWF9NU0dCVUZfUkNWX0RXMCk7CisJCWlm ICh0ZW1wID09IElESF9SRUFEWV9UT19BQ0NFU1NfR1BVKQorCQkJYnJlYWs7CisJCWlmICh0aW1l b3V0ID09IDApIHsKKwkJCXByX2VycigiYW1kZ3B1OiBWRiByZXF1ZXN0IEdQVSBhY2Nlc3MgZmFp bGVkKDB4JXgpIFwKKwkJCQlpbiBzdGF0ZSAlZFxuIiwgdGVtcCwgc3RhdGUpOworCQkJcmV0dXJu IC1FVElNRTsKKwkJfQorCQltc2xlZXAoMjApOworCQl0aW1lb3V0IC09IDIwOworCX0KKwlyZXR1 cm4gMDsKK30KKworc3RhdGljIGludCB4Z3B1X3JlbGVhc2VfcmVnX2FjY2VzcyhzdHJ1Y3QgYW1k Z3B1X2RldmljZSAqYWRldiwKKwkJCQkgICBlbnVtIG1haWxfc3RhdGUgc3RhdGUpCit7CisJdTMy IHJlbCA9IElESF9SRUxfR1BVX0lOSVRfQUNDRVNTOworCisJaWYgKHN0YXRlID09IEFNREdQVV9F TkRfRklOSSkKKwkJcmVsID0gSURIX1JFTF9HUFVfRklOSV9BQ0NFU1M7CisJZWxzZSBpZiAoc3Rh dGUgIT0gQU1ER1BVX0VORF9JTklUKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCVdSRUczMihtbU1B SUxCT1hfTVNHQlVGX1RSTl9EVzAsIHJlbCk7CisJV1JFRzMyKG1tTUFJTEJPWF9DT05UUk9MLAor CQlSRUdfU0VUX0ZJRUxEKFJSRUczMihtbU1BSUxCT1hfQ09OVFJPTCksCisJCQlNQUlMQk9YX0NP TlRST0wsIFRSTl9NU0dfVkFMSUQsCTEpKTsKKworCXJldHVybiAwOworfQorCitpbnQgeGdwdV9y ZXF1ZXN0X2Z1bGxfZ3B1X2FjY2VzcyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgYm9vbCBp bml0KQoreworCWludCByOworCisJaWYgKGluaXQpCisJCXIgPSB4Z3B1X3JlcXVlc3RfcmVnX2Fj Y2VzcyhhZGV2LCBBTURHUFVfU1RBUlRfSU5JVCk7CisJZWxzZQorCQlyID0geGdwdV9yZXF1ZXN0 X3JlZ19hY2Nlc3MoYWRldiwgQU1ER1BVX1NUQVJUX0ZJTkkpOworCisJcmV0dXJuIHI7Cit9CisK K2ludCB4Z3B1X3JlbGVhc2VfZnVsbF9ncHVfYWNjZXNzKHN0cnVjdCBhbWRncHVfZGV2aWNlICph ZGV2LCBib29sIGluaXQpCit7CisJaW50IHI7CisKKwlpZiAoaW5pdCkKKwkJciA9IHhncHVfcmVs ZWFzZV9yZWdfYWNjZXNzKGFkZXYsIEFNREdQVV9FTkRfSU5JVCk7CisJZWxzZQorCQlyID0geGdw dV9yZWxlYXNlX3JlZ19hY2Nlc3MoYWRldiwgQU1ER1BVX0VORF9GSU5JKTsKKworCXJldHVybiBy OworfQotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=