From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Christian=20K=C3=B6nig?= Subject: [PATCH 8/9] drm/amdgpu: add support for per VM BOs Date: Fri, 25 Aug 2017 11:38:18 +0200 Message-ID: <1503653899-1781-8-git-send-email-deathsimple@vodafone.de> References: <1503653899-1781-1-git-send-email-deathsimple@vodafone.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1503653899-1781-1-git-send-email-deathsimple-ANTagKRnAhcb1SvskN2V4Q@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 RnJvbTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgoKUGVyIFZN IEJPcyBhcmUgaGFuZGxlZCBsaWtlIFZNIFBEcyBhbmQgUFRzLiBUaGV5IGFyZSBhbHdheXMgdmFs aWQgYW5kIGRvbid0Cm5lZWQgdG8gYmUgc3BlY2lmaWVkIGluIHRoZSBCTyBsaXN0cy4KClNpZ25l ZC1vZmYtYnk6IENocmlzdGlhbiBLw7ZuaWcgPGNocmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4KLS0t CiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYyB8ICAyICstCiBkcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uYyB8IDczICsrKysrKysrKysrKysrKysrKysr KysrKy0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5oIHwg IDUgKystCiAzIGZpbGVzIGNoYW5nZWQsIDU1IGluc2VydGlvbnMoKyksIDI1IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jcy5jIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMKaW5kZXggZjY4YWM1Ni4uNDhl MThjYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMKQEAgLTgxMyw3ICs4 MTMsNyBAQCBzdGF0aWMgaW50IGFtZGdwdV9ib192bV91cGRhdGVfcHRlKHN0cnVjdCBhbWRncHVf Y3NfcGFyc2VyICpwKQogCiAJfQogCi0JciA9IGFtZGdwdV92bV9jbGVhcl9tb3ZlZChhZGV2LCB2 bSwgJnAtPmpvYi0+c3luYyk7CisJciA9IGFtZGdwdV92bV9oYW5kbGVfbW92ZWQoYWRldiwgdm0s ICZwLT5qb2ItPnN5bmMpOwogCiAJaWYgKGFtZGdwdV92bV9kZWJ1ZyAmJiBwLT5ib19saXN0KSB7 CiAJCS8qIEludmFsaWRhdGUgYWxsIEJPcyB0byB0ZXN0IGZvciB1c2Vyc3BhY2UgYnVncyAqLwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uYwppbmRleCBiMDI0NTFmLi41YmM3OWM5 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uYwpAQCAtMTg5LDE0ICsxODks MTggQEAgaW50IGFtZGdwdV92bV92YWxpZGF0ZV9wdF9ib3Moc3RydWN0IGFtZGdwdV9kZXZpY2Ug KmFkZXYsIHN0cnVjdCBhbWRncHVfdm0gKnZtLAogCQkJc3Bpbl91bmxvY2soJmdsb2ItPmxydV9s b2NrKTsKIAkJfQogCi0JCWlmICh2bS0+dXNlX2NwdV9mb3JfdXBkYXRlKSB7CisJCWlmIChiby0+ dGJvLnR5cGUgPT0gdHRtX2JvX3R5cGVfa2VybmVsICYmCisJCSAgICB2bS0+dXNlX2NwdV9mb3Jf dXBkYXRlKSB7CiAJCQlyID0gYW1kZ3B1X2JvX2ttYXAoYm8sIE5VTEwpOwogCQkJaWYgKHIpCiAJ CQkJcmV0dXJuIHI7CiAJCX0KIAogCQlzcGluX2xvY2soJnZtLT5zdGF0dXNfbG9jayk7Ci0JCWxp c3RfbW92ZSgmYm9fYmFzZS0+dm1fc3RhdHVzLCAmdm0tPnJlbG9jYXRlZCk7CisJCWlmIChiby0+ dGJvLnR5cGUgIT0gdHRtX2JvX3R5cGVfa2VybmVsKQorCQkJbGlzdF9tb3ZlKCZib19iYXNlLT52 bV9zdGF0dXMsICZ2bS0+bW92ZWQpOworCQllbHNlCisJCQlsaXN0X21vdmUoJmJvX2Jhc2UtPnZt X3N0YXR1cywgJnZtLT5yZWxvY2F0ZWQpOwogCX0KIAlzcGluX3VubG9jaygmdm0tPnN0YXR1c19s b2NrKTsKIApAQCAtMTk5MiwyMCArMTk5NiwyMyBAQCBpbnQgYW1kZ3B1X3ZtX2NsZWFyX2ZyZWVk KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAogfQogCiAvKioKLSAqIGFtZGdwdV92bV9jbGVh cl9tb3ZlZCAtIGNsZWFyIG1vdmVkIEJPcyBpbiB0aGUgUFQKKyAqIGFtZGdwdV92bV9oYW5kbGVf bW92ZWQgLSBoYW5kbGUgbW92ZWQgQk9zIGluIHRoZSBQVAogICoKICAqIEBhZGV2OiBhbWRncHVf ZGV2aWNlIHBvaW50ZXIKICAqIEB2bTogcmVxdWVzdGVkIHZtCisgKiBAc3luYzogc3luYyBvYmpl Y3QgdG8gYWRkIGZlbmNlcyB0bwogICoKLSAqIE1ha2Ugc3VyZSBhbGwgbW92ZWQgQk9zIGFyZSBj bGVhcmVkIGluIHRoZSBQVC4KKyAqIE1ha2Ugc3VyZSBhbGwgQk9zIHdoaWNoIGFyZSBtb3ZlZCBh cmUgdXBkYXRlZCBpbiB0aGUgUFRzLgogICogUmV0dXJucyAwIGZvciBzdWNjZXNzLgogICoKLSAq IFBUcyBoYXZlIHRvIGJlIHJlc2VydmVkIGFuZCBtdXRleCBtdXN0IGJlIGxvY2tlZCEKKyAqIFBU cyBoYXZlIHRvIGJlIHJlc2VydmVkIQogICovCi1pbnQgYW1kZ3B1X3ZtX2NsZWFyX21vdmVkKHN0 cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCBzdHJ1Y3QgYW1kZ3B1X3ZtICp2bSwKLQkJCSAgICBz dHJ1Y3QgYW1kZ3B1X3N5bmMgKnN5bmMpCitpbnQgYW1kZ3B1X3ZtX2hhbmRsZV9tb3ZlZChzdHJ1 Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKKwkJCSAgIHN0cnVjdCBhbWRncHVfdm0gKnZtLAorCQkJ ICAgc3RydWN0IGFtZGdwdV9zeW5jICpzeW5jKQogewogCXN0cnVjdCBhbWRncHVfYm9fdmEgKmJv X3ZhID0gTlVMTDsKKwlib29sIGNsZWFyOwogCWludCByID0gMDsKIAogCXNwaW5fbG9jaygmdm0t PnN0YXR1c19sb2NrKTsKQEAgLTIwMTQsNyArMjAyMSwxMCBAQCBpbnQgYW1kZ3B1X3ZtX2NsZWFy X21vdmVkKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCBzdHJ1Y3QgYW1kZ3B1X3ZtICp2bSwK IAkJCXN0cnVjdCBhbWRncHVfYm9fdmEsIGJhc2Uudm1fc3RhdHVzKTsKIAkJc3Bpbl91bmxvY2so JnZtLT5zdGF0dXNfbG9jayk7CiAKLQkJciA9IGFtZGdwdV92bV9ib191cGRhdGUoYWRldiwgYm9f dmEsIHRydWUpOworCQkvKiBQZXIgVk0gQk9zIG5ldmVyIG5lZWQgdG8gYm8gY2xlYXJlZCBpbiB0 aGUgcGFnZSB0YWJsZXMgKi8KKwkJY2xlYXIgPSBib192YS0+YmFzZS5iby0+dGJvLnJlc3YgIT0g dm0tPnJvb3QuYmFzZS5iby0+dGJvLnJlc3Y7CisKKwkJciA9IGFtZGdwdV92bV9ib191cGRhdGUo YWRldiwgYm9fdmEsIGNsZWFyKTsKIAkJaWYgKHIpCiAJCQlyZXR1cm4gcjsKIApAQCAtMjA2Niw2 ICsyMDc2LDM3IEBAIHN0cnVjdCBhbWRncHVfYm9fdmEgKmFtZGdwdV92bV9ib19hZGQoc3RydWN0 IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJcmV0dXJuIGJvX3ZhOwogfQogCisKKy8qKgorICogYW1k Z3B1X3ZtX2JvX2luc2VydF9tYXBwaW5nIC0gaW5zZXJ0IGEgbmV3IG1hcHBpbmcKKyAqCisgKiBA YWRldjogYW1kZ3B1X2RldmljZSBwb2ludGVyCisgKiBAYm9fdmE6IGJvX3ZhIHRvIHN0b3JlIHRo ZSBhZGRyZXNzCisgKiBAbWFwcGluZzogdGhlIG1hcHBpbmcgdG8gaW5zZXJ0CisgKgorICogSW5z ZXJ0IGEgbmV3IG1hcHBpbmcgaW50byBhbGwgc3RydWN0dXJlcy4KKyAqLworc3RhdGljIHZvaWQg YW1kZ3B1X3ZtX2JvX2luc2VydF9tYXAoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCisJCQkJ ICAgIHN0cnVjdCBhbWRncHVfYm9fdmEgKmJvX3ZhLAorCQkJCSAgICBzdHJ1Y3QgYW1kZ3B1X2Jv X3ZhX21hcHBpbmcgKm1hcHBpbmcpCit7CisJc3RydWN0IGFtZGdwdV92bSAqdm0gPSBib192YS0+ YmFzZS52bTsKKwlzdHJ1Y3QgYW1kZ3B1X2JvICpibyA9IGJvX3ZhLT5iYXNlLmJvOworCisJbGlz dF9hZGQoJm1hcHBpbmctPmxpc3QsICZib192YS0+aW52YWxpZHMpOworCWFtZGdwdV92bV9pdF9p bnNlcnQobWFwcGluZywgJnZtLT52YSk7CisKKwlpZiAobWFwcGluZy0+ZmxhZ3MgJiBBTURHUFVf UFRFX1BSVCkKKwkJYW1kZ3B1X3ZtX3BydF9nZXQoYWRldik7CisKKwlpZiAoYm8gJiYgYm8tPnRi by5yZXN2ID09IHZtLT5yb290LmJhc2UuYm8tPnRiby5yZXN2KSB7CisJCXNwaW5fbG9jaygmdm0t PnN0YXR1c19sb2NrKTsKKwkJbGlzdF9tb3ZlKCZib192YS0+YmFzZS52bV9zdGF0dXMsICZ2bS0+ bW92ZWQpOworCQlzcGluX3VubG9jaygmdm0tPnN0YXR1c19sb2NrKTsKKwl9CisJdHJhY2VfYW1k Z3B1X3ZtX2JvX21hcChib192YSwgbWFwcGluZyk7Cit9CisKIC8qKgogICogYW1kZ3B1X3ZtX2Jv X21hcCAtIG1hcCBibyBpbnNpZGUgYSB2bQogICoKQEAgLTIxMTcsMTggKzIxNTgsMTIgQEAgaW50 IGFtZGdwdV92bV9ib19tYXAoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJaWYgKCFtYXBw aW5nKQogCQlyZXR1cm4gLUVOT01FTTsKIAotCUlOSVRfTElTVF9IRUFEKCZtYXBwaW5nLT5saXN0 KTsKIAltYXBwaW5nLT5zdGFydCA9IHNhZGRyOwogCW1hcHBpbmctPmxhc3QgPSBlYWRkcjsKIAlt YXBwaW5nLT5vZmZzZXQgPSBvZmZzZXQ7CiAJbWFwcGluZy0+ZmxhZ3MgPSBmbGFnczsKIAotCWxp c3RfYWRkKCZtYXBwaW5nLT5saXN0LCAmYm9fdmEtPmludmFsaWRzKTsKLQlhbWRncHVfdm1faXRf aW5zZXJ0KG1hcHBpbmcsICZ2bS0+dmEpOwotCi0JaWYgKGZsYWdzICYgQU1ER1BVX1BURV9QUlQp Ci0JCWFtZGdwdV92bV9wcnRfZ2V0KGFkZXYpOwotCXRyYWNlX2FtZGdwdV92bV9ib19tYXAoYm9f dmEsIG1hcHBpbmcpOworCWFtZGdwdV92bV9ib19pbnNlcnRfbWFwKGFkZXYsIGJvX3ZhLCBtYXBw aW5nKTsKIAogCXJldHVybiAwOwogfQpAQCAtMjE1NSw3ICsyMTkwLDYgQEAgaW50IGFtZGdwdV92 bV9ib19yZXBsYWNlX21hcChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIHsKIAlzdHJ1Y3Qg YW1kZ3B1X2JvX3ZhX21hcHBpbmcgKm1hcHBpbmc7CiAJc3RydWN0IGFtZGdwdV9ibyAqYm8gPSBi b192YS0+YmFzZS5ibzsKLQlzdHJ1Y3QgYW1kZ3B1X3ZtICp2bSA9IGJvX3ZhLT5iYXNlLnZtOwog CXVpbnQ2NF90IGVhZGRyOwogCWludCByOwogCkBAIC0yMTg5LDEyICsyMjIzLDcgQEAgaW50IGFt ZGdwdV92bV9ib19yZXBsYWNlX21hcChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIAltYXBw aW5nLT5vZmZzZXQgPSBvZmZzZXQ7CiAJbWFwcGluZy0+ZmxhZ3MgPSBmbGFnczsKIAotCWxpc3Rf YWRkKCZtYXBwaW5nLT5saXN0LCAmYm9fdmEtPmludmFsaWRzKTsKLQlhbWRncHVfdm1faXRfaW5z ZXJ0KG1hcHBpbmcsICZ2bS0+dmEpOwotCi0JaWYgKGZsYWdzICYgQU1ER1BVX1BURV9QUlQpCi0J CWFtZGdwdV92bV9wcnRfZ2V0KGFkZXYpOwotCXRyYWNlX2FtZGdwdV92bV9ib19tYXAoYm9fdmEs IG1hcHBpbmcpOworCWFtZGdwdV92bV9ib19pbnNlcnRfbWFwKGFkZXYsIGJvX3ZhLCBtYXBwaW5n KTsKIAogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1X3ZtLmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uaApp bmRleCBjMzc1M2FmLi45MGI3NzQxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hbWRncHVfdm0uaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf dm0uaApAQCAtMjQ5LDggKzI0OSw5IEBAIGludCBhbWRncHVfdm1fdXBkYXRlX2RpcmVjdG9yaWVz KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAogaW50IGFtZGdwdV92bV9jbGVhcl9mcmVlZChz dHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIAkJCSAgc3RydWN0IGFtZGdwdV92bSAqdm0sCiAJ CQkgIHN0cnVjdCBkbWFfZmVuY2UgKipmZW5jZSk7Ci1pbnQgYW1kZ3B1X3ZtX2NsZWFyX21vdmVk KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCBzdHJ1Y3QgYW1kZ3B1X3ZtICp2bSwKLQkJCSAg c3RydWN0IGFtZGdwdV9zeW5jICpzeW5jKTsKK2ludCBhbWRncHVfdm1faGFuZGxlX21vdmVkKHN0 cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAorCQkJICAgc3RydWN0IGFtZGdwdV92bSAqdm0sCisJ CQkgICBzdHJ1Y3QgYW1kZ3B1X3N5bmMgKnN5bmMpOwogaW50IGFtZGdwdV92bV9ib191cGRhdGUo c3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJCQlzdHJ1Y3QgYW1kZ3B1X2JvX3ZhICpib192 YSwKIAkJCWJvb2wgY2xlYXIpOwotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vYW1kLWdmeAo=