From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Wilcox Subject: [PATCH 27/34] drm/qxl: Convert surf_id_idr to XArray Date: Thu, 21 Feb 2019 10:42:12 -0800 Message-ID: <20190221184226.2149-53-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 2B35289127 for ; Thu, 21 Feb 2019 18:42:37 +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 ZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxfY21kLmMgfCA2MCArKysrKysrKysrKystLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxfZHJ2LmggfCAgMyArLQogZHJp dmVycy9ncHUvZHJtL3F4bC9xeGxfa21zLmMgfCAgNSArLS0KIDMgZmlsZXMgY2hhbmdlZCwgMjMg aW5zZXJ0aW9ucygrKSwgNDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL3F4bC9xeGxfY21kLmMgYi9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF9jbWQuYwppbmRleCBk ZmZjNTA5M2ZmMTYuLmFmZTgwNzk0NTNhZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3F4 bC9xeGxfY21kLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxfY21kLmMKQEAgLTQyMCw0 MSArNDIwLDI3IEBAIHZvaWQgcXhsX2lvX21vbml0b3JzX2NvbmZpZyhzdHJ1Y3QgcXhsX2Rldmlj ZSAqcWRldikKIGludCBxeGxfc3VyZmFjZV9pZF9hbGxvYyhzdHJ1Y3QgcXhsX2RldmljZSAqcWRl diwKIAkJICAgICAgc3RydWN0IHF4bF9ibyAqc3VyZikKIHsKLQl1aW50MzJfdCBoYW5kbGU7Ci0J aW50IGlkcl9yZXQ7Ci0JaW50IGNvdW50ID0gMDsKKwlpbnQgcmV0OwogYWdhaW46Ci0JaWRyX3By ZWxvYWQoR0ZQX0FUT01JQyk7Ci0Jc3Bpbl9sb2NrKCZxZGV2LT5zdXJmX2lkX2lkcl9sb2NrKTsK LQlpZHJfcmV0ID0gaWRyX2FsbG9jKCZxZGV2LT5zdXJmX2lkX2lkciwgTlVMTCwgMSwgMCwgR0ZQ X05PV0FJVCk7Ci0Jc3Bpbl91bmxvY2soJnFkZXYtPnN1cmZfaWRfaWRyX2xvY2spOwotCWlkcl9w cmVsb2FkX2VuZCgpOwotCWlmIChpZHJfcmV0IDwgMCkKLQkJcmV0dXJuIGlkcl9yZXQ7Ci0JaGFu ZGxlID0gaWRyX3JldDsKLQotCWlmIChoYW5kbGUgPj0gcWRldi0+cm9tLT5uX3N1cmZhY2VzKSB7 Ci0JCWNvdW50Kys7Ci0JCXNwaW5fbG9jaygmcWRldi0+c3VyZl9pZF9pZHJfbG9jayk7Ci0JCWlk cl9yZW1vdmUoJnFkZXYtPnN1cmZfaWRfaWRyLCBoYW5kbGUpOwotCQlzcGluX3VubG9jaygmcWRl di0+c3VyZl9pZF9pZHJfbG9jayk7CisJcmV0ID0geGFfYWxsb2MoJnFkZXYtPnN1cmZhY2VzLCAm c3VyZi0+c3VyZmFjZV9pZCwgTlVMTCwKKwkJCVhBX0xJTUlUKDAsIHFkZXYtPnJvbS0+bl9zdXJm YWNlcyAtIDEpLCBHRlBfQVRPTUlDKTsKKwlpZiAocmV0ID09IC1FQlVTWSkgewogCQlxeGxfcmVh cF9zdXJmYWNlX2lkKHFkZXYsIDIpOwogCQlnb3RvIGFnYWluOwogCX0KLQlzdXJmLT5zdXJmYWNl X2lkID0gaGFuZGxlOworCWlmIChyZXQgPCAwKQorCQlyZXR1cm4gcmV0OwogCi0Jc3Bpbl9sb2Nr KCZxZGV2LT5zdXJmX2lkX2lkcl9sb2NrKTsKLQlxZGV2LT5sYXN0X2FsbG9jZWRfc3VyZl9pZCA9 IGhhbmRsZTsKLQlzcGluX3VubG9jaygmcWRldi0+c3VyZl9pZF9pZHJfbG9jayk7CisJeGFfbG9j aygmcWRldi0+c3VyZmFjZXMpOworCXFkZXYtPmxhc3RfYWxsb2NlZF9zdXJmX2lkID0gc3VyZi0+ c3VyZmFjZV9pZDsKKwl4YV91bmxvY2soJnFkZXYtPnN1cmZhY2VzKTsKIAlyZXR1cm4gMDsKIH0K IAogdm9pZCBxeGxfc3VyZmFjZV9pZF9kZWFsbG9jKHN0cnVjdCBxeGxfZGV2aWNlICpxZGV2LAog CQkJICAgIHVpbnQzMl90IHN1cmZhY2VfaWQpCiB7Ci0Jc3Bpbl9sb2NrKCZxZGV2LT5zdXJmX2lk X2lkcl9sb2NrKTsKLQlpZHJfcmVtb3ZlKCZxZGV2LT5zdXJmX2lkX2lkciwgc3VyZmFjZV9pZCk7 Ci0Jc3Bpbl91bmxvY2soJnFkZXYtPnN1cmZfaWRfaWRyX2xvY2spOworCXhhX2VyYXNlKCZxZGV2 LT5zdXJmYWNlcywgc3VyZmFjZV9pZCk7CiB9CiAKIGludCBxeGxfaHdfc3VyZmFjZV9hbGxvYyhz dHJ1Y3QgcXhsX2RldmljZSAqcWRldiwKQEAgLTUwNyw5ICs0OTMsNyBAQCBpbnQgcXhsX2h3X3N1 cmZhY2VfYWxsb2Moc3RydWN0IHF4bF9kZXZpY2UgKnFkZXYsCiAJcXhsX3JlbGVhc2VfZmVuY2Vf YnVmZmVyX29iamVjdHMocmVsZWFzZSk7CiAKIAlzdXJmLT5od19zdXJmX2FsbG9jID0gdHJ1ZTsK LQlzcGluX2xvY2soJnFkZXYtPnN1cmZfaWRfaWRyX2xvY2spOwotCWlkcl9yZXBsYWNlKCZxZGV2 LT5zdXJmX2lkX2lkciwgc3VyZiwgc3VyZi0+c3VyZmFjZV9pZCk7Ci0Jc3Bpbl91bmxvY2soJnFk ZXYtPnN1cmZfaWRfaWRyX2xvY2spOworCXhhX3N0b3JlKCZxZGV2LT5zdXJmYWNlcywgc3VyZi0+ c3VyZmFjZV9pZCwgc3VyZiwgR0ZQX0tFUk5FTCk7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTUzMSwx MCArNTE1LDggQEAgaW50IHF4bF9od19zdXJmYWNlX2RlYWxsb2Moc3RydWN0IHF4bF9kZXZpY2Ug KnFkZXYsCiAJCXJldHVybiByZXQ7CiAKIAlzdXJmLT5zdXJmX2NyZWF0ZSA9IE5VTEw7Ci0JLyog cmVtb3ZlIHRoZSBzdXJmYWNlIGZyb20gdGhlIGlkciwgYnV0IG5vdCB0aGUgc3VyZmFjZSBpZCB5 ZXQgKi8KLQlzcGluX2xvY2soJnFkZXYtPnN1cmZfaWRfaWRyX2xvY2spOwotCWlkcl9yZXBsYWNl KCZxZGV2LT5zdXJmX2lkX2lkciwgTlVMTCwgc3VyZi0+c3VyZmFjZV9pZCk7Ci0Jc3Bpbl91bmxv Y2soJnFkZXYtPnN1cmZfaWRfaWRyX2xvY2spOworCS8qIHJlbW92ZSB0aGUgc3VyZmFjZSBmcm9t IHRoZSBhcnJheSwgYnV0IGRvbid0IGZyZWUgdGhlIHN1cmZhY2UgaWQgKi8KKwl4YV9zdG9yZSgm cWRldi0+c3VyZmFjZXMsIHN1cmYtPnN1cmZhY2VfaWQsIE5VTEwsIDApOwogCXN1cmYtPmh3X3N1 cmZfYWxsb2MgPSBmYWxzZTsKIAogCWlkID0gc3VyZi0+c3VyZmFjZV9pZDsKQEAgLTYyMywyMCAr NjA1LDIwIEBAIHN0YXRpYyBpbnQgcXhsX3JlYXBfc3VyZmFjZV9pZChzdHJ1Y3QgcXhsX2Rldmlj ZSAqcWRldiwgaW50IG1heF90b19yZWFwKQogCW11dGV4X2xvY2soJnFkZXYtPnN1cmZfZXZpY3Rf bXV0ZXgpOwogYWdhaW46CiAKLQlzcGluX2xvY2soJnFkZXYtPnN1cmZfaWRfaWRyX2xvY2spOwor CXhhX2xvY2soJnFkZXYtPnN1cmZhY2VzKTsKIAlzdGFydCA9IHFkZXYtPmxhc3RfYWxsb2NlZF9z dXJmX2lkICsgMTsKLQlzcGluX3VubG9jaygmcWRldi0+c3VyZl9pZF9pZHJfbG9jayk7CisJeGFf dW5sb2NrKCZxZGV2LT5zdXJmYWNlcyk7CiAKIAlmb3IgKGkgPSBzdGFydDsgaSA8IHN0YXJ0ICsg cWRldi0+cm9tLT5uX3N1cmZhY2VzOyBpKyspIHsKIAkJdm9pZCAqb2JqcHRyOwogCQlpbnQgc3Vy ZmlkID0gaSAlIHFkZXYtPnJvbS0+bl9zdXJmYWNlczsKIAotCQkvKiB0aGlzIGF2b2lkcyB0aGUg Y2FzZSB3aGVyZSB0aGUgb2JqZWN0cyBpcyBpbiB0aGUKLQkJICAgaWRyIGJ1dCBoYXMgYmVlbiBl dmljdGVkIGhhbGYgd2F5IC0gaXRzIG1ha2VzCi0JCSAgIHRoZSBpZHIgbG9va3VwIGF0b21pYyB3 aXRoIHRoZSBldmljdGlvbiAqLwotCQlzcGluX2xvY2soJnFkZXYtPnN1cmZfaWRfaWRyX2xvY2sp OwotCQlvYmpwdHIgPSBpZHJfZmluZCgmcWRldi0+c3VyZl9pZF9pZHIsIHN1cmZpZCk7Ci0JCXNw aW5fdW5sb2NrKCZxZGV2LT5zdXJmX2lkX2lkcl9sb2NrKTsKKwkJLyogdGhpcyBhdm9pZHMgdGhl IGNhc2Ugd2hlcmUgdGhlIG9iamVjdCBpcyBpbiB0aGUKKwkJICAgYXJyYXkgYnV0IGhhcyBiZWVu IGV2aWN0ZWQgaGFsZiB3YXkgLSBpdCBtYWtlcworCQkgICB0aGUgYXJyYXkgbG9va3VwIGF0b21p YyB3aXRoIHRoZSBldmljdGlvbiAqLworCQl4YV9sb2NrKCZxZGV2LT5zdXJmYWNlcyk7CisJCW9i anB0ciA9IHhhX2xvYWQoJnFkZXYtPnN1cmZhY2VzLCBzdXJmaWQpOworCQl4YV91bmxvY2soJnFk ZXYtPnN1cmZhY2VzKTsKIAogCQlpZiAoIW9ianB0cikKIAkJCWNvbnRpbnVlOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4 bF9kcnYuaAppbmRleCAzYWJkNDMyYTRiODUuLjhkMDI1NGExMzNkYyAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL3F4bC9xeGxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxf ZHJ2LmgKQEAgLTI2MCw4ICsyNjAsNyBAQCBzdHJ1Y3QgcXhsX2RldmljZSB7CiAKIAlzdHJ1Y3Qg bXV0ZXgJCXVwZGF0ZV9hcmVhX211dGV4OwogCi0Jc3RydWN0IGlkcglzdXJmX2lkX2lkcjsKLQlz cGlubG9ja190IHN1cmZfaWRfaWRyX2xvY2s7CisJc3RydWN0IHhhcnJheQlzdXJmYWNlczsKIAlp bnQgbGFzdF9hbGxvY2VkX3N1cmZfaWQ7CiAKIAlzdHJ1Y3QgbXV0ZXggc3VyZl9ldmljdF9tdXRl eDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX2ttcy5jIGIvZHJpdmVycy9n cHUvZHJtL3F4bC9xeGxfa21zLmMKaW5kZXggYjJjYzcxYzk1MTQyLi5kYWZkYjYxZjdhMzIgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX2ttcy5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9xeGwvcXhsX2ttcy5jCkBAIC0yNDksMTAgKzI0OSw3IEBAIGludCBxeGxfZGV2aWNlX2lu aXQoc3RydWN0IHF4bF9kZXZpY2UgKnFkZXYsCiAKIAl4YV9pbml0X2ZsYWdzKCZxZGV2LT5yZWxl YXNlcywgWEFfRkxBR1NfQUxMT0MxKTsKIAlzcGluX2xvY2tfaW5pdCgmcWRldi0+cmVsZWFzZV9s b2NrKTsKLQotCWlkcl9pbml0KCZxZGV2LT5zdXJmX2lkX2lkcik7Ci0Jc3Bpbl9sb2NrX2luaXQo JnFkZXYtPnN1cmZfaWRfaWRyX2xvY2spOwotCisJeGFfaW5pdF9mbGFncygmcWRldi0+c3VyZmFj ZXMsIFhBX0ZMQUdTX0FMTE9DMSk7CiAJbXV0ZXhfaW5pdCgmcWRldi0+YXN5bmNfaW9fbXV0ZXgp OwogCiAJLyogcmVzZXQgdGhlIGRldmljZSBpbnRvIGEga25vd24gc3RhdGUgLSBubyBtZW1zbG90 cywgbm8gcHJpbWFyeQotLSAKMi4yMC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9kcmktZGV2ZWw=