From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chunming Zhou Subject: [PATCH 1/2] drm/amdgpu: add amdgpu_bo_param Date: Mon, 16 Apr 2018 19:13:04 +0800 Message-ID: <20180416111305.640-1-david1.zhou@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: 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 Q2hhbmdlLUlkOiBJYjJhYTk4ZWUzN2E3MGYzY2IwZDYxZWVmMWQzMzZlODkxODc1NTRkNQpTaWdu ZWQtb2ZmLWJ5OiBDaHVubWluZyBaaG91IDxkYXZpZDEuemhvdUBhbWQuY29tPgotLS0KIGRyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9vYmplY3QuYyB8IDgxICsrKysrKysrKysrKysr KysrLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29iamVj dC5oIHwgIDkgKysrKwogMiBmaWxlcyBjaGFuZ2VkLCA1NCBpbnNlcnRpb25zKCspLCAzNiBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf b2JqZWN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmMKaW5k ZXggYTE2MGVmMDMzMmQ2Li5iNTU3YjYzYmI2NDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV9vYmplY3QuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hbWRncHVfb2JqZWN0LmMKQEAgLTM0MSwyOCArMzQxLDI2IEBAIHN0YXRpYyBib29sIGFt ZGdwdV9ib192YWxpZGF0ZV9zaXplKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAogCXJldHVy biBmYWxzZTsKIH0KIAotc3RhdGljIGludCBhbWRncHVfYm9fZG9fY3JlYXRlKHN0cnVjdCBhbWRn cHVfZGV2aWNlICphZGV2LCB1bnNpZ25lZCBsb25nIHNpemUsCi0JCQkgICAgICAgaW50IGJ5dGVf YWxpZ24sIHUzMiBkb21haW4sCi0JCQkgICAgICAgdTY0IGZsYWdzLCBlbnVtIHR0bV9ib190eXBl IHR5cGUsCi0JCQkgICAgICAgc3RydWN0IHJlc2VydmF0aW9uX29iamVjdCAqcmVzdiwKK3N0YXRp YyBpbnQgYW1kZ3B1X2JvX2RvX2NyZWF0ZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKKwkJ CSAgICAgICBzdHJ1Y3QgYW1kZ3B1X2JvX3BhcmFtICpicCwKIAkJCSAgICAgICBzdHJ1Y3QgYW1k Z3B1X2JvICoqYm9fcHRyKQogewogCXN0cnVjdCB0dG1fb3BlcmF0aW9uX2N0eCBjdHggPSB7Ci0J CS5pbnRlcnJ1cHRpYmxlID0gKHR5cGUgIT0gdHRtX2JvX3R5cGVfa2VybmVsKSwKKwkJLmludGVy cnVwdGlibGUgPSAoYnAtPnR5cGUgIT0gdHRtX2JvX3R5cGVfa2VybmVsKSwKIAkJLm5vX3dhaXRf Z3B1ID0gZmFsc2UsCi0JCS5yZXN2ID0gcmVzdiwKKwkJLnJlc3YgPSBicC0+cmVzdiwKIAkJLmZs YWdzID0gVFRNX09QVF9GTEFHX0FMTE9XX1JFU19FVklDVAogCX07CiAJc3RydWN0IGFtZGdwdV9i byAqYm87Ci0JdW5zaWduZWQgbG9uZyBwYWdlX2FsaWduOworCXVuc2lnbmVkIGxvbmcgcGFnZV9h bGlnbiwgc2l6ZSA9IGJwLT5zaXplOwogCXNpemVfdCBhY2Nfc2l6ZTsKIAl1MzIgZG9tYWlucywg cHJlZmVycmVkX2RvbWFpbnMsIGFsbG93ZWRfZG9tYWluczsKIAlpbnQgcjsKIAotCXBhZ2VfYWxp Z24gPSByb3VuZHVwKGJ5dGVfYWxpZ24sIFBBR0VfU0laRSkgPj4gUEFHRV9TSElGVDsKKwlwYWdl X2FsaWduID0gcm91bmR1cChicC0+Ynl0ZV9hbGlnbiwgUEFHRV9TSVpFKSA+PiBQQUdFX1NISUZU OwogCXNpemUgPSBBTElHTihzaXplLCBQQUdFX1NJWkUpOwogCi0JaWYgKCFhbWRncHVfYm9fdmFs aWRhdGVfc2l6ZShhZGV2LCBzaXplLCBkb21haW4pKQorCWlmICghYW1kZ3B1X2JvX3ZhbGlkYXRl X3NpemUoYWRldiwgc2l6ZSwgYnAtPmRvbWFpbikpCiAJCXJldHVybiAtRU5PTUVNOwogCiAJKmJv X3B0ciA9IE5VTEw7CkBAIC0zNzAsMTQgKzM2OCwxNCBAQCBzdGF0aWMgaW50IGFtZGdwdV9ib19k b19jcmVhdGUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHVuc2lnbmVkIGxvbmcgc2l6ZSwK IAlhY2Nfc2l6ZSA9IHR0bV9ib19kbWFfYWNjX3NpemUoJmFkZXYtPm1tYW4uYmRldiwgc2l6ZSwK IAkJCQkgICAgICAgc2l6ZW9mKHN0cnVjdCBhbWRncHVfYm8pKTsKIAotCXByZWZlcnJlZF9kb21h aW5zID0gZG9tYWluICYgKEFNREdQVV9HRU1fRE9NQUlOX1ZSQU0gfAotCQkJCSAgICAgIEFNREdQ VV9HRU1fRE9NQUlOX0dUVCB8Ci0JCQkJICAgICAgQU1ER1BVX0dFTV9ET01BSU5fQ1BVIHwKLQkJ CQkgICAgICBBTURHUFVfR0VNX0RPTUFJTl9HRFMgfAotCQkJCSAgICAgIEFNREdQVV9HRU1fRE9N QUlOX0dXUyB8Ci0JCQkJICAgICAgQU1ER1BVX0dFTV9ET01BSU5fT0EpOworCXByZWZlcnJlZF9k b21haW5zID0gYnAtPmRvbWFpbiAmIChBTURHUFVfR0VNX0RPTUFJTl9WUkFNIHwKKwkJCQkJICBB TURHUFVfR0VNX0RPTUFJTl9HVFQgfAorCQkJCQkgIEFNREdQVV9HRU1fRE9NQUlOX0NQVSB8CisJ CQkJCSAgQU1ER1BVX0dFTV9ET01BSU5fR0RTIHwKKwkJCQkJICBBTURHUFVfR0VNX0RPTUFJTl9H V1MgfAorCQkJCQkgIEFNREdQVV9HRU1fRE9NQUlOX09BKTsKIAlhbGxvd2VkX2RvbWFpbnMgPSBw cmVmZXJyZWRfZG9tYWluczsKLQlpZiAodHlwZSAhPSB0dG1fYm9fdHlwZV9rZXJuZWwgJiYKKwlp ZiAoYnAtPnR5cGUgIT0gdHRtX2JvX3R5cGVfa2VybmVsICYmCiAJICAgIGFsbG93ZWRfZG9tYWlu cyA9PSBBTURHUFVfR0VNX0RPTUFJTl9WUkFNKQogCQlhbGxvd2VkX2RvbWFpbnMgfD0gQU1ER1BV X0dFTV9ET01BSU5fR1RUOwogCWRvbWFpbnMgPSBwcmVmZXJyZWRfZG9tYWluczsKQEAgLTM5MSw3 ICszODksNyBAQCBzdGF0aWMgaW50IGFtZGdwdV9ib19kb19jcmVhdGUoc3RydWN0IGFtZGdwdV9k ZXZpY2UgKmFkZXYsIHVuc2lnbmVkIGxvbmcgc2l6ZSwKIAliby0+cHJlZmVycmVkX2RvbWFpbnMg PSBwcmVmZXJyZWRfZG9tYWluczsKIAliby0+YWxsb3dlZF9kb21haW5zID0gYWxsb3dlZF9kb21h aW5zOwogCi0JYm8tPmZsYWdzID0gZmxhZ3M7CisJYm8tPmZsYWdzID0gYnAtPmZsYWdzOwogCiAj aWZkZWYgQ09ORklHX1g4Nl8zMgogCS8qIFhYWDogV3JpdGUtY29tYmluZWQgQ1BVIG1hcHBpbmdz IG9mIEdUVCBzZWVtIGJyb2tlbiBvbiAzMi1iaXQKQEAgLTQyMywxMyArNDIxLDEzIEBAIHN0YXRp YyBpbnQgYW1kZ3B1X2JvX2RvX2NyZWF0ZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgdW5z aWduZWQgbG9uZyBzaXplLAogCiAJYm8tPnRiby5iZGV2ID0gJmFkZXYtPm1tYW4uYmRldjsKIAlh bWRncHVfdHRtX3BsYWNlbWVudF9mcm9tX2RvbWFpbihibywgZG9tYWlucyk7Ci0JciA9IHR0bV9i b19pbml0X3Jlc2VydmVkKCZhZGV2LT5tbWFuLmJkZXYsICZiby0+dGJvLCBzaXplLCB0eXBlLAor CXIgPSB0dG1fYm9faW5pdF9yZXNlcnZlZCgmYWRldi0+bW1hbi5iZGV2LCAmYm8tPnRibywgc2l6 ZSwgYnAtPnR5cGUsCiAJCQkJICZiby0+cGxhY2VtZW50LCBwYWdlX2FsaWduLCAmY3R4LCBhY2Nf c2l6ZSwKLQkJCQkgTlVMTCwgcmVzdiwgJmFtZGdwdV90dG1fYm9fZGVzdHJveSk7Ci0JaWYgKHVu bGlrZWx5KHIgJiYgciAhPSAtRVJFU1RBUlRTWVMpICYmIHR5cGUgPT0gdHRtX2JvX3R5cGVfZGV2 aWNlICYmCi0JICAgICEoZmxhZ3MgJiBBTURHUFVfR0VNX0NSRUFURV9OT19GQUxMQkFDSykpIHsK LQkJaWYgKGZsYWdzICYgQU1ER1BVX0dFTV9DUkVBVEVfQ1BVX0FDQ0VTU19SRVFVSVJFRCkgewot CQkJZmxhZ3MgJj0gfkFNREdQVV9HRU1fQ1JFQVRFX0NQVV9BQ0NFU1NfUkVRVUlSRUQ7CisJCQkJ IE5VTEwsIGJwLT5yZXN2LCAmYW1kZ3B1X3R0bV9ib19kZXN0cm95KTsKKwlpZiAodW5saWtlbHko ciAmJiByICE9IC1FUkVTVEFSVFNZUykgJiYgYnAtPnR5cGUgPT0gdHRtX2JvX3R5cGVfZGV2aWNl ICYmCisJICAgICEoYnAtPmZsYWdzICYgQU1ER1BVX0dFTV9DUkVBVEVfTk9fRkFMTEJBQ0spKSB7 CisJCWlmIChicC0+ZmxhZ3MgJiBBTURHUFVfR0VNX0NSRUFURV9DUFVfQUNDRVNTX1JFUVVJUkVE KSB7CisJCQlicC0+ZmxhZ3MgJj0gfkFNREdQVV9HRU1fQ1JFQVRFX0NQVV9BQ0NFU1NfUkVRVUlS RUQ7CiAJCQlnb3RvIHJldHJ5OwogCQl9IGVsc2UgaWYgKGRvbWFpbnMgIT0gYWxsb3dlZF9kb21h aW5zKSB7CiAJCQlkb21haW5zID0gYWxsb3dlZF9kb21haW5zOwpAQCAtNDQ3LDEwICs0NDUsMTAg QEAgc3RhdGljIGludCBhbWRncHVfYm9fZG9fY3JlYXRlKHN0cnVjdCBhbWRncHVfZGV2aWNlICph ZGV2LCB1bnNpZ25lZCBsb25nIHNpemUsCiAJZWxzZQogCQlhbWRncHVfY3NfcmVwb3J0X21vdmVk X2J5dGVzKGFkZXYsIGN0eC5ieXRlc19tb3ZlZCwgMCk7CiAKLQlpZiAodHlwZSA9PSB0dG1fYm9f dHlwZV9rZXJuZWwpCisJaWYgKGJwLT50eXBlID09IHR0bV9ib190eXBlX2tlcm5lbCkKIAkJYm8t PnRiby5wcmlvcml0eSA9IDE7CiAKLQlpZiAoZmxhZ3MgJiBBTURHUFVfR0VNX0NSRUFURV9WUkFN X0NMRUFSRUQgJiYKKwlpZiAoYnAtPmZsYWdzICYgQU1ER1BVX0dFTV9DUkVBVEVfVlJBTV9DTEVB UkVEICYmCiAJICAgIGJvLT50Ym8ubWVtLnBsYWNlbWVudCAmIFRUTV9QTF9GTEFHX1ZSQU0pIHsK IAkJc3RydWN0IGRtYV9mZW5jZSAqZmVuY2U7CiAKQEAgLTQ2MywyMCArNDYxLDIwIEBAIHN0YXRp YyBpbnQgYW1kZ3B1X2JvX2RvX2NyZWF0ZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgdW5z aWduZWQgbG9uZyBzaXplLAogCQliby0+dGJvLm1vdmluZyA9IGRtYV9mZW5jZV9nZXQoZmVuY2Up OwogCQlkbWFfZmVuY2VfcHV0KGZlbmNlKTsKIAl9Ci0JaWYgKCFyZXN2KQorCWlmICghYnAtPnJl c3YpCiAJCWFtZGdwdV9ib191bnJlc2VydmUoYm8pOwogCSpib19wdHIgPSBibzsKIAogCXRyYWNl X2FtZGdwdV9ib19jcmVhdGUoYm8pOwogCiAJLyogVHJlYXQgQ1BVX0FDQ0VTU19SRVFVSVJFRCBv bmx5IGFzIGEgaGludCBpZiBnaXZlbiBieSBVTUQgKi8KLQlpZiAodHlwZSA9PSB0dG1fYm9fdHlw ZV9kZXZpY2UpCisJaWYgKGJwLT50eXBlID09IHR0bV9ib190eXBlX2RldmljZSkKIAkJYm8tPmZs YWdzICY9IH5BTURHUFVfR0VNX0NSRUFURV9DUFVfQUNDRVNTX1JFUVVJUkVEOwogCiAJcmV0dXJu IDA7CiAKIGZhaWxfdW5yZXNlcnZlOgotCWlmICghcmVzdikKKwlpZiAoIWJwLT5yZXN2KQogCQl3 d19tdXRleF91bmxvY2soJmJvLT50Ym8ucmVzdi0+bG9jayk7CiAJYW1kZ3B1X2JvX3VucmVmKCZi byk7CiAJcmV0dXJuIHI7CkBAIC00ODYsMTYgKzQ4NCwyMSBAQCBzdGF0aWMgaW50IGFtZGdwdV9i b19jcmVhdGVfc2hhZG93KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAogCQkJCSAgIHVuc2ln bmVkIGxvbmcgc2l6ZSwgaW50IGJ5dGVfYWxpZ24sCiAJCQkJICAgc3RydWN0IGFtZGdwdV9ibyAq Ym8pCiB7CisJc3RydWN0IGFtZGdwdV9ib19wYXJhbSBicCA9IHsKKwkJLnNpemUgPSBzaXplLAor CQkuYnl0ZV9hbGlnbiA9IGJ5dGVfYWxpZ24sCisJCS5kb21haW4gPSBBTURHUFVfR0VNX0RPTUFJ Tl9HVFQsCisJCS5mbGFncyA9IEFNREdQVV9HRU1fQ1JFQVRFX0NQVV9HVFRfVVNXQyB8CisJCQlB TURHUFVfR0VNX0NSRUFURV9TSEFET1csCisJCS50eXBlID0gdHRtX2JvX3R5cGVfa2VybmVsLAor CQkucmVzdiA9IGJvLT50Ym8ucmVzdgorCX07CiAJaW50IHI7CiAKIAlpZiAoYm8tPnNoYWRvdykK IAkJcmV0dXJuIDA7CiAKLQlyID0gYW1kZ3B1X2JvX2RvX2NyZWF0ZShhZGV2LCBzaXplLCBieXRl X2FsaWduLCBBTURHUFVfR0VNX0RPTUFJTl9HVFQsCi0JCQkJQU1ER1BVX0dFTV9DUkVBVEVfQ1BV X0dUVF9VU1dDIHwKLQkJCQlBTURHUFVfR0VNX0NSRUFURV9TSEFET1csCi0JCQkJdHRtX2JvX3R5 cGVfa2VybmVsLAotCQkJCWJvLT50Ym8ucmVzdiwgJmJvLT5zaGFkb3cpOworCXIgPSBhbWRncHVf Ym9fZG9fY3JlYXRlKGFkZXYsICZicCwgJmJvLT5zaGFkb3cpOwogCWlmICghcikgewogCQliby0+ c2hhZG93LT5wYXJlbnQgPSBhbWRncHVfYm9fcmVmKGJvKTsKIAkJbXV0ZXhfbG9jaygmYWRldi0+ c2hhZG93X2xpc3RfbG9jayk7CkBAIC01MTIsMTEgKzUxNSwxNyBAQCBpbnQgYW1kZ3B1X2JvX2Ny ZWF0ZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgdW5zaWduZWQgbG9uZyBzaXplLAogCQkg ICAgIHN0cnVjdCByZXNlcnZhdGlvbl9vYmplY3QgKnJlc3YsCiAJCSAgICAgc3RydWN0IGFtZGdw dV9ibyAqKmJvX3B0cikKIHsKLQl1aW50NjRfdCBwYXJlbnRfZmxhZ3MgPSBmbGFncyAmIH5BTURH UFVfR0VNX0NSRUFURV9TSEFET1c7CisJc3RydWN0IGFtZGdwdV9ib19wYXJhbSBicCA9IHsKKwkJ LnNpemUgPSBzaXplLAorCQkuYnl0ZV9hbGlnbiA9IGJ5dGVfYWxpZ24sCisJCS5kb21haW4gPSBk b21haW4sCisJCS5mbGFncyA9IGZsYWdzICYgfkFNREdQVV9HRU1fQ1JFQVRFX1NIQURPVywKKwkJ LnR5cGUgPSB0eXBlLAorCQkucmVzdiA9IHJlc3YKKwl9OwogCWludCByOwogCi0JciA9IGFtZGdw dV9ib19kb19jcmVhdGUoYWRldiwgc2l6ZSwgYnl0ZV9hbGlnbiwgZG9tYWluLAotCQkJCXBhcmVu dF9mbGFncywgdHlwZSwgcmVzdiwgYm9fcHRyKTsKKwlyID0gYW1kZ3B1X2JvX2RvX2NyZWF0ZShh ZGV2LCAmYnAsIGJvX3B0cik7CiAJaWYgKHIpCiAJCXJldHVybiByOwogCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmggYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmgKaW5kZXggMWU5ZmU4NWFiY2JiLi40YmI2ZjBh OGQ3OTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9vYmpl Y3QuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmgKQEAg LTMzLDYgKzMzLDE1IEBACiAKICNkZWZpbmUgQU1ER1BVX0JPX0lOVkFMSURfT0ZGU0VUCUxPTkdf TUFYCiAKK3N0cnVjdCBhbWRncHVfYm9fcGFyYW0geworCXVuc2lnbmVkIGxvbmcJCQlzaXplOwor CWludAkJCQlieXRlX2FsaWduOworCXUzMgkJCQlkb21haW47CisJdTY0CQkJCWZsYWdzOworCWVu dW0gdHRtX2JvX3R5cGUJCXR5cGU7CisJc3RydWN0IHJlc2VydmF0aW9uX29iamVjdAkqcmVzdjsK K307CisKIC8qIGJvIHZpcnR1YWwgYWRkcmVzc2VzIGluIGEgdm0gKi8KIHN0cnVjdCBhbWRncHVf Ym9fdmFfbWFwcGluZyB7CiAJc3RydWN0IGFtZGdwdV9ib192YQkJKmJvX3ZhOwotLSAKMi4xNC4x CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4 IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK