From: Horace Chen Subject: [PATCH 1/2] drm/amdgpu: add functions to create bo at the specified position Date: Thu, 28 Sep 2017 16:36:30 +0800 Message-ID: <1506587791-6549-1-git-send-email-horace.chen@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: Alexander.Deucher-5C7GfCeVMHo@public.gmane.org, Horace Chen QWRkIHR3byBmdW5jdGlvbiB0byBjcmVhdGUgYW5kIGZyZWUgYm8gYXQgdGhlIHNwZWNpZmllZCBw b3NpdGlvbgpvbiB0aGUgVlJBTS4KCkFkZCBhIG5ldyBwYXJhbWV0ZXIgdG8gYW1kZ3B1X2JvX2Rv X2NyZWF0ZSB0byB0ZWxsIHRoZSBzdGFydAphZGRyZXNzIG9mIHRoZSBzcGVjaWFsIGJvLiBJZiB0 aGUgc3RhcnQgYWRkcmVzcyBpcyBsb2NhdGVkIGluCnRoZSBHUFUgTUMgYWRkcmVzcyBzcGFjZSwg dGhlIHBsYWNlbWVudCB3aWxsIGJlIHNldCB0byB0aGUgZXhhY3QKcGxhY2UgYWNjb3JkaW5nIHRv IHRoZSBzaXplIGFuZCBzdGFydCBhZGRyZXNzLiBPdGhlcndpc2UgdGhlIHN0YXJ0CmFkZHJlc3Mg d2lsbCBiZSBpbmdvcmVkLgoKU2lnbmVkLW9mZi1ieTogSG9yYWNlIENoZW4gPGhvcmFjZS5jaGVu QGFtZC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29iamVjdC5j IHwgMTI5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystCiBkcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfb2JqZWN0LmggfCAgIDYgKysKIDIgZmlsZXMgY2hhbmdlZCwgMTMzIGlu c2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X29iamVjdC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X29iamVjdC5jCmluZGV4IDY5ODJiYWUuLjA2OTUxNjAgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9vYmplY3QuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmMKQEAgLTI4NCw2ICsyODQsNyBAQCB2b2lkIGFt ZGdwdV9ib19mcmVlX2tlcm5lbChzdHJ1Y3QgYW1kZ3B1X2JvICoqYm8sIHU2NCAqZ3B1X2FkZHIs CiB9CiAKIHN0YXRpYyBpbnQgYW1kZ3B1X2JvX2RvX2NyZWF0ZShzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldiwKKwkJCSAgICAgICB1NjQgc3RhcnRfYWRkciwKIAkJCSAgICAgICB1bnNpZ25lZCBs b25nIHNpemUsIGludCBieXRlX2FsaWduLAogCQkJICAgICAgIGJvb2wga2VybmVsLCB1MzIgZG9t YWluLCB1NjQgZmxhZ3MsCiAJCQkgICAgICAgc3RydWN0IHNnX3RhYmxlICpzZywKQEAgLTI5Nyw5 ICsyOTgsMTIgQEAgc3RhdGljIGludCBhbWRncHVfYm9fZG9fY3JlYXRlKHN0cnVjdCBhbWRncHVf ZGV2aWNlICphZGV2LAogCXU2NCBpbml0aWFsX2J5dGVzX21vdmVkLCBieXRlc19tb3ZlZDsKIAlz aXplX3QgYWNjX3NpemU7CiAJaW50IHI7CisJaW50IGk7CisJYm9vbCB2cmFtX3Jlc3RyaWN0ZWQg PSBmYWxzZTsKIAogCXBhZ2VfYWxpZ24gPSByb3VuZHVwKGJ5dGVfYWxpZ24sIFBBR0VfU0laRSkg Pj4gUEFHRV9TSElGVDsKIAlzaXplID0gQUxJR04oc2l6ZSwgUEFHRV9TSVpFKTsKKwlzdGFydF9h ZGRyID0gQUxJR04oc3RhcnRfYWRkciwgUEFHRV9TSVpFKTsKIAogCWlmIChrZXJuZWwpIHsKIAkJ dHlwZSA9IHR0bV9ib190eXBlX2tlcm5lbDsKQEAgLTM2Niw2ICszNzAsMzIgQEAgc3RhdGljIGlu dCBhbWRncHVfYm9fZG9fY3JlYXRlKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAogCWJvLT50 Ym8uYmRldiA9ICZhZGV2LT5tbWFuLmJkZXY7CiAJYW1kZ3B1X3R0bV9wbGFjZW1lbnRfZnJvbV9k b21haW4oYm8sIGRvbWFpbik7CiAKKwkvKgorCSAqIGlmIGRvbWFpbiBpcyBWUkFNICYmIHN0YXJ0 X2FkZHIgaW4gdnJhbSBhZGRyZXNzIHNwYWNlLAorCSAqIHNldCB0aGUgcGxhY2UgdG8gdGhlIHNw ZWNpZmllZCBwbGFjZQorCSAqLworCWlmICgoZG9tYWluID09IEFNREdQVV9HRU1fRE9NQUlOX1ZS QU0pICYmCisJICAgIHN0YXJ0X2FkZHIgPj0gYWRldi0+bWMudnJhbV9zdGFydCAmJgorCSAgICAo c3RhcnRfYWRkciArIHNpemUpIDwgYWRldi0+bWMudnJhbV9lbmQpIHsKKwkJc3RhcnRfYWRkciAt PSBhZGV2LT5tYy52cmFtX3N0YXJ0OworCQl2cmFtX3Jlc3RyaWN0ZWQgPSB0cnVlOworCX0gZWxz ZSBpZiAoKGRvbWFpbiA9PSBBTURHUFVfR0VNX0RPTUFJTl9HVFQpICYmCisJICAgIHN0YXJ0X2Fk ZHIgPj0gYWRldi0+bWMuZ2FydF9zdGFydCAmJgorCSAgICAoc3RhcnRfYWRkciArIHNpemUpIDwg YWRldi0+bWMuZ2FydF9lbmQpIHsKKwkJLyogaWYgaW4gZ2FydCBhZGRyZXNzIHNwYWNlICovCisJ CXN0YXJ0X2FkZHIgLT0gYWRldi0+bWMuZ2FydF9zdGFydDsKKwkJdnJhbV9yZXN0cmljdGVkID0g dHJ1ZTsKKwl9CisKKwlpZiAodnJhbV9yZXN0cmljdGVkKSB7CisJCWZvciAoaSA9IDA7IGkgPCBi by0+cGxhY2VtZW50Lm51bV9wbGFjZW1lbnQ7ICsraSkgeworCQkJYm8tPnBsYWNlbWVudHNbaV0u ZnBmbiA9CisJCQkJc3RhcnRfYWRkciA+PiBQQUdFX1NISUZUOworCQkJYm8tPnBsYWNlbWVudHNb aV0ubHBmbiA9CisJCQkJKHN0YXJ0X2FkZHIgKyBzaXplKSA+PiBQQUdFX1NISUZUOworCQl9CisJ fQorCiAJaW5pdGlhbF9ieXRlc19tb3ZlZCA9IGF0b21pYzY0X3JlYWQoJmFkZXYtPm51bV9ieXRl c19tb3ZlZCk7CiAJLyogS2VybmVsIGFsbG9jYXRpb24gYXJlIHVuaW50ZXJydXB0aWJsZSAqLwog CXIgPSB0dG1fYm9faW5pdF9yZXNlcnZlZCgmYWRldi0+bW1hbi5iZGV2LCAmYm8tPnRibywgc2l6 ZSwgdHlwZSwKQEAgLTQxOCw2ICs0NDgsMTAxIEBAIHN0YXRpYyBpbnQgYW1kZ3B1X2JvX2RvX2Ny ZWF0ZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIAlyZXR1cm4gcjsKIH0KIAorLyoqCisg KiBhbWRncHVfYm9fY3JlYXRlX3ZyYW1fcmVzdHJpY3RlZF9rZXJuZWwgLQorICogICAgY3JlYXRl IEJPIGF0IHRoZSBzcGVjaWZpZWQgcGxhY2Ugb24gdGhlIFZSQU0uCisgKgorICogQGFkZXY6IGFt ZGdwdSBkZXZpY2Ugb2JqZWN0CisgKiBAb2Zmc2V0OiBzdGFydCBvZmZzZXQgb2YgdGhlIG5ldyBC TworICogQHNpemU6IHNpemUgZm9yIHRoZSBuZXcgQk8KKyAqIEBieXRlX2FsaWduOiBhbGlnbm1l bnQgZm9yIHRoZSBuZXcgQk8KKyAqIEBmbGFnczogYWRkaXRpb24gZmxhZ3MgZm9yIHRoZSBCTwor ICogQGJvX3B0cjogcmVzdWx0aW5nIEJPCisgKiBAZ3B1X2FkZHI6IEdQVSBhZGRyIG9mIHRoZSBw aW5uZWQgQk8KKyAqIEBjcHVfYWRkcjogb3B0aW9uYWwgQ1BVIGFkZHJlc3MgbWFwcGluZworICoK KyAqIEFsbG9jYXRlcyBhbmQgcGlucyBhIEJPIGF0IHRoZSBzcGVjaWZpZWQgcGxhY2Ugb24gdGhl IFZSQU0uCisgKgorICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIGVycm9yIGNvZGUg b3RoZXJ3aXNlLgorICovCitpbnQgYW1kZ3B1X2JvX2NyZWF0ZV92cmFtX3Jlc3RyaWN0ZWRfa2Vy bmVsKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAorCQkgICAgIHU2NCBvZmZzZXQsIHVuc2ln bmVkIGxvbmcgc2l6ZSwgaW50IGJ5dGVfYWxpZ24sCisJCSAgICAgdTY0IGZsYWdzLCBzdHJ1Y3Qg YW1kZ3B1X2JvICoqYm9fcHRyLAorCQkgICAgIHU2NCAqZ3B1X2FkZHIsIHZvaWQgKipjcHVfYWRk cikKK3sKKwlpbnQgcjsKKwl1NjQgc3RhcnRfYWRkciA9IG9mZnNldCArIGFkZXYtPm1jLnZyYW1f c3RhcnQ7CisJLyogc3BlY2lmaWVkIG1lbW9yeSBtdXN0IGJlIGluIGNvbnRpZ3VvdXMqLworCWZs YWdzIHw9IEFNREdQVV9HRU1fQ1JFQVRFX1ZSQU1fQ09OVElHVU9VUzsKKworCXIgPSBhbWRncHVf Ym9fZG9fY3JlYXRlKGFkZXYsIHN0YXJ0X2FkZHIsIHNpemUsIGJ5dGVfYWxpZ24sIHRydWUsCisJ CUFNREdQVV9HRU1fRE9NQUlOX1ZSQU0sIGZsYWdzLCBOVUxMLCBOVUxMLCAwLCBib19wdHIpOwor CWlmIChyKQorCQlyZXR1cm4gcjsKKworCXIgPSBhbWRncHVfYm9fcmVzZXJ2ZSgqYm9fcHRyLCBm YWxzZSk7CisJaWYgKHIpCisJCWdvdG8gZXJyb3JfcmVzZXJ2ZTsKKwlyID0gYW1kZ3B1X2JvX3Bp bl9yZXN0cmljdGVkKCpib19wdHIsCisJCUFNREdQVV9HRU1fRE9NQUlOX1ZSQU0sIG9mZnNldCwg KG9mZnNldCArIHNpemUpLAorCQlncHVfYWRkcik7CisJaWYgKHIpCisJCWdvdG8gZXJyb3JfcGlu OworCWlmIChjcHVfYWRkcikgeworCQlyID0gYW1kZ3B1X2JvX2ttYXAoKmJvX3B0ciwKKwkJCQkJ Y3B1X2FkZHIpOworCQlpZiAocikKKwkJCWdvdG8gZXJyb3Jfa21hcDsKKwl9CisKKwlhbWRncHVf Ym9fdW5yZXNlcnZlKCpib19wdHIpOworCisJcmV0dXJuIHI7CitlcnJvcl9rbWFwOgorCWFtZGdw dV9ib191bnBpbigqYm9fcHRyKTsKK2Vycm9yX3BpbjoKKwlhbWRncHVfYm9fdW5yZXNlcnZlKCpi b19wdHIpOworZXJyb3JfcmVzZXJ2ZToKKwlhbWRncHVfYm9fdW5yZWYoYm9fcHRyKTsKKwlpZiAo Y3B1X2FkZHIpCisJCSpjcHVfYWRkciA9IE5VTEw7CisJaWYgKGdwdV9hZGRyKQorCQkqZ3B1X2Fk ZHIgPSAwOworCXJldHVybiByOworfQorCisvKioKKyAqIGFtZGdwdV9ib19mcmVlX3ZyYW1fcmVz dHJpY3RlZF9rZXJuZWwgLSBmcmVlIEJPIGZvciByZXN0cmljdGVkIHZyYW0KKyAqCisgKiBAYm86 IGFtZGdwdSBCTyB0byBmcmVlCisgKiBAZ3B1X2FkZHIgOiBncHUgYWRkcmVzcworICogQGNwdV9h ZGRyIDogY3B1IGFkZHJlc3MgaWYgbWFwcGVkCisgKgorICogdW5tYXBzIGFuZCB1bnBpbiBhIEJP IHdoaWNoIGNyZWF0ZWQgYnkKKyAqIGFtZGdwdV9ib19jcmVhdGVfdnJhbV9yZXN0cmljdGVkX2tl cm5lbC4KKyAqLwordm9pZCBhbWRncHVfYm9fZnJlZV92cmFtX3Jlc3RyaWN0ZWRfa2VybmVsKHN0 cnVjdCBhbWRncHVfYm8gKipibywgdTY0ICpncHVfYWRkciwKKwkJCSAgIHZvaWQgKipjcHVfYWRk cikKK3sKKwlpZiAoKmJvID09IE5VTEwpCisJCXJldHVybjsKKworCWlmIChsaWtlbHkoYW1kZ3B1 X2JvX3Jlc2VydmUoKmJvLCB0cnVlKSA9PSAwKSkgeworCQlpZiAoY3B1X2FkZHIpCisJCQlhbWRn cHVfYm9fa3VubWFwKCpibyk7CisJCWFtZGdwdV9ib191bnBpbigqYm8pOworCQlhbWRncHVfYm9f dW5yZXNlcnZlKCpibyk7CisJfQorCWFtZGdwdV9ib191bnJlZihibyk7CisKKwlpZiAoZ3B1X2Fk ZHIpCisJCSpncHVfYWRkciA9IDA7CisKKwlpZiAoY3B1X2FkZHIpCisJCSpjcHVfYWRkciA9IE5V TEw7Cit9CisKKwogc3RhdGljIGludCBhbWRncHVfYm9fY3JlYXRlX3NoYWRvdyhzdHJ1Y3QgYW1k Z3B1X2RldmljZSAqYWRldiwKIAkJCQkgICB1bnNpZ25lZCBsb25nIHNpemUsIGludCBieXRlX2Fs aWduLAogCQkJCSAgIHN0cnVjdCBhbWRncHVfYm8gKmJvKQpAQCAtNDI3LDcgKzU1Miw3IEBAIHN0 YXRpYyBpbnQgYW1kZ3B1X2JvX2NyZWF0ZV9zaGFkb3coc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFk ZXYsCiAJaWYgKGJvLT5zaGFkb3cpCiAJCXJldHVybiAwOwogCi0JciA9IGFtZGdwdV9ib19kb19j cmVhdGUoYWRldiwgc2l6ZSwgYnl0ZV9hbGlnbiwgdHJ1ZSwKKwlyID0gYW1kZ3B1X2JvX2RvX2Ny ZWF0ZShhZGV2LCAwLCBzaXplLCBieXRlX2FsaWduLCB0cnVlLAogCQkJCUFNREdQVV9HRU1fRE9N QUlOX0dUVCwKIAkJCQlBTURHUFVfR0VNX0NSRUFURV9DUFVfR1RUX1VTV0MgfAogCQkJCUFNREdQ VV9HRU1fQ1JFQVRFX1NIQURPVywKQEAgLTQ1Nyw3ICs1ODIsNyBAQCBpbnQgYW1kZ3B1X2JvX2Ny ZWF0ZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIAl1aW50NjRfdCBwYXJlbnRfZmxhZ3Mg PSBmbGFncyAmIH5BTURHUFVfR0VNX0NSRUFURV9TSEFET1c7CiAJaW50IHI7CiAKLQlyID0gYW1k Z3B1X2JvX2RvX2NyZWF0ZShhZGV2LCBzaXplLCBieXRlX2FsaWduLCBrZXJuZWwsIGRvbWFpbiwK KwlyID0gYW1kZ3B1X2JvX2RvX2NyZWF0ZShhZGV2LCAwLCBzaXplLCBieXRlX2FsaWduLCBrZXJu ZWwsIGRvbWFpbiwKIAkJCQlwYXJlbnRfZmxhZ3MsIHNnLCByZXN2LCBpbml0X3ZhbHVlLCBib19w dHIpOwogCWlmIChyKQogCQlyZXR1cm4gcjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV9vYmplY3QuaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV9vYmplY3QuaAppbmRleCAzOWI2YmY2Li4wZjM0YmE3NyAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29iamVjdC5oCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV9vYmplY3QuaApAQCAtMjA1LDYgKzIwNSwxMiBAQCBpbnQgYW1k Z3B1X2JvX2NyZWF0ZV9rZXJuZWwoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJCQkgICAg dTY0ICpncHVfYWRkciwgdm9pZCAqKmNwdV9hZGRyKTsKIHZvaWQgYW1kZ3B1X2JvX2ZyZWVfa2Vy bmVsKHN0cnVjdCBhbWRncHVfYm8gKipibywgdTY0ICpncHVfYWRkciwKIAkJCSAgIHZvaWQgKipj cHVfYWRkcik7CitpbnQgYW1kZ3B1X2JvX2NyZWF0ZV92cmFtX3Jlc3RyaWN0ZWRfa2VybmVsKHN0 cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAorCQkgICAgIHU2NCBvZmZzZXQsIHVuc2lnbmVkIGxv bmcgc2l6ZSwgaW50IGJ5dGVfYWxpZ24sCisJCSAgICAgdTY0IGZsYWdzLCBzdHJ1Y3QgYW1kZ3B1 X2JvICoqYm9fcHRyLAorCQkgICAgIHU2NCAqZ3B1X2FkZHIsIHZvaWQgKipjcHVfYWRkcik7Cit2 b2lkIGFtZGdwdV9ib19mcmVlX3ZyYW1fcmVzdHJpY3RlZF9rZXJuZWwoc3RydWN0IGFtZGdwdV9i byAqKmJvLCB1NjQgKmdwdV9hZGRyLAorCQkJICAgdm9pZCAqKmNwdV9hZGRyKTsKIGludCBhbWRn cHVfYm9fa21hcChzdHJ1Y3QgYW1kZ3B1X2JvICpibywgdm9pZCAqKnB0cik7CiB2b2lkICphbWRn cHVfYm9fa3B0cihzdHJ1Y3QgYW1kZ3B1X2JvICpibyk7CiB2b2lkIGFtZGdwdV9ib19rdW5tYXAo c3RydWN0IGFtZGdwdV9ibyAqYm8pOwotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vYW1kLWdmeAo=