From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thierry Reding Subject: [PATCH v4 05/11] drm/fb-helper: Add top-level lock Date: Wed, 29 Mar 2017 16:43:55 +0200 Message-ID: <20170329144401.1804-6-thierry.reding@gmail.com> References: <20170329144401.1804-1-thierry.reding@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170329144401.1804-1-thierry.reding@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter Cc: John Stultz , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KCkludHJvZHVjZSBhIG5l dyB0b3AtbGV2ZWwgbG9jayBmb3IgdGhlIEZCIGhlbHBlciBjb2RlLiBUaGlzIHdpbGwgYWxsb3cK YmV0dGVyIGxvY2tpbmcgZ3JhbnVsYXJpdHkgYW5kIGF2b2lkIHRoZSBuZWVkIHRvIGFidXNlIG1v ZGVzZXQgbG9ja2luZwpmb3IgdGhpcyBwdXJwb3NlIGluc3RlYWQuCgpUZXN0ZWQtYnk6IEpvaG4g U3R1bHR6IDxqb2huLnN0dWx0ekBsaW5hcm8ub3JnPgpSZXZpZXdlZC1ieTogRGFuaWVsIFZldHRl ciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KU2lnbmVkLW9mZi1ieTogVGhpZXJyeSBSZWRpbmcg PHRyZWRpbmdAbnZpZGlhLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5j IHwgMjYgKysrKysrKysrKysrKysrKysrKysrKysrKy0KIGluY2x1ZGUvZHJtL2RybV9mYl9oZWxw ZXIuaCAgICAgfCAxMiArKysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgMzcgaW5zZXJ0aW9u cygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJf aGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jCmluZGV4IDE4MTA1Y2Jl OTgxMC4uODYwYmU1MWQ5MmY2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hl bHBlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMKQEAgLTExOSw2ICsx MTksNyBAQCBzdGF0aWMgaW50IF9fZHJtX2ZiX2hlbHBlcl9hZGRfb25lX2Nvbm5lY3RvcihzdHJ1 Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyLAogCWlmICghZHJtX2ZiZGV2X2VtdWxhdGlvbikK IAkJcmV0dXJuIDA7CiAKKwlXQVJOX09OKCFtdXRleF9pc19sb2NrZWQoJmZiX2hlbHBlci0+bG9j aykpOwogCVdBUk5fT04oIW11dGV4X2lzX2xvY2tlZCgmZmJfaGVscGVyLT5kZXYtPm1vZGVfY29u ZmlnLm11dGV4KSk7CiAKIAljb3VudCA9IGZiX2hlbHBlci0+Y29ubmVjdG9yX2NvdW50ICsgMTsK QEAgLTE1MCwxMSArMTUxLDEzIEBAIGludCBkcm1fZmJfaGVscGVyX2FkZF9vbmVfY29ubmVjdG9y KHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIsCiB7CiAJaW50IGVycjsKIAorCW11dGV4 X2xvY2soJmZiX2hlbHBlci0+bG9jayk7CiAJbXV0ZXhfbG9jaygmZmJfaGVscGVyLT5kZXYtPm1v ZGVfY29uZmlnLm11dGV4KTsKIAogCWVyciA9IF9fZHJtX2ZiX2hlbHBlcl9hZGRfb25lX2Nvbm5l Y3RvcihmYl9oZWxwZXIsIGNvbm5lY3Rvcik7CiAKIAltdXRleF91bmxvY2soJmZiX2hlbHBlci0+ ZGV2LT5tb2RlX2NvbmZpZy5tdXRleCk7CisJbXV0ZXhfdW5sb2NrKCZmYl9oZWxwZXItPmxvY2sp OwogCiAJcmV0dXJuIGVycjsKIH0KQEAgLTE4NCw2ICsxODcsNyBAQCBpbnQgZHJtX2ZiX2hlbHBl cl9zaW5nbGVfYWRkX2FsbF9jb25uZWN0b3JzKHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxw ZXIpCiAJaWYgKCFkcm1fZmJkZXZfZW11bGF0aW9uKQogCQlyZXR1cm4gMDsKIAorCW11dGV4X2xv Y2soJmZiX2hlbHBlci0+bG9jayk7CiAJbXV0ZXhfbG9jaygmZGV2LT5tb2RlX2NvbmZpZy5tdXRl eCk7CiAJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfYmVnaW4oZGV2LCAmY29ubl9pdGVyKTsKIAlk cm1fZm9yX2VhY2hfY29ubmVjdG9yX2l0ZXIoY29ubmVjdG9yLCAmY29ubl9pdGVyKSB7CkBAIC0y MDcsNiArMjExLDcgQEAgaW50IGRybV9mYl9oZWxwZXJfc2luZ2xlX2FkZF9hbGxfY29ubmVjdG9y cyhzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyKQogb3V0OgogCWRybV9jb25uZWN0b3Jf bGlzdF9pdGVyX2VuZCgmY29ubl9pdGVyKTsKIAltdXRleF91bmxvY2soJmRldi0+bW9kZV9jb25m aWcubXV0ZXgpOworCW11dGV4X3VubG9jaygmZmJfaGVscGVyLT5sb2NrKTsKIAogCXJldHVybiBy ZXQ7CiB9CkBAIC0yMjEsNiArMjI2LDcgQEAgc3RhdGljIGludCBfX2RybV9mYl9oZWxwZXJfcmVt b3ZlX29uZV9jb25uZWN0b3Ioc3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlciwKIAlpZiAo IWRybV9mYmRldl9lbXVsYXRpb24pCiAJCXJldHVybiAwOwogCisJV0FSTl9PTighbXV0ZXhfaXNf bG9ja2VkKCZmYl9oZWxwZXItPmxvY2spKTsKIAlXQVJOX09OKCFtdXRleF9pc19sb2NrZWQoJmZi X2hlbHBlci0+ZGV2LT5tb2RlX2NvbmZpZy5tdXRleCkpOwogCiAJZm9yIChpID0gMDsgaSA8IGZi X2hlbHBlci0+Y29ubmVjdG9yX2NvdW50OyBpKyspIHsKQEAgLTI0NywxMSArMjUzLDEzIEBAIGlu dCBkcm1fZmJfaGVscGVyX3JlbW92ZV9vbmVfY29ubmVjdG9yKHN0cnVjdCBkcm1fZmJfaGVscGVy ICpmYl9oZWxwZXIsCiB7CiAJaW50IGVycjsKIAorCW11dGV4X2xvY2soJmZiX2hlbHBlci0+bG9j ayk7CiAJbXV0ZXhfbG9jaygmZmJfaGVscGVyLT5kZXYtPm1vZGVfY29uZmlnLm11dGV4KTsKIAog CWVyciA9IF9fZHJtX2ZiX2hlbHBlcl9yZW1vdmVfb25lX2Nvbm5lY3RvcihmYl9oZWxwZXIsIGNv bm5lY3Rvcik7CiAKIAltdXRleF91bmxvY2soJmZiX2hlbHBlci0+ZGV2LT5tb2RlX2NvbmZpZy5t dXRleCk7CisJbXV0ZXhfdW5sb2NrKCZmYl9oZWxwZXItPmxvY2spOwogCiAJcmV0dXJuIGVycjsK IH0KQEAgLTUwMywxNiArNTExLDIxIEBAIGludCBkcm1fZmJfaGVscGVyX3Jlc3RvcmVfZmJkZXZf bW9kZV91bmxvY2tlZChzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyKQogCWlmICghZHJt X2ZiZGV2X2VtdWxhdGlvbikKIAkJcmV0dXJuIC1FTk9ERVY7CiAKKwltdXRleF9sb2NrKCZmYl9o ZWxwZXItPmxvY2spOwogCWRybV9tb2Rlc2V0X2xvY2tfYWxsKGRldik7CisKIAlyZXQgPSByZXN0 b3JlX2ZiZGV2X21vZGUoZmJfaGVscGVyKTsKIAogCWRvX2RlbGF5ZWQgPSBmYl9oZWxwZXItPmRl bGF5ZWRfaG90cGx1ZzsKIAlpZiAoZG9fZGVsYXllZCkKIAkJZmJfaGVscGVyLT5kZWxheWVkX2hv dHBsdWcgPSBmYWxzZTsKKwogCWRybV9tb2Rlc2V0X3VubG9ja19hbGwoZGV2KTsKKwltdXRleF91 bmxvY2soJmZiX2hlbHBlci0+bG9jayk7CiAKIAlpZiAoZG9fZGVsYXllZCkKIAkJZHJtX2ZiX2hl bHBlcl9ob3RwbHVnX2V2ZW50KGZiX2hlbHBlcik7CisKIAlyZXR1cm4gcmV0OwogfQogRVhQT1JU X1NZTUJPTChkcm1fZmJfaGVscGVyX3Jlc3RvcmVfZmJkZXZfbW9kZV91bmxvY2tlZCk7CkBAIC03 NDgsNiArNzYxLDcgQEAgdm9pZCBkcm1fZmJfaGVscGVyX3ByZXBhcmUoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwgc3RydWN0IGRybV9mYl9oZWxwZXIgKmhlbHBlciwKIAlJTklUX1dPUksoJmhlbHBl ci0+cmVzdW1lX3dvcmssIGRybV9mYl9oZWxwZXJfcmVzdW1lX3dvcmtlcik7CiAJSU5JVF9XT1JL KCZoZWxwZXItPmRpcnR5X3dvcmssIGRybV9mYl9oZWxwZXJfZGlydHlfd29yayk7CiAJaGVscGVy LT5kaXJ0eV9jbGlwLngxID0gaGVscGVyLT5kaXJ0eV9jbGlwLnkxID0gfjA7CisJbXV0ZXhfaW5p dCgmaGVscGVyLT5sb2NrKTsKIAloZWxwZXItPmZ1bmNzID0gZnVuY3M7CiAJaGVscGVyLT5kZXYg PSBkZXY7CiB9CkBAIC05MTMsNiArOTI3LDcgQEAgdm9pZCBkcm1fZmJfaGVscGVyX2Zpbmkoc3Ry dWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlcikKIAl9CiAJbXV0ZXhfdW5sb2NrKCZrZXJuZWxf ZmJfaGVscGVyX2xvY2spOwogCisJbXV0ZXhfZGVzdHJveSgmZmJfaGVscGVyLT5sb2NrKTsKIAlk cm1fZmJfaGVscGVyX2NydGNfZnJlZShmYl9oZWxwZXIpOwogCiB9CkBAIC0yNDIyLDI1ICsyNDM3 LDM0IEBAIEVYUE9SVF9TWU1CT0woZHJtX2ZiX2hlbHBlcl9pbml0aWFsX2NvbmZpZyk7CiBpbnQg ZHJtX2ZiX2hlbHBlcl9ob3RwbHVnX2V2ZW50KHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxw ZXIpCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGZiX2hlbHBlci0+ZGV2OworCWludCBl cnIgPSAwOwogCiAJaWYgKCFkcm1fZmJkZXZfZW11bGF0aW9uKQogCQlyZXR1cm4gMDsKIAorCW11 dGV4X2xvY2soJmZiX2hlbHBlci0+bG9jayk7CiAJbXV0ZXhfbG9jaygmZGV2LT5tb2RlX2NvbmZp Zy5tdXRleCk7CisKIAlpZiAoIWZiX2hlbHBlci0+ZmIgfHwgIWRybV9mYl9oZWxwZXJfaXNfYm91 bmQoZmJfaGVscGVyKSkgewogCQlmYl9oZWxwZXItPmRlbGF5ZWRfaG90cGx1ZyA9IHRydWU7CiAJ CW11dGV4X3VubG9jaygmZGV2LT5tb2RlX2NvbmZpZy5tdXRleCk7Ci0JCXJldHVybiAwOworCQln b3RvIHVubG9jazsKIAl9CisKIAlEUk1fREVCVUdfS01TKCJcbiIpOwogCiAJZHJtX3NldHVwX2Ny dGNzKGZiX2hlbHBlciwgZmJfaGVscGVyLT5mYi0+d2lkdGgsIGZiX2hlbHBlci0+ZmItPmhlaWdo dCk7CiAKIAltdXRleF91bmxvY2soJmRldi0+bW9kZV9jb25maWcubXV0ZXgpOworCW11dGV4X3Vu bG9jaygmZmJfaGVscGVyLT5sb2NrKTsKIAogCWRybV9mYl9oZWxwZXJfc2V0X3BhcihmYl9oZWxw ZXItPmZiZGV2KTsKIAogCXJldHVybiAwOworCit1bmxvY2s6CisJbXV0ZXhfdW5sb2NrKCZmYl9o ZWxwZXItPmxvY2spOworCXJldHVybiBlcnI7CiB9CiBFWFBPUlRfU1lNQk9MKGRybV9mYl9oZWxw ZXJfaG90cGx1Z19ldmVudCk7CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9mYl9oZWxw ZXIuaCBiL2luY2x1ZGUvZHJtL2RybV9mYl9oZWxwZXIuaAppbmRleCAxMTllNWU0NjA5YzcuLjQ0 ZTJjNTdhNzA0OSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2ZiX2hlbHBlci5oCisrKyBi L2luY2x1ZGUvZHJtL2RybV9mYl9oZWxwZXIuaApAQCAtMjAxLDYgKzIwMSwxOCBAQCBzdHJ1Y3Qg ZHJtX2ZiX2hlbHBlciB7CiAJc3RydWN0IHdvcmtfc3RydWN0IHJlc3VtZV93b3JrOwogCiAJLyoq CisJICogQGxvY2s6CisJICoKKwkgKiBUb3AtbGV2ZWwgRkIgaGVscGVyIGxvY2suIFRoaXMgcHJv dGVjdHMgYWxsIGludGVybmFsIGRhdGEgc3RydWN0dXJlcworCSAqIGFuZCBsaXN0cywgc3VjaCBh cyBAY29ubmVjdG9yX2luZm8gYW5kIEBjcnRjX2luZm8uCisJICoKKwkgKiBGSVhNRTogZmJkZXYg ZW11bGF0aW9uIGxvY2tpbmcgaXMgYSBtZXNzIGFuZCBsb25nIHRlcm0gd2Ugd2FudCB0bworCSAq IHByb3RlY3QgYWxsIGhlbHBlciBpbnRlcm5hbCBzdGF0ZSB3aXRoIHRoaXMgbG9jayBhcyB3ZWxs IGFzIHJlZHVjZQorCSAqIGNvcmUgS01TIGxvY2tpbmcgYXMgbXVjaCBhcyBwb3NzaWJsZS4KKwkg Ki8KKwlzdHJ1Y3QgbXV0ZXggbG9jazsKKworCS8qKgogCSAqIEBrZXJuZWxfZmJfbGlzdDoKIAkg KgogCSAqIEVudHJ5IG9uIHRoZSBnbG9iYWwga2VybmVsX2ZiX2hlbHBlcl9saXN0LCB1c2VkIGZv ciBrZ2RiIGVudHJ5L2V4aXQuCi0tIAoyLjEyLjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=