From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Wilcox Subject: [PATCH 14/34] drm/amdgpu: Convert pasid_idr to XArray Date: Thu, 21 Feb 2019 10:41:48 -0800 Message-ID: <20190221184226.2149-29-willy@infradead.org> References: <20190221184226.2149-1-willy@infradead.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) by gabe.freedesktop.org (Postfix) with ESMTPS id 12C3B88F9A for ; Thu, 21 Feb 2019 18:42:33 +0000 (UTC) In-Reply-To: <20190221184226.2149-1-willy@infradead.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: Matthew Wilcox List-Id: dri-devel@lists.freedesktop.org U2lnbmVkLW9mZi1ieTogTWF0dGhldyBXaWxjb3ggPHdpbGx5QGluZnJhZGVhZC5vcmc+Ci0tLQog ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMgfCA2NiArKysrKysrKystLS0t LS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmggfCAg MyArLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21jX3Y5XzAuYyAgfCAxMiArKy0tLQog MyBmaWxlcyBjaGFuZ2VkLCAyOSBpbnNlcnRpb25zKCspLCA1MiBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uYyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5jCmluZGV4IGQyZWE1Y2UyY2VmYi4uZDA5NGVj NzQzM2Y5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0u YworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uYwpAQCAtMzAzMiwx MiArMzAzMiw3IEBAIGludCBhbWRncHVfdm1faW5pdChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRl diwgc3RydWN0IGFtZGdwdV92bSAqdm0sCiAJYW1kZ3B1X2JvX3VucmVzZXJ2ZSh2bS0+cm9vdC5i YXNlLmJvKTsKIAogCWlmIChwYXNpZCkgewotCQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCi0JCXNw aW5fbG9ja19pcnFzYXZlKCZhZGV2LT52bV9tYW5hZ2VyLnBhc2lkX2xvY2ssIGZsYWdzKTsKLQkJ ciA9IGlkcl9hbGxvYygmYWRldi0+dm1fbWFuYWdlci5wYXNpZF9pZHIsIHZtLCBwYXNpZCwgcGFz aWQgKyAxLAotCQkJICAgICAgR0ZQX0FUT01JQyk7Ci0JCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUo JmFkZXYtPnZtX21hbmFnZXIucGFzaWRfbG9jaywgZmxhZ3MpOworCQlyID0geGFfaW5zZXJ0X2ly cSgmYWRldi0+dm1fbWFuYWdlci52bXMsIHBhc2lkLCB2bSwgR0ZQX0tFUk5FTCk7CiAJCWlmIChy IDwgMCkKIAkJCWdvdG8gZXJyb3JfZnJlZV9yb290OwogCkBAIC0zMDQ3LDYgKzMwNDIsOCBAQCBp bnQgYW1kZ3B1X3ZtX2luaXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHN0cnVjdCBhbWRn cHVfdm0gKnZtLAogCXZtLT5mYXVsdF9oYXNoID0gaW5pdF9mYXVsdF9oYXNoKCk7CiAJaWYgKCF2 bS0+ZmF1bHRfaGFzaCkgewogCQlyID0gLUVOT01FTTsKKwkJaWYgKHBhc2lkKQorCQkJeGFfZXJh c2VfaXJxKCZhZGV2LT52bV9tYW5hZ2VyLnZtcywgcGFzaWQpOwogCQlnb3RvIGVycm9yX2ZyZWVf cm9vdDsKIAl9CiAKQEAgLTMxMDQsMTYgKzMxMDEsOSBAQCBpbnQgYW1kZ3B1X3ZtX21ha2VfY29t cHV0ZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgc3RydWN0IGFtZGdwdV92bSAqdm0sIHVu cwogCX0KIAogCWlmIChwYXNpZCkgewotCQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCi0JCXNwaW5f bG9ja19pcnFzYXZlKCZhZGV2LT52bV9tYW5hZ2VyLnBhc2lkX2xvY2ssIGZsYWdzKTsKLQkJciA9 IGlkcl9hbGxvYygmYWRldi0+dm1fbWFuYWdlci5wYXNpZF9pZHIsIHZtLCBwYXNpZCwgcGFzaWQg KyAxLAotCQkJICAgICAgR0ZQX0FUT01JQyk7Ci0JCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmFk ZXYtPnZtX21hbmFnZXIucGFzaWRfbG9jaywgZmxhZ3MpOwotCi0JCWlmIChyID09IC1FTk9TUEMp CisJCXIgPSB4YV9pbnNlcnRfaXJxKCZhZGV2LT52bV9tYW5hZ2VyLnZtcywgcGFzaWQsIHZtLCBH RlBfS0VSTkVMKTsKKwkJaWYgKHIgPCAwKQogCQkJZ290byB1bnJlc2VydmVfYm87Ci0JCXIgPSAw OwogCX0KIAogCS8qIENoZWNrIGlmIFBEIG5lZWRzIHRvIGJlIHJlaW5pdGlhbGl6ZWQgYW5kIGRv IGl0IGJlZm9yZQpAQCAtMzEyNCw3ICszMTE0LDcgQEAgaW50IGFtZGdwdV92bV9tYWtlX2NvbXB1 dGUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHN0cnVjdCBhbWRncHVfdm0gKnZtLCB1bnMK IAkJCSAgICAgICBhZGV2LT52bV9tYW5hZ2VyLnJvb3RfbGV2ZWwsCiAJCQkgICAgICAgcHRlX3N1 cHBvcnRfYXRzKTsKIAkJaWYgKHIpCi0JCQlnb3RvIGZyZWVfaWRyOworCQkJZ290byBlcmFzZTsK IAl9CiAKIAkvKiBVcGRhdGUgVk0gc3RhdGUgKi8KQEAgLTMxMzcsMTEgKzMxMjcsNyBAQCBpbnQg YW1kZ3B1X3ZtX21ha2VfY29tcHV0ZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgc3RydWN0 IGFtZGdwdV92bSAqdm0sIHVucwogCQkgICJDUFUgdXBkYXRlIG9mIFZNIHJlY29tbWVuZGVkIG9u bHkgZm9yIGxhcmdlIEJBUiBzeXN0ZW1cbiIpOwogCiAJaWYgKHZtLT5wYXNpZCkgewotCQl1bnNp Z25lZCBsb25nIGZsYWdzOwotCi0JCXNwaW5fbG9ja19pcnFzYXZlKCZhZGV2LT52bV9tYW5hZ2Vy LnBhc2lkX2xvY2ssIGZsYWdzKTsKLQkJaWRyX3JlbW92ZSgmYWRldi0+dm1fbWFuYWdlci5wYXNp ZF9pZHIsIHZtLT5wYXNpZCk7Ci0JCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmFkZXYtPnZtX21h bmFnZXIucGFzaWRfbG9jaywgZmxhZ3MpOworCQl4YV9lcmFzZV9pcnEoJmFkZXYtPnZtX21hbmFn ZXIudm1zLCB2bS0+cGFzaWQpOwogCiAJCS8qIEZyZWUgdGhlIG9yaWdpbmFsIGFtZGdwdSBhbGxv Y2F0ZWQgcGFzaWQKIAkJICogV2lsbCBiZSByZXBsYWNlZCB3aXRoIGtmZCBhbGxvY2F0ZWQgcGFz aWQKQEAgLTMxNTgsMTQgKzMxNDQsOSBAQCBpbnQgYW1kZ3B1X3ZtX21ha2VfY29tcHV0ZShzdHJ1 Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgc3RydWN0IGFtZGdwdV92bSAqdm0sIHVucwogCiAJZ290 byB1bnJlc2VydmVfYm87CiAKLWZyZWVfaWRyOgotCWlmIChwYXNpZCkgewotCQl1bnNpZ25lZCBs b25nIGZsYWdzOwotCi0JCXNwaW5fbG9ja19pcnFzYXZlKCZhZGV2LT52bV9tYW5hZ2VyLnBhc2lk X2xvY2ssIGZsYWdzKTsKLQkJaWRyX3JlbW92ZSgmYWRldi0+dm1fbWFuYWdlci5wYXNpZF9pZHIs IHBhc2lkKTsKLQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmYWRldi0+dm1fbWFuYWdlci5wYXNp ZF9sb2NrLCBmbGFncyk7Ci0JfQorZXJhc2U6CisJaWYgKHBhc2lkKQorCQl4YV9lcmFzZV9pcnEo JmFkZXYtPnZtX21hbmFnZXIudm1zLCBwYXNpZCk7CiB1bnJlc2VydmVfYm86CiAJYW1kZ3B1X2Jv X3VucmVzZXJ2ZSh2bS0+cm9vdC5iYXNlLmJvKTsKIAlyZXR1cm4gcjsKQEAgLTMxODQsOSArMzE2 NSw5IEBAIHZvaWQgYW1kZ3B1X3ZtX3JlbGVhc2VfY29tcHV0ZShzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldiwgc3RydWN0IGFtZGdwdV92bSAqdm0pCiAJaWYgKHZtLT5wYXNpZCkgewogCQl1bnNp Z25lZCBsb25nIGZsYWdzOwogCi0JCXNwaW5fbG9ja19pcnFzYXZlKCZhZGV2LT52bV9tYW5hZ2Vy LnBhc2lkX2xvY2ssIGZsYWdzKTsKLQkJaWRyX3JlbW92ZSgmYWRldi0+dm1fbWFuYWdlci5wYXNp ZF9pZHIsIHZtLT5wYXNpZCk7Ci0JCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmFkZXYtPnZtX21h bmFnZXIucGFzaWRfbG9jaywgZmxhZ3MpOworCQl4YV9sb2NrX2lycXNhdmUoJmFkZXYtPnZtX21h bmFnZXIudm1zLCBmbGFncyk7CisJCV9feGFfZXJhc2UoJmFkZXYtPnZtX21hbmFnZXIudm1zLCB2 bS0+cGFzaWQpOworCQl4YV91bmxvY2tfaXJxcmVzdG9yZSgmYWRldi0+dm1fbWFuYWdlci52bXMs IGZsYWdzKTsKIAl9CiAJdm0tPnBhc2lkID0gMDsKIH0KQEAgLTMyMTcsOSArMzE5OCw5IEBAIHZv aWQgYW1kZ3B1X3ZtX2Zpbmkoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHN0cnVjdCBhbWRn cHVfdm0gKnZtKQogCWlmICh2bS0+cGFzaWQpIHsKIAkJdW5zaWduZWQgbG9uZyBmbGFnczsKIAot CQlzcGluX2xvY2tfaXJxc2F2ZSgmYWRldi0+dm1fbWFuYWdlci5wYXNpZF9sb2NrLCBmbGFncyk7 Ci0JCWlkcl9yZW1vdmUoJmFkZXYtPnZtX21hbmFnZXIucGFzaWRfaWRyLCB2bS0+cGFzaWQpOwot CQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZhZGV2LT52bV9tYW5hZ2VyLnBhc2lkX2xvY2ssIGZs YWdzKTsKKwkJeGFfbG9ja19pcnFzYXZlKCZhZGV2LT52bV9tYW5hZ2VyLnZtcywgZmxhZ3MpOwor CQlfX3hhX2VyYXNlKCZhZGV2LT52bV9tYW5hZ2VyLnZtcywgdm0tPnBhc2lkKTsKKwkJeGFfdW5s b2NrX2lycXJlc3RvcmUoJmFkZXYtPnZtX21hbmFnZXIudm1zLCBmbGFncyk7CiAJfQogCiAJa2Zy ZWUodm0tPmZhdWx0X2hhc2gpOwpAQCAtMzI5OSw4ICszMjgwLDggQEAgdm9pZCBhbWRncHVfdm1f bWFuYWdlcl9pbml0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQogCWFkZXYtPnZtX21hbmFn ZXIudm1fdXBkYXRlX21vZGUgPSAwOwogI2VuZGlmCiAKLQlpZHJfaW5pdCgmYWRldi0+dm1fbWFu YWdlci5wYXNpZF9pZHIpOwotCXNwaW5fbG9ja19pbml0KCZhZGV2LT52bV9tYW5hZ2VyLnBhc2lk X2xvY2spOworCXhhX2luaXRfZmxhZ3MoJmFkZXYtPnZtX21hbmFnZXIudm1zLAorCQkJWEFfRkxB R1NfQUxMT0MgfCBYQV9GTEFHU19MT0NLX0lSUSk7CiB9CiAKIC8qKgpAQCAtMzMxMiw4ICszMjkz LDcgQEAgdm9pZCBhbWRncHVfdm1fbWFuYWdlcl9pbml0KHN0cnVjdCBhbWRncHVfZGV2aWNlICph ZGV2KQogICovCiB2b2lkIGFtZGdwdV92bV9tYW5hZ2VyX2Zpbmkoc3RydWN0IGFtZGdwdV9kZXZp Y2UgKmFkZXYpCiB7Ci0JV0FSTl9PTighaWRyX2lzX2VtcHR5KCZhZGV2LT52bV9tYW5hZ2VyLnBh c2lkX2lkcikpOwotCWlkcl9kZXN0cm95KCZhZGV2LT52bV9tYW5hZ2VyLnBhc2lkX2lkcik7CisJ V0FSTl9PTigheGFfZW1wdHkoJmFkZXYtPnZtX21hbmFnZXIudm1zKSk7CiAKIAlhbWRncHVfdm1p ZF9tZ3JfZmluaShhZGV2KTsKIH0KQEAgLTMzNjQsMTMgKzMzNDQsMTEgQEAgdm9pZCBhbWRncHVf dm1fZ2V0X3Rhc2tfaW5mbyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgdW5zaWduZWQgaW50 IHBhc2lkLAogewogCXN0cnVjdCBhbWRncHVfdm0gKnZtOwogCi0Jc3Bpbl9sb2NrKCZhZGV2LT52 bV9tYW5hZ2VyLnBhc2lkX2xvY2spOwotCi0Jdm0gPSBpZHJfZmluZCgmYWRldi0+dm1fbWFuYWdl ci5wYXNpZF9pZHIsIHBhc2lkKTsKKwl4YV9sb2NrKCZhZGV2LT52bV9tYW5hZ2VyLnZtcyk7CisJ dm0gPSB4YV9sb2FkKCZhZGV2LT52bV9tYW5hZ2VyLnZtcywgcGFzaWQpOwogCWlmICh2bSkKIAkJ KnRhc2tfaW5mbyA9IHZtLT50YXNrX2luZm87Ci0KLQlzcGluX3VubG9jaygmYWRldi0+dm1fbWFu YWdlci5wYXNpZF9sb2NrKTsKKwl4YV91bmxvY2soJmFkZXYtPnZtX21hbmFnZXIudm1zKTsKIH0K IAogLyoqCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0u aCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5oCmluZGV4IGU4ZGNmZDU5 ZmM5My4uODRiNDY2ZWVlNDQ5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfdm0uaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0u aApAQCAtMjgxLDggKzI4MSw3IEBAIHN0cnVjdCBhbWRncHVfdm1fbWFuYWdlciB7CiAJLyogUEFT SUQgdG8gVk0gbWFwcGluZywgd2lsbCBiZSB1c2VkIGluIGludGVycnVwdCBjb250ZXh0IHRvCiAJ ICogbG9vayB1cCBWTSBvZiBhIHBhZ2UgZmF1bHQKIAkgKi8KLQlzdHJ1Y3QgaWRyCQkJCXBhc2lk X2lkcjsKLQlzcGlubG9ja190CQkJCXBhc2lkX2xvY2s7CisJc3RydWN0IHhhcnJheQkJCQl2bXM7 CiB9OwogCiAjZGVmaW5lIGFtZGdwdV92bV9jb3B5X3B0ZShhZGV2LCBpYiwgcGUsIHNyYywgY291 bnQpICgoYWRldiktPnZtX21hbmFnZXIudm1fcHRlX2Z1bmNzLT5jb3B5X3B0ZSgoaWIpLCAocGUp LCAoc3JjKSwgKGNvdW50KSkpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9nbWNfdjlfMC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21jX3Y5XzAuYwppbmRl eCBiYWNkYWVmNzdiNmMuLmMwZTY1MDNiNzk2NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvZ21jX3Y5XzAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9n bWNfdjlfMC5jCkBAIC0yNjgsMTEgKzI2OCwxMSBAQCBzdGF0aWMgYm9vbCBnbWNfdjlfMF9wcmVz Y3JlZW5faXYoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJCXJldHVybiB0cnVlOwogCiAJ LyogVHJhY2sgcmV0cnkgZmF1bHRzIGluIHBlci1WTSBmYXVsdCBGSUZPLiAqLwotCXNwaW5fbG9j aygmYWRldi0+dm1fbWFuYWdlci5wYXNpZF9sb2NrKTsKLQl2bSA9IGlkcl9maW5kKCZhZGV2LT52 bV9tYW5hZ2VyLnBhc2lkX2lkciwgZW50cnktPnBhc2lkKTsKKwl4YV9sb2NrKCZhZGV2LT52bV9t YW5hZ2VyLnZtcyk7CisJdm0gPSB4YV9sb2FkKCZhZGV2LT52bV9tYW5hZ2VyLnZtcywgZW50cnkt PnBhc2lkKTsKIAlpZiAoIXZtKSB7CiAJCS8qIFZNIG5vdCBmb3VuZCwgcHJvY2VzcyBpdCBub3Jt YWxseSAqLwotCQlzcGluX3VubG9jaygmYWRldi0+dm1fbWFuYWdlci5wYXNpZF9sb2NrKTsKKwkJ eGFfdW5sb2NrKCZhZGV2LT52bV9tYW5hZ2VyLnZtcyk7CiAJCXJldHVybiB0cnVlOwogCX0KIApA QCAtMjgzLDcgKzI4Myw3IEBAIHN0YXRpYyBib29sIGdtY192OV8wX3ByZXNjcmVlbl9pdihzdHJ1 Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIAkgKiBpZ25vcmUgZnVydGhlciBwYWdlIGZhdWx0cwog CSAqLwogCWlmIChyICE9IDApIHsKLQkJc3Bpbl91bmxvY2soJmFkZXYtPnZtX21hbmFnZXIucGFz aWRfbG9jayk7CisJCXhhX3VubG9jaygmYWRldi0+dm1fbWFuYWdlci52bXMpOwogCQlyZXR1cm4g ZmFsc2U7CiAJfQogCS8qIE5vIGxvY2tpbmcgcmVxdWlyZWQgd2l0aCBzaW5nbGUgd3JpdGVyIGFu ZCBzaW5nbGUgcmVhZGVyICovCkBAIC0yOTEsMTEgKzI5MSwxMSBAQCBzdGF0aWMgYm9vbCBnbWNf djlfMF9wcmVzY3JlZW5faXYoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJaWYgKCFyKSB7 CiAJCS8qIEZJRk8gaXMgZnVsbC4gSWdub3JlIGl0IHVudGlsIHRoZXJlIGlzIHNwYWNlICovCiAJ CWFtZGdwdV92bV9jbGVhcl9mYXVsdCh2bS0+ZmF1bHRfaGFzaCwga2V5KTsKLQkJc3Bpbl91bmxv Y2soJmFkZXYtPnZtX21hbmFnZXIucGFzaWRfbG9jayk7CisJCXhhX3VubG9jaygmYWRldi0+dm1f bWFuYWdlci52bXMpOwogCQlyZXR1cm4gZmFsc2U7CiAJfQogCi0Jc3Bpbl91bmxvY2soJmFkZXYt PnZtX21hbmFnZXIucGFzaWRfbG9jayk7CisJeGFfdW5sb2NrKCZhZGV2LT52bV9tYW5hZ2VyLnZt cyk7CiAJLyogSXQncyB0aGUgZmlyc3QgZmF1bHQgZm9yIHRoaXMgYWRkcmVzcywgcHJvY2VzcyBp dCBub3JtYWxseSAqLwogCXJldHVybiB0cnVlOwogfQotLSAKMi4yMC4xCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0 CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=