From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 11/22] drm/i915: Introduce a mutex for file_priv->context_idr Date: Mon, 18 Mar 2019 09:51:53 +0000 Message-ID: <20190318095204.9913-11-chris@chris-wilson.co.uk> References: <20190318095204.9913-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id 28AC689789 for ; Mon, 18 Mar 2019 09:52:25 +0000 (UTC) In-Reply-To: <20190318095204.9913-1-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RGVmaW5lIGEgbXV0ZXggZm9yIHRoZSBleGNsdXNpdmUgdXNlIG9mIGludGVyYWN0aW5nIHdpdGgg dGhlIHBlci1maWxlCmNvbnRleHQtaWRyLCB0aGF0IHdhcyBwcmV2aW91c2x5IGd1YXJkZWQgYnkg c3RydWN0X211dGV4LiBUaGlzIGFsbG93cyB1cwp0byByZWR1Y2UgdGhlIGNvdmVyYWdlIG9mIHN0 cnVjdF9tdXRleCwgd2l0aCBhIHZpZXcgdG8gcmVtb3ZpbmcgdGhlIGxhc3QKYml0cyBjb29yZGlu YXRpbmcgR0VNIGNvbnRleHQgbGF0ZXIuIChJbiB0aGUgc2hvcnQgdGVybSwgd2UgYXZvaWQgdGFr aW5nCnN0cnVjdF9tdXRleCB3aGlsZSB1c2luZyB0aGUgZXh0ZW5kZWQgY29uc3RydWN0b3IgZnVu Y3Rpb25zLCBwcmV2ZW50aW5nCnNvbWUgbmFzdHkgcmVjdXJzaW9uLikKClNpZ25lZC1vZmYtYnk6 IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpDYzogVHZydGtvIFVyc3Vs aW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5oICAgICAgICAgfCAgMiArKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f Y29udGV4dC5jIHwgNDMgKysrKysrKysrKystLS0tLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2Vk LCAyMSBpbnNlcnRpb25zKCspLCAyNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aAppbmRleCA4NjA4MGE2ZTBmNDUuLjkwMzg5MzMzZGQ0NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oCkBAIC0yMTYsNyArMjE2LDkgQEAgc3RydWN0IGRybV9pOTE1X2ZpbGVfcHJpdmF0ZSB7CiAg Ki8KICNkZWZpbmUgRFJNX0k5MTVfVEhST1RUTEVfSklGRklFUyBtc2Vjc190b19qaWZmaWVzKDIw KQogCX0gbW07CisKIAlzdHJ1Y3QgaWRyIGNvbnRleHRfaWRyOworCXN0cnVjdCBtdXRleCBjb250 ZXh0X2xvY2s7IC8qIGd1YXJkcyBjb250ZXh0X2lkciAqLwogCiAJdW5zaWduZWQgaW50IGJzZF9l bmdpbmU7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRl eHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwppbmRleCA1ZGYz ZDQyM2VjNmMuLjk0YzQ2NmQ0YjI5ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fY29udGV4dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2Nv bnRleHQuYwpAQCAtNTc5LDkgKzU3OSw3IEBAIHZvaWQgaTkxNV9nZW1fY29udGV4dHNfZmluaShz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAogc3RhdGljIGludCBjb250ZXh0X2lkcl9j bGVhbnVwKGludCBpZCwgdm9pZCAqcCwgdm9pZCAqZGF0YSkKIHsKLQlzdHJ1Y3QgaTkxNV9nZW1f Y29udGV4dCAqY3R4ID0gcDsKLQotCWNvbnRleHRfY2xvc2UoY3R4KTsKKwljb250ZXh0X2Nsb3Nl KHApOwogCXJldHVybiAwOwogfQogCkBAIC01OTYsOCArNTk0LDEwIEBAIHN0YXRpYyBpbnQgZ2Vt X2NvbnRleHRfcmVnaXN0ZXIoc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCwKIAkJY3R4LT5w cGd0dC0+dm0uZmlsZSA9IGZwcml2OwogCiAJLyogQW5kIChuZWFybHkpIGZpbmFsbHkgZXhwb3Nl IG91cnNlbHZlcyB0byB1c2Vyc3BhY2UgdmlhIHRoZSBpZHIgKi8KKwltdXRleF9sb2NrKCZmcHJp di0+Y29udGV4dF9sb2NrKTsKIAlyZXQgPSBpZHJfYWxsb2MoJmZwcml2LT5jb250ZXh0X2lkciwg Y3R4LAogCQkJREVGQVVMVF9DT05URVhUX0hBTkRMRSwgMCwgR0ZQX0tFUk5FTCk7CisJbXV0ZXhf dW5sb2NrKCZmcHJpdi0+Y29udGV4dF9sb2NrKTsKIAlpZiAocmV0IDwgMCkKIAkJZ290byBlcnJf cGlkOwogCkBAIC02MTYsNyArNjE2LDkgQEAgc3RhdGljIGludCBnZW1fY29udGV4dF9yZWdpc3Rl cihzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4LAogCXJldHVybiAwOwogCiBlcnJfaWRyOgor CW11dGV4X2xvY2soJmZwcml2LT5jb250ZXh0X2xvY2spOwogCWlkcl9yZW1vdmUoJmZwcml2LT5j b250ZXh0X2lkciwgY3R4LT51c2VyX2hhbmRsZSk7CisJbXV0ZXhfdW5sb2NrKCZmcHJpdi0+Y29u dGV4dF9sb2NrKTsKIAljdHgtPmZpbGVfcHJpdiA9IE5VTEw7CiBlcnJfcGlkOgogCXB1dF9waWQo Y3R4LT5waWQpOwpAQCAtNjMyLDEwICs2MzQsMTEgQEAgaW50IGk5MTVfZ2VtX2NvbnRleHRfb3Bl bihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKIAlpbnQgZXJyOwogCiAJaWRyX2luaXQo JmZpbGVfcHJpdi0+Y29udGV4dF9pZHIpOworCW11dGV4X2luaXQoJmZpbGVfcHJpdi0+Y29udGV4 dF9sb2NrKTsKIAogCW11dGV4X2xvY2soJmk5MTUtPmRybS5zdHJ1Y3RfbXV0ZXgpOwotCiAJY3R4 ID0gaTkxNV9nZW1fY3JlYXRlX2NvbnRleHQoaTkxNSk7CisJbXV0ZXhfdW5sb2NrKCZpOTE1LT5k cm0uc3RydWN0X211dGV4KTsKIAlpZiAoSVNfRVJSKGN0eCkpIHsKIAkJZXJyID0gUFRSX0VSUihj dHgpOwogCQlnb3RvIGVycjsKQEAgLTY0OCwxNCArNjUxLDE0IEBAIGludCBpOTE1X2dlbV9jb250 ZXh0X29wZW4oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCiAJR0VNX0JVR19PTihjdHgt PnVzZXJfaGFuZGxlICE9IERFRkFVTFRfQ09OVEVYVF9IQU5ETEUpOwogCUdFTV9CVUdfT04oaTkx NV9nZW1fY29udGV4dF9pc19rZXJuZWwoY3R4KSk7CiAKLQltdXRleF91bmxvY2soJmk5MTUtPmRy bS5zdHJ1Y3RfbXV0ZXgpOwotCiAJcmV0dXJuIDA7CiAKIGVycl9jdHg6CisJbXV0ZXhfbG9jaygm aTkxNS0+ZHJtLnN0cnVjdF9tdXRleCk7CiAJY29udGV4dF9jbG9zZShjdHgpOwotZXJyOgogCW11 dGV4X3VubG9jaygmaTkxNS0+ZHJtLnN0cnVjdF9tdXRleCk7CitlcnI6CisJbXV0ZXhfZGVzdHJv eSgmZmlsZV9wcml2LT5jb250ZXh0X2xvY2spOwogCWlkcl9kZXN0cm95KCZmaWxlX3ByaXYtPmNv bnRleHRfaWRyKTsKIAlyZXR1cm4gUFRSX0VSUihjdHgpOwogfQpAQCAtNjY4LDYgKzY3MSw3IEBA IHZvaWQgaTkxNV9nZW1fY29udGV4dF9jbG9zZShzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpCiAKIAlp ZHJfZm9yX2VhY2goJmZpbGVfcHJpdi0+Y29udGV4dF9pZHIsIGNvbnRleHRfaWRyX2NsZWFudXAs IE5VTEwpOwogCWlkcl9kZXN0cm95KCZmaWxlX3ByaXYtPmNvbnRleHRfaWRyKTsKKwltdXRleF9k ZXN0cm95KCZmaWxlX3ByaXYtPmNvbnRleHRfbG9jayk7CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgaTkx NV9yZXF1ZXN0ICoKQEAgLTg1MCwyNSArODU0LDIyIEBAIGludCBpOTE1X2dlbV9jb250ZXh0X2Ny ZWF0ZV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCQlyZXR1cm4g cmV0OwogCiAJY3R4ID0gaTkxNV9nZW1fY3JlYXRlX2NvbnRleHQoaTkxNSk7Ci0JaWYgKElTX0VS UihjdHgpKSB7Ci0JCXJldCA9IFBUUl9FUlIoY3R4KTsKLQkJZ290byBlcnJfdW5sb2NrOwotCX0K KwltdXRleF91bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsKKwlpZiAoSVNfRVJSKGN0eCkpCisJ CXJldHVybiBQVFJfRVJSKGN0eCk7CiAKIAlyZXQgPSBnZW1fY29udGV4dF9yZWdpc3RlcihjdHgs IGZpbGVfcHJpdik7CiAJaWYgKHJldCkKIAkJZ290byBlcnJfY3R4OwogCi0JbXV0ZXhfdW5sb2Nr KCZkZXYtPnN0cnVjdF9tdXRleCk7Ci0KIAlhcmdzLT5jdHhfaWQgPSBjdHgtPnVzZXJfaGFuZGxl OwogCURSTV9ERUJVRygiSFcgY29udGV4dCAlZCBjcmVhdGVkXG4iLCBhcmdzLT5jdHhfaWQpOwog CiAJcmV0dXJuIDA7CiAKIGVycl9jdHg6CisJbXV0ZXhfbG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgp OwogCWNvbnRleHRfY2xvc2UoY3R4KTsKLWVycl91bmxvY2s6CiAJbXV0ZXhfdW5sb2NrKCZkZXYt PnN0cnVjdF9tdXRleCk7CiAJcmV0dXJuIHJldDsKIH0KQEAgLTg3OSw3ICs4ODAsNiBAQCBpbnQg aTkxNV9nZW1fY29udGV4dF9kZXN0cm95X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZv aWQgKmRhdGEsCiAJc3RydWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X2Rlc3Ryb3kgKmFyZ3MgPSBk YXRhOwogCXN0cnVjdCBkcm1faTkxNV9maWxlX3ByaXZhdGUgKmZpbGVfcHJpdiA9IGZpbGUtPmRy aXZlcl9wcml2OwogCXN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHg7Ci0JaW50IHJldDsKIAog CWlmIChhcmdzLT5wYWQgIT0gMCkKIAkJcmV0dXJuIC1FSU5WQUw7CkBAIC04ODcsMjEgKzg4Nywx NiBAQCBpbnQgaTkxNV9nZW1fY29udGV4dF9kZXN0cm95X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsIHZvaWQgKmRhdGEsCiAJaWYgKGFyZ3MtPmN0eF9pZCA9PSBERUZBVUxUX0NPTlRFWFRf SEFORExFKQogCQlyZXR1cm4gLUVOT0VOVDsKIAotCWN0eCA9IGk5MTVfZ2VtX2NvbnRleHRfbG9v a3VwKGZpbGVfcHJpdiwgYXJncy0+Y3R4X2lkKTsKKwltdXRleF9sb2NrKCZmaWxlX3ByaXYtPmNv bnRleHRfbG9jayk7CisJY3R4ID0gaWRyX3JlbW92ZSgmZmlsZV9wcml2LT5jb250ZXh0X2lkciwg YXJncy0+Y3R4X2lkKTsKKwltdXRleF9sb2NrKCZmaWxlX3ByaXYtPmNvbnRleHRfbG9jayk7CiAJ aWYgKCFjdHgpCiAJCXJldHVybiAtRU5PRU5UOwogCi0JcmV0ID0gbXV0ZXhfbG9ja19pbnRlcnJ1 cHRpYmxlKCZkZXYtPnN0cnVjdF9tdXRleCk7Ci0JaWYgKHJldCkKLQkJZ290byBvdXQ7Ci0KLQlp ZHJfcmVtb3ZlKCZmaWxlX3ByaXYtPmNvbnRleHRfaWRyLCBjdHgtPnVzZXJfaGFuZGxlKTsKKwlt dXRleF9sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7CiAJY29udGV4dF9jbG9zZShjdHgpOwotCiAJ bXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7CiAKLW91dDoKLQlpOTE1X2dlbV9jb250 ZXh0X3B1dChjdHgpOwogCXJldHVybiAwOwogfQogCi0tIAoyLjIwLjEKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QK SW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==