From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Andrushchenko Subject: [PATCH] drm: Use srcu to protect drm_device.unplugged Date: Wed, 28 Mar 2018 10:38:35 +0300 Message-ID: <1522222715-11814-1-git-send-email-andr2000@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, airlied@linux.ie, daniel.vetter@intel.com, seanpaul@chromium.org, gustavo@padovan.org Cc: andr2000@gmail.com, intel-gfx@lists.freedesktop.org, =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= , Oleksandr Andrushchenko List-Id: dri-devel@lists.freedesktop.org RnJvbTogTm9yYWxmIFRyw7hubmVzIDxub3JhbGZAdHJvbm5lcy5vcmc+CgpVc2Ugc3JjdSB0byBw cm90ZWN0IGRybV9kZXZpY2UudW5wbHVnZ2VkIGluIGEgcmFjZSBmcmVlIG1hbm5lci4KRHJpdmVy cyBjYW4gdXNlIGRybV9kZXZfZW50ZXIoKS9kcm1fZGV2X2V4aXQoKSB0byBwcm90ZWN0IGFuZCBt YXJrCnNlY3Rpb25zIHByZXZlbnRpbmcgYWNjZXNzIHRvIGRldmljZSByZXNvdXJjZXMgdGhhdCBh cmUgbm90IGF2YWlsYWJsZQphZnRlciB0aGUgZGV2aWNlIGlzIGdvbmUuCgpTdWdnZXN0ZWQtYnk6 IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+ClNpZ25lZC1vZmYtYnk6IE5v cmFsZiBUcsO4bm5lcyA8bm9yYWxmQHRyb25uZXMub3JnPgpTaWduZWQtb2ZmLWJ5OiBPbGVrc2Fu ZHIgQW5kcnVzaGNoZW5rbyA8b2xla3NhbmRyX2FuZHJ1c2hjaGVua29AZXBhbS5jb20+ClJldmll d2VkLWJ5OiBPbGVrc2FuZHIgQW5kcnVzaGNoZW5rbyA8b2xla3NhbmRyX2FuZHJ1c2hjaGVua29A ZXBhbS5jb20+ClRlc3RlZC1ieTogT2xla3NhbmRyIEFuZHJ1c2hjaGVua28gPG9sZWtzYW5kcl9h bmRydXNoY2hlbmtvQGVwYW0uY29tPgpDYzogaW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwotLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fZHJ2LmMgfCA1NCArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKystLS0tLQogaW5jbHVkZS9kcm0vZHJtX2RldmljZS5oICB8 ICA5ICsrKysrKystCiBpbmNsdWRlL2RybS9kcm1fZHJ2LmggICAgIHwgMTUgKysrKysrKysrLS0t LQogMyBmaWxlcyBjaGFuZ2VkLCA2OCBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9kcnYuYwppbmRleCBhMWI5MzM4NzM2ZTMuLjMyYTgzYjQxYWI2MSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2RybV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Rydi5jCkBA IC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlcGFyYW0uaD4KICNpbmNsdWRl IDxsaW51eC9tb3VudC5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51 eC9zcmN1Lmg+CiAKICNpbmNsdWRlIDxkcm0vZHJtX2Rydi5oPgogI2luY2x1ZGUgPGRybS9kcm1Q Lmg+CkBAIC03NSw2ICs3Niw4IEBAIHN0YXRpYyBib29sIGRybV9jb3JlX2luaXRfY29tcGxldGUg PSBmYWxzZTsKIAogc3RhdGljIHN0cnVjdCBkZW50cnkgKmRybV9kZWJ1Z2ZzX3Jvb3Q7CiAKK0RF RklORV9TVEFUSUNfU1JDVShkcm1fdW5wbHVnX3NyY3UpOworCiAvKgogICogRFJNIE1pbm9ycwog ICogQSBEUk0gZGV2aWNlIGNhbiBwcm92aWRlIHNldmVyYWwgY2hhci1kZXYgaW50ZXJmYWNlcyBv biB0aGUgRFJNLU1ham9yLiBFYWNoCkBAIC0zMTgsMTggKzMyMSw1MSBAQCB2b2lkIGRybV9wdXRf ZGV2KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiB9CiBFWFBPUlRfU1lNQk9MKGRybV9wdXRfZGV2 KTsKIAotc3RhdGljIHZvaWQgZHJtX2RldmljZV9zZXRfdW5wbHVnZ2VkKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYpCisvKioKKyAqIGRybV9kZXZfZW50ZXIgLSBFbnRlciBkZXZpY2UgY3JpdGljYWwg c2VjdGlvbgorICogQGRldjogRFJNIGRldmljZQorICogQGlkeDogUG9pbnRlciB0byBpbmRleCB0 aGF0IHdpbGwgYmUgcGFzc2VkIHRvIHRoZSBtYXRjaGluZyBkcm1fZGV2X2V4aXQoKQorICoKKyAq IFRoaXMgZnVuY3Rpb24gbWFya3MgYW5kIHByb3RlY3RzIHRoZSBiZWdpbm5pbmcgb2YgYSBzZWN0 aW9uIHRoYXQgc2hvdWxkIG5vdAorICogYmUgZW50ZXJlZCBhZnRlciB0aGUgZGV2aWNlIGhhcyBi ZWVuIHVucGx1Z2dlZC4gVGhlIHNlY3Rpb24gZW5kIGlzIG1hcmtlZAorICogd2l0aCBkcm1fZGV2 X2V4aXQoKS4gQ2FsbHMgdG8gdGhpcyBmdW5jdGlvbiBjYW4gYmUgbmVzdGVkLgorICoKKyAqIFJl dHVybnM6CisgKiBUcnVlIGlmIGl0IGlzIE9LIHRvIGVudGVyIHRoZSBzZWN0aW9uLCBmYWxzZSBv dGhlcndpc2UuCisgKi8KK2Jvb2wgZHJtX2Rldl9lbnRlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCBpbnQgKmlkeCkKK3sKKwkqaWR4ID0gc3JjdV9yZWFkX2xvY2soJmRybV91bnBsdWdfc3JjdSk7 CisKKwlpZiAoZGV2LT51bnBsdWdnZWQpIHsKKwkJc3JjdV9yZWFkX3VubG9jaygmZHJtX3VucGx1 Z19zcmN1LCAqaWR4KTsKKwkJcmV0dXJuIGZhbHNlOworCX0KKworCXJldHVybiB0cnVlOworfQor RVhQT1JUX1NZTUJPTChkcm1fZGV2X2VudGVyKTsKKworLyoqCisgKiBkcm1fZGV2X2V4aXQgLSBF eGl0IGRldmljZSBjcml0aWNhbCBzZWN0aW9uCisgKiBAaWR4OiBpbmRleCByZXR1cm5lZCBmcm9t IGRybV9kZXZfZW50ZXIoKQorICoKKyAqIFRoaXMgZnVuY3Rpb24gbWFya3MgdGhlIGVuZCBvZiBh IHNlY3Rpb24gdGhhdCBzaG91bGQgbm90IGJlIGVudGVyZWQgYWZ0ZXIKKyAqIHRoZSBkZXZpY2Ug aGFzIGJlZW4gdW5wbHVnZ2VkLgorICovCit2b2lkIGRybV9kZXZfZXhpdChpbnQgaWR4KQogewot CXNtcF93bWIoKTsKLQlhdG9taWNfc2V0KCZkZXYtPnVucGx1Z2dlZCwgMSk7CisJc3JjdV9yZWFk X3VubG9jaygmZHJtX3VucGx1Z19zcmN1LCBpZHgpOwogfQorRVhQT1JUX1NZTUJPTChkcm1fZGV2 X2V4aXQpOwogCiAvKioKICAqIGRybV9kZXZfdW5wbHVnIC0gdW5wbHVnIGEgRFJNIGRldmljZQog ICogQGRldjogRFJNIGRldmljZQogICoKICAqIFRoaXMgdW5wbHVncyBhIGhvdHBsdWdnYWJsZSBE Uk0gZGV2aWNlLCB3aGljaCBtYWtlcyBpdCBpbmFjY2Vzc2libGUgdG8KLSAqIHVzZXJzcGFjZSBv cGVyYXRpb25zLiBFbnRyeS1wb2ludHMgY2FuIHVzZSBkcm1fZGV2X2lzX3VucGx1Z2dlZCgpLiBU aGlzCisgKiB1c2Vyc3BhY2Ugb3BlcmF0aW9ucy4gRW50cnktcG9pbnRzIGNhbiB1c2UgZHJtX2Rl dl9lbnRlcigpIGFuZAorICogZHJtX2Rldl9leGl0KCkgdG8gcHJvdGVjdCBkZXZpY2UgcmVzb3Vy Y2VzIGluIGEgcmFjZSBmcmVlIG1hbm5lci4gVGhpcwogICogZXNzZW50aWFsbHkgdW5yZWdpc3Rl cnMgdGhlIGRldmljZSBsaWtlIGRybV9kZXZfdW5yZWdpc3RlcigpLCBidXQgY2FuIGJlCiAgKiBj YWxsZWQgd2hpbGUgdGhlcmUgYXJlIHN0aWxsIG9wZW4gdXNlcnMgb2YgQGRldi4KICAqLwpAQCAt MzM4LDEwICszNzQsMTggQEAgdm9pZCBkcm1fZGV2X3VucGx1ZyhzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2KQogCWRybV9kZXZfdW5yZWdpc3RlcihkZXYpOwogCiAJbXV0ZXhfbG9jaygmZHJtX2dsb2Jh bF9tdXRleCk7Ci0JZHJtX2RldmljZV9zZXRfdW5wbHVnZ2VkKGRldik7CiAJaWYgKGRldi0+b3Bl bl9jb3VudCA9PSAwKQogCQlkcm1fZGV2X3B1dChkZXYpOwogCW11dGV4X3VubG9jaygmZHJtX2ds b2JhbF9tdXRleCk7CisKKwkvKgorCSAqIEFmdGVyIHN5bmNocm9uaXppbmcgYW55IGNyaXRpY2Fs IHJlYWQgc2VjdGlvbiBpcyBndWFyYW50ZWVkIHRvIHNlZQorCSAqIHRoZSBuZXcgdmFsdWUgb2Yg LT51bnBsdWdnZWQsIGFuZCBhbnkgY3JpdGljYWwgc2VjdGlvbiB3aGljaCBtaWdodAorCSAqIHN0 aWxsIGhhdmUgc2VlbiB0aGUgb2xkIHZhbHVlIG9mIC0+dW5wbHVnZ2VkIGlzIGd1YXJhbnRlZWQg dG8gaGF2ZQorCSAqIGZpbmlzaGVkLgorCSAqLworCWRldi0+dW5wbHVnZ2VkID0gdHJ1ZTsKKwlz eW5jaHJvbml6ZV9zcmN1KCZkcm1fdW5wbHVnX3NyY3UpOwogfQogRVhQT1JUX1NZTUJPTChkcm1f ZGV2X3VucGx1Zyk7CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9kZXZpY2UuaCBiL2lu Y2x1ZGUvZHJtL2RybV9kZXZpY2UuaAppbmRleCA3YzRmYTMyZjNmYzYuLjNhMGVhYzI4ODViNyAx MDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2RldmljZS5oCisrKyBiL2luY2x1ZGUvZHJtL2Ry bV9kZXZpY2UuaApAQCAtNDYsNyArNDYsMTQgQEAgc3RydWN0IGRybV9kZXZpY2UgewogCS8qIGN1 cnJlbnRseSBhY3RpdmUgbWFzdGVyIGZvciB0aGlzIGRldmljZS4gUHJvdGVjdGVkIGJ5IG1hc3Rl cl9tdXRleCAqLwogCXN0cnVjdCBkcm1fbWFzdGVyICptYXN0ZXI7CiAKLQlhdG9taWNfdCB1bnBs dWdnZWQ7CQkJLyoqPCBGbGFnIHdoZXRoZXIgZGV2IGlzIGRlYWQgKi8KKwkvKioKKwkgKiBAdW5w bHVnZ2VkOgorCSAqCisJICogRmxhZyB0byB0ZWxsIGlmIHRoZSBkZXZpY2UgaGFzIGJlZW4gdW5w bHVnZ2VkLgorCSAqIFNlZSBkcm1fZGV2X2VudGVyKCkgYW5kIGRybV9kZXZfaXNfdW5wbHVnZ2Vk KCkuCisJICovCisJYm9vbCB1bnBsdWdnZWQ7CisKIAlzdHJ1Y3QgaW5vZGUgKmFub25faW5vZGU7 CQkvKio8IGlub2RlIGZvciBwcml2YXRlIGFkZHJlc3Mtc3BhY2UgKi8KIAljaGFyICp1bmlxdWU7 CQkJCS8qKjwgdW5pcXVlIG5hbWUgb2YgdGhlIGRldmljZSAqLwogCS8qQH0gKi8KZGlmZiAtLWdp dCBhL2luY2x1ZGUvZHJtL2RybV9kcnYuaCBiL2luY2x1ZGUvZHJtL2RybV9kcnYuaAppbmRleCBk MjNkY2RkMWJkOTUuLjdlNTQ1ZjVmOTRkMyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2Ry di5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9kcnYuaApAQCAtNjI0LDYgKzYyNCw4IEBAIHZvaWQg ZHJtX2Rldl9nZXQoc3RydWN0IGRybV9kZXZpY2UgKmRldik7CiB2b2lkIGRybV9kZXZfcHV0KHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogdm9pZCBkcm1fZGV2X3VucmVmKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYpOwogdm9pZCBkcm1fcHV0X2RldihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKK2Jv b2wgZHJtX2Rldl9lbnRlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgKmlkeCk7Cit2b2lk IGRybV9kZXZfZXhpdChpbnQgaWR4KTsKIHZvaWQgZHJtX2Rldl91bnBsdWcoc3RydWN0IGRybV9k ZXZpY2UgKmRldik7CiAKIC8qKgpAQCAtNjM1LDExICs2MzcsMTYgQEAgdm9pZCBkcm1fZGV2X3Vu cGx1ZyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKICAqIHVucGx1Z2dlZCwgdGhlc2UgdHdvIGZ1 bmN0aW9ucyBndWFyYW50ZWUgdGhhdCBhbnkgc3RvcmUgYmVmb3JlIGNhbGxpbmcKICAqIGRybV9k ZXZfdW5wbHVnKCkgaXMgdmlzaWJsZSB0byBjYWxsZXJzIG9mIHRoaXMgZnVuY3Rpb24gYWZ0ZXIg aXQgY29tcGxldGVzCiAgKi8KLXN0YXRpYyBpbmxpbmUgaW50IGRybV9kZXZfaXNfdW5wbHVnZ2Vk KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCitzdGF0aWMgaW5saW5lIGJvb2wgZHJtX2Rldl9pc191 bnBsdWdnZWQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIHsKLQlpbnQgcmV0ID0gYXRvbWljX3Jl YWQoJmRldi0+dW5wbHVnZ2VkKTsKLQlzbXBfcm1iKCk7Ci0JcmV0dXJuIHJldDsKKwlpbnQgaWR4 OworCisJaWYgKGRybV9kZXZfZW50ZXIoZGV2LCAmaWR4KSkgeworCQlkcm1fZGV2X2V4aXQoaWR4 KTsKKwkJcmV0dXJuIGZhbHNlOworCX0KKworCXJldHVybiB0cnVlOwogfQogCiAKLS0gCjIuNy40 CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK