From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chunming Zhou Subject: [PATCH 1/2] drm/amdgpu: add amdgpu_bo_param Date: Tue, 17 Apr 2018 13:54:05 +0800 Message-ID: <20180417055406.19902-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 YW1kZ3B1X2JvX2NyZWF0ZSBoYXMgdG9vIG1hbnkgcGFyYW1ldGVycywgYW5kIHVzZWQgaW4KdG9v IG1hbnkgcGxhY2VzLiBDb2xsZWN0IHRoZW0gdG8gb25lIHN0cnVjdHVyZS4KCkNoYW5nZS1JZDog SWIyYWE5OGVlMzdhNzBmM2NiMGQ2MWVlZjFkMzM2ZTg5MTg3NTU0ZDUKU2lnbmVkLW9mZi1ieTog Q2h1bm1pbmcgWmhvdSA8ZGF2aWQxLnpob3VAYW1kLmNvbT4KUmV2aWV3ZWQtYnk6IEh1YW5nIFJ1 aSA8cmF5Lmh1YW5nQGFtZC5jb20+ClJldmlld2VkLWJ5OiBDaHJpc3RpYW4gS8O2bmlnIDxjaHJp c3RpYW4ua29lbmlnQGFtZC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1X29iamVjdC5jIHwgNzUgKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tCiBkcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmggfCAgOSArKysrCiAyIGZpbGVzIGNo YW5nZWQsIDUxIGluc2VydGlvbnMoKyksIDMzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9vYmplY3QuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV9vYmplY3QuYwppbmRleCAyNGY1ODJjNjk2Y2MuLmIzM2E3ZmRl YTdmMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29iamVj dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9vYmplY3QuYwpAQCAt MzQxLDI3ICszNDEsMjUgQEAgc3RhdGljIGJvb2wgYW1kZ3B1X2JvX3ZhbGlkYXRlX3NpemUoc3Ry dWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJcmV0dXJuIGZhbHNlOwogfQogCi1zdGF0aWMgaW50 IGFtZGdwdV9ib19kb19jcmVhdGUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHVuc2lnbmVk IGxvbmcgc2l6ZSwKLQkJCSAgICAgICBpbnQgYnl0ZV9hbGlnbiwgdTMyIGRvbWFpbiwKLQkJCSAg ICAgICB1NjQgZmxhZ3MsIGVudW0gdHRtX2JvX3R5cGUgdHlwZSwKLQkJCSAgICAgICBzdHJ1Y3Qg cmVzZXJ2YXRpb25fb2JqZWN0ICpyZXN2LAorc3RhdGljIGludCBhbWRncHVfYm9fZG9fY3JlYXRl KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAorCQkJICAgICAgIHN0cnVjdCBhbWRncHVfYm9f cGFyYW0gKmJwLAogCQkJICAgICAgIHN0cnVjdCBhbWRncHVfYm8gKipib19wdHIpCiB7CiAJc3Ry dWN0IHR0bV9vcGVyYXRpb25fY3R4IGN0eCA9IHsKLQkJLmludGVycnVwdGlibGUgPSAodHlwZSAh PSB0dG1fYm9fdHlwZV9rZXJuZWwpLAorCQkuaW50ZXJydXB0aWJsZSA9IChicC0+dHlwZSAhPSB0 dG1fYm9fdHlwZV9rZXJuZWwpLAogCQkubm9fd2FpdF9ncHUgPSBmYWxzZSwKLQkJLnJlc3YgPSBy ZXN2LAorCQkucmVzdiA9IGJwLT5yZXN2LAogCQkuZmxhZ3MgPSBUVE1fT1BUX0ZMQUdfQUxMT1df UkVTX0VWSUNUCiAJfTsKIAlzdHJ1Y3QgYW1kZ3B1X2JvICpibzsKLQl1bnNpZ25lZCBsb25nIHBh Z2VfYWxpZ247CisJdW5zaWduZWQgbG9uZyBwYWdlX2FsaWduLCBzaXplID0gYnAtPnNpemU7CiAJ c2l6ZV90IGFjY19zaXplOwogCWludCByOwogCi0JcGFnZV9hbGlnbiA9IHJvdW5kdXAoYnl0ZV9h bGlnbiwgUEFHRV9TSVpFKSA+PiBQQUdFX1NISUZUOworCXBhZ2VfYWxpZ24gPSByb3VuZHVwKGJw LT5ieXRlX2FsaWduLCBQQUdFX1NJWkUpID4+IFBBR0VfU0hJRlQ7CiAJc2l6ZSA9IEFMSUdOKHNp emUsIFBBR0VfU0laRSk7CiAKLQlpZiAoIWFtZGdwdV9ib192YWxpZGF0ZV9zaXplKGFkZXYsIHNp emUsIGRvbWFpbikpCisJaWYgKCFhbWRncHVfYm9fdmFsaWRhdGVfc2l6ZShhZGV2LCBzaXplLCBi cC0+ZG9tYWluKSkKIAkJcmV0dXJuIC1FTk9NRU07CiAKIAkqYm9fcHRyID0gTlVMTDsKQEAgLTM3 NSwxOCArMzczLDE4IEBAIHN0YXRpYyBpbnQgYW1kZ3B1X2JvX2RvX2NyZWF0ZShzdHJ1Y3QgYW1k Z3B1X2RldmljZSAqYWRldiwgdW5zaWduZWQgbG9uZyBzaXplLAogCWRybV9nZW1fcHJpdmF0ZV9v YmplY3RfaW5pdChhZGV2LT5kZGV2LCAmYm8tPmdlbV9iYXNlLCBzaXplKTsKIAlJTklUX0xJU1Rf SEVBRCgmYm8tPnNoYWRvd19saXN0KTsKIAlJTklUX0xJU1RfSEVBRCgmYm8tPnZhKTsKLQliby0+ cHJlZmVycmVkX2RvbWFpbnMgPSBkb21haW4gJiAoQU1ER1BVX0dFTV9ET01BSU5fVlJBTSB8Ci0J CQkJCSBBTURHUFVfR0VNX0RPTUFJTl9HVFQgfAotCQkJCQkgQU1ER1BVX0dFTV9ET01BSU5fQ1BV IHwKLQkJCQkJIEFNREdQVV9HRU1fRE9NQUlOX0dEUyB8Ci0JCQkJCSBBTURHUFVfR0VNX0RPTUFJ Tl9HV1MgfAotCQkJCQkgQU1ER1BVX0dFTV9ET01BSU5fT0EpOworCWJvLT5wcmVmZXJyZWRfZG9t YWlucyA9IGJwLT5kb21haW4gJiAoQU1ER1BVX0dFTV9ET01BSU5fVlJBTSB8CisJCQkJCSAgICAg IEFNREdQVV9HRU1fRE9NQUlOX0dUVCB8CisJCQkJCSAgICAgIEFNREdQVV9HRU1fRE9NQUlOX0NQ VSB8CisJCQkJCSAgICAgIEFNREdQVV9HRU1fRE9NQUlOX0dEUyB8CisJCQkJCSAgICAgIEFNREdQ VV9HRU1fRE9NQUlOX0dXUyB8CisJCQkJCSAgICAgIEFNREdQVV9HRU1fRE9NQUlOX09BKTsKIAli by0+YWxsb3dlZF9kb21haW5zID0gYm8tPnByZWZlcnJlZF9kb21haW5zOwotCWlmICh0eXBlICE9 IHR0bV9ib190eXBlX2tlcm5lbCAmJgorCWlmIChicC0+dHlwZSAhPSB0dG1fYm9fdHlwZV9rZXJu ZWwgJiYKIAkgICAgYm8tPmFsbG93ZWRfZG9tYWlucyA9PSBBTURHUFVfR0VNX0RPTUFJTl9WUkFN KQogCQliby0+YWxsb3dlZF9kb21haW5zIHw9IEFNREdQVV9HRU1fRE9NQUlOX0dUVDsKIAotCWJv LT5mbGFncyA9IGZsYWdzOworCWJvLT5mbGFncyA9IGJwLT5mbGFnczsKIAogI2lmZGVmIENPTkZJ R19YODZfMzIKIAkvKiBYWFg6IFdyaXRlLWNvbWJpbmVkIENQVSBtYXBwaW5ncyBvZiBHVFQgc2Vl bSBicm9rZW4gb24gMzItYml0CkBAIC00MTcsMTEgKzQxNSwxMSBAQCBzdGF0aWMgaW50IGFtZGdw dV9ib19kb19jcmVhdGUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHVuc2lnbmVkIGxvbmcg c2l6ZSwKICNlbmRpZgogCiAJYm8tPnRiby5iZGV2ID0gJmFkZXYtPm1tYW4uYmRldjsKLQlhbWRn cHVfdHRtX3BsYWNlbWVudF9mcm9tX2RvbWFpbihibywgZG9tYWluKTsKKwlhbWRncHVfdHRtX3Bs YWNlbWVudF9mcm9tX2RvbWFpbihibywgYnAtPmRvbWFpbik7CiAKLQlyID0gdHRtX2JvX2luaXRf cmVzZXJ2ZWQoJmFkZXYtPm1tYW4uYmRldiwgJmJvLT50Ym8sIHNpemUsIHR5cGUsCisJciA9IHR0 bV9ib19pbml0X3Jlc2VydmVkKCZhZGV2LT5tbWFuLmJkZXYsICZiby0+dGJvLCBzaXplLCBicC0+ dHlwZSwKIAkJCQkgJmJvLT5wbGFjZW1lbnQsIHBhZ2VfYWxpZ24sICZjdHgsIGFjY19zaXplLAot CQkJCSBOVUxMLCByZXN2LCAmYW1kZ3B1X3R0bV9ib19kZXN0cm95KTsKKwkJCQkgTlVMTCwgYnAt PnJlc3YsICZhbWRncHVfdHRtX2JvX2Rlc3Ryb3kpOwogCWlmICh1bmxpa2VseShyICE9IDApKQog CQlyZXR1cm4gcjsKIApAQCAtNDMzLDEwICs0MzEsMTAgQEAgc3RhdGljIGludCBhbWRncHVfYm9f ZG9fY3JlYXRlKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCB1bnNpZ25lZCBsb25nIHNpemUs CiAJZWxzZQogCQlhbWRncHVfY3NfcmVwb3J0X21vdmVkX2J5dGVzKGFkZXYsIGN0eC5ieXRlc19t b3ZlZCwgMCk7CiAKLQlpZiAodHlwZSA9PSB0dG1fYm9fdHlwZV9rZXJuZWwpCisJaWYgKGJwLT50 eXBlID09IHR0bV9ib190eXBlX2tlcm5lbCkKIAkJYm8tPnRiby5wcmlvcml0eSA9IDE7CiAKLQlp ZiAoZmxhZ3MgJiBBTURHUFVfR0VNX0NSRUFURV9WUkFNX0NMRUFSRUQgJiYKKwlpZiAoYnAtPmZs YWdzICYgQU1ER1BVX0dFTV9DUkVBVEVfVlJBTV9DTEVBUkVEICYmCiAJICAgIGJvLT50Ym8ubWVt LnBsYWNlbWVudCAmIFRUTV9QTF9GTEFHX1ZSQU0pIHsKIAkJc3RydWN0IGRtYV9mZW5jZSAqZmVu Y2U7CiAKQEAgLTQ0OSwyMCArNDQ3LDIwIEBAIHN0YXRpYyBpbnQgYW1kZ3B1X2JvX2RvX2NyZWF0 ZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgdW5zaWduZWQgbG9uZyBzaXplLAogCQliby0+ dGJvLm1vdmluZyA9IGRtYV9mZW5jZV9nZXQoZmVuY2UpOwogCQlkbWFfZmVuY2VfcHV0KGZlbmNl KTsKIAl9Ci0JaWYgKCFyZXN2KQorCWlmICghYnAtPnJlc3YpCiAJCWFtZGdwdV9ib191bnJlc2Vy dmUoYm8pOwogCSpib19wdHIgPSBibzsKIAogCXRyYWNlX2FtZGdwdV9ib19jcmVhdGUoYm8pOwog CiAJLyogVHJlYXQgQ1BVX0FDQ0VTU19SRVFVSVJFRCBvbmx5IGFzIGEgaGludCBpZiBnaXZlbiBi eSBVTUQgKi8KLQlpZiAodHlwZSA9PSB0dG1fYm9fdHlwZV9kZXZpY2UpCisJaWYgKGJwLT50eXBl ID09IHR0bV9ib190eXBlX2RldmljZSkKIAkJYm8tPmZsYWdzICY9IH5BTURHUFVfR0VNX0NSRUFU RV9DUFVfQUNDRVNTX1JFUVVJUkVEOwogCiAJcmV0dXJuIDA7CiAKIGZhaWxfdW5yZXNlcnZlOgot CWlmICghcmVzdikKKwlpZiAoIWJwLT5yZXN2KQogCQl3d19tdXRleF91bmxvY2soJmJvLT50Ym8u cmVzdi0+bG9jayk7CiAJYW1kZ3B1X2JvX3VucmVmKCZibyk7CiAJcmV0dXJuIHI7CkBAIC00NzIs MTYgKzQ3MCwyMSBAQCBzdGF0aWMgaW50IGFtZGdwdV9ib19jcmVhdGVfc2hhZG93KHN0cnVjdCBh bWRncHVfZGV2aWNlICphZGV2LAogCQkJCSAgIHVuc2lnbmVkIGxvbmcgc2l6ZSwgaW50IGJ5dGVf YWxpZ24sCiAJCQkJICAgc3RydWN0IGFtZGdwdV9ibyAqYm8pCiB7CisJc3RydWN0IGFtZGdwdV9i b19wYXJhbSBicCA9IHsKKwkJLnNpemUgPSBzaXplLAorCQkuYnl0ZV9hbGlnbiA9IGJ5dGVfYWxp Z24sCisJCS5kb21haW4gPSBBTURHUFVfR0VNX0RPTUFJTl9HVFQsCisJCS5mbGFncyA9IEFNREdQ VV9HRU1fQ1JFQVRFX0NQVV9HVFRfVVNXQyB8CisJCQlBTURHUFVfR0VNX0NSRUFURV9TSEFET1cs CisJCS50eXBlID0gdHRtX2JvX3R5cGVfa2VybmVsLAorCQkucmVzdiA9IGJvLT50Ym8ucmVzdgor CX07CiAJaW50IHI7CiAKIAlpZiAoYm8tPnNoYWRvdykKIAkJcmV0dXJuIDA7CiAKLQlyID0gYW1k Z3B1X2JvX2RvX2NyZWF0ZShhZGV2LCBzaXplLCBieXRlX2FsaWduLCBBTURHUFVfR0VNX0RPTUFJ Tl9HVFQsCi0JCQkJQU1ER1BVX0dFTV9DUkVBVEVfQ1BVX0dUVF9VU1dDIHwKLQkJCQlBTURHUFVf R0VNX0NSRUFURV9TSEFET1csCi0JCQkJdHRtX2JvX3R5cGVfa2VybmVsLAotCQkJCWJvLT50Ym8u cmVzdiwgJmJvLT5zaGFkb3cpOworCXIgPSBhbWRncHVfYm9fZG9fY3JlYXRlKGFkZXYsICZicCwg JmJvLT5zaGFkb3cpOwogCWlmICghcikgewogCQliby0+c2hhZG93LT5wYXJlbnQgPSBhbWRncHVf Ym9fcmVmKGJvKTsKIAkJbXV0ZXhfbG9jaygmYWRldi0+c2hhZG93X2xpc3RfbG9jayk7CkBAIC00 OTgsMTEgKzUwMSwxNyBAQCBpbnQgYW1kZ3B1X2JvX2NyZWF0ZShzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldiwgdW5zaWduZWQgbG9uZyBzaXplLAogCQkgICAgIHN0cnVjdCByZXNlcnZhdGlvbl9v YmplY3QgKnJlc3YsCiAJCSAgICAgc3RydWN0IGFtZGdwdV9ibyAqKmJvX3B0cikKIHsKLQl1aW50 NjRfdCBwYXJlbnRfZmxhZ3MgPSBmbGFncyAmIH5BTURHUFVfR0VNX0NSRUFURV9TSEFET1c7CisJ c3RydWN0IGFtZGdwdV9ib19wYXJhbSBicCA9IHsKKwkJLnNpemUgPSBzaXplLAorCQkuYnl0ZV9h bGlnbiA9IGJ5dGVfYWxpZ24sCisJCS5kb21haW4gPSBkb21haW4sCisJCS5mbGFncyA9IGZsYWdz ICYgfkFNREdQVV9HRU1fQ1JFQVRFX1NIQURPVywKKwkJLnR5cGUgPSB0eXBlLAorCQkucmVzdiA9 IHJlc3YKKwl9OwogCWludCByOwogCi0JciA9IGFtZGdwdV9ib19kb19jcmVhdGUoYWRldiwgc2l6 ZSwgYnl0ZV9hbGlnbiwgZG9tYWluLAotCQkJCXBhcmVudF9mbGFncywgdHlwZSwgcmVzdiwgYm9f cHRyKTsKKwlyID0gYW1kZ3B1X2JvX2RvX2NyZWF0ZShhZGV2LCAmYnAsIGJvX3B0cik7CiAJaWYg KHIpCiAJCXJldHVybiByOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfb2JqZWN0LmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfb2Jq ZWN0LmgKaW5kZXggMWU5ZmU4NWFiY2JiLi40YmI2ZjBhOGQ3OTkgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9vYmplY3QuaAorKysgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmgKQEAgLTMzLDYgKzMzLDE1IEBACiAKICNkZWZp bmUgQU1ER1BVX0JPX0lOVkFMSURfT0ZGU0VUCUxPTkdfTUFYCiAKK3N0cnVjdCBhbWRncHVfYm9f cGFyYW0geworCXVuc2lnbmVkIGxvbmcJCQlzaXplOworCWludAkJCQlieXRlX2FsaWduOworCXUz MgkJCQlkb21haW47CisJdTY0CQkJCWZsYWdzOworCWVudW0gdHRtX2JvX3R5cGUJCXR5cGU7CisJ c3RydWN0IHJlc2VydmF0aW9uX29iamVjdAkqcmVzdjsKK307CisKIC8qIGJvIHZpcnR1YWwgYWRk cmVzc2VzIGluIGEgdm0gKi8KIHN0cnVjdCBhbWRncHVfYm9fdmFfbWFwcGluZyB7CiAJc3RydWN0 IGFtZGdwdV9ib192YQkJKmJvX3ZhOwotLSAKMi4xNC4xCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2FtZC1nZngK