From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v2 5/9] drm/fb-helper: Add top-level lock Date: Tue, 7 Jun 2016 21:54:12 +0200 Message-ID: <20160607195412.GI3363@phenom.ffwll.local> References: <20160607152625.9511-1-thierry.reding@gmail.com> <20160607152625.9511-6-thierry.reding@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x241.google.com (mail-wm0-x241.google.com [IPv6:2a00:1450:400c:c09::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0E5556E837 for ; Tue, 7 Jun 2016 19:54:17 +0000 (UTC) Received: by mail-wm0-x241.google.com with SMTP id r5so8610072wmr.0 for ; Tue, 07 Jun 2016 12:54:16 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20160607152625.9511-6-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: Thierry Reding Cc: Boris Brezillon , Joonyoung Shim , Xinliang Liu , Daniel Vetter , intel-gfx@lists.freedesktop.org, Seung-Woo Kim , Xinwei Kong , dri-devel@lists.freedesktop.org, Inki Dae , Kyungmin Park , Chen Feng , Alex Deucher , Christian =?iso-8859-1?Q?K=F6nig?= List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBKdW4gMDcsIDIwMTYgYXQgMDU6MjY6MjFQTSArMDIwMCwgVGhpZXJyeSBSZWRpbmcg d3JvdGU6Cj4gRnJvbTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KPiAKPiBJ bnRyb2R1Y2UgYSBuZXcgdG9wLWxldmVsIGxvY2sgZm9yIHRoZSBGQiBoZWxwZXIgY29kZS4gVGhp cyB3aWxsIGFsbG93Cj4gYmV0dGVyIGxvY2tpbmcgZ3JhbnVsYXJpdHkgYW5kIGF2b2lkIHRoZSBu ZWVkIHRvIGFidXNlIG1vZGVzZXQgbG9ja2luZwo+IGZvciB0aGlzIHB1cnBvc2UgaW5zdGVhZC4K PiAKPiBTaWduZWQtb2ZmLWJ5OiBUaGllcnJ5IFJlZGluZyA8dHJlZGluZ0BudmlkaWEuY29tPgoK SSB0aGluayB0aGlzIGlzIG5vdyB0b28gbXVjaCBsb2NraW5nLCBhbmQgaW1lIHRvbyBtdWNoIGxv Y2tpbmcgb25seSBsZWFkcwp0byBtYXNzaXZlIGNvbmZ1c2lvbi4gSXQnZCBiZSBncmVhdCBpZiB3 ZSBjYW4gY2xlYW4gdGhpcyB1cCAobWF5YmUgaW4gYQpmb2xsb3ctdXAgcGF0Y2gsIG1heWJlIGlu IHRoaXMgb25lIGhlcmUpIGFuZCByZXN0cmljdCB0aGUgY29yZSBsb2NrcyB0bwpqdXN0IHdoZXJl IHdlIG5lZWQgdGhlbTogU28gYWxsIHRoZSBwbGFjZXMgdGhhdCBsb29rIGF0IHByb2JlIHN0YXRl IG5lZWQKZGV2LT5tb2RlX2NvbmZpZy5tdXRleCwgYWxsIHRoZSBwbGFjZXMgdGhhdCBjaGFuZ2Ug bW9kZXNldCBzdGF0ZSBuZWVkIHRoZQptb2Rlc2V0IGxvY2tzLiBCdXQgZS5nLiBhZGQvcmVtb3Zl X29uZV9jb25uZWN0b3Igb25seSBuZWVkIHRoZSBuZXcKZmJfaGVscGVyLT5sb2NrIEkgdGhpbmsu IEluIHRoZSBmdXR1cmUgd2UgbWlnaHQgZ3JhYmJpbmcgdGhlIG90aGVyIGxvY2tzCmV2ZW4gZG93 biBpbnRvIHRoZSBsZWdhY3kvYXRvbWljIGZiZGV2IGltcGxlbWVudGF0aW9ucy4KCj4gLS0tCj4g IGRyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMgfCAyNyArKysrKysrKysrKysrKysrKysr KysrKysrKy0KPiAgaW5jbHVkZS9kcm0vZHJtX2ZiX2hlbHBlci5oICAgICB8ICA1ICsrKysrCj4g IDIgZmlsZXMgY2hhbmdlZCwgMzEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQo+IAo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jIGIvZHJpdmVycy9ncHUv ZHJtL2RybV9mYl9oZWxwZXIuYwo+IGluZGV4IDI1MmM3NTU3YmRiNS4uZjc3MjJiY2IwMDY0IDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jCj4gQEAgLTEwNSw2ICsxMDUsNyBAQCBzdGF0aWMg aW50IF9fZHJtX2ZiX2hlbHBlcl9hZGRfb25lX2Nvbm5lY3RvcihzdHJ1Y3QgZHJtX2ZiX2hlbHBl ciAqZmJfaGVscGVyLAo+ICAJaWYgKCFkcm1fZmJkZXZfZW11bGF0aW9uKQo+ICAJCXJldHVybiAw Owo+ICAKPiArCVdBUk5fT04oIW11dGV4X2lzX2xvY2tlZCgmZmJfaGVscGVyLT5sb2NrKSk7Cj4g IAlXQVJOX09OKCFtdXRleF9pc19sb2NrZWQoJmZiX2hlbHBlci0+ZGV2LT5tb2RlX2NvbmZpZy5t dXRleCkpOwo+ICAKPiAgCWNvdW50ID0gZmJfaGVscGVyLT5jb25uZWN0b3JfY291bnQgKyAxOwo+ IEBAIC0xMjcsNiArMTI4LDcgQEAgc3RhdGljIGludCBfX2RybV9mYl9oZWxwZXJfYWRkX29uZV9j b25uZWN0b3Ioc3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlciwKPiAgCWRybV9jb25uZWN0 b3JfcmVmZXJlbmNlKGNvbm5lY3Rvcik7Cj4gIAljb25uLT5jb25uZWN0b3IgPSBjb25uZWN0b3I7 Cj4gIAlmYl9oZWxwZXItPmNvbm5lY3Rvcl9pbmZvW2ZiX2hlbHBlci0+Y29ubmVjdG9yX2NvdW50 KytdID0gY29ubjsKPiArCj4gIAlyZXR1cm4gMDsKPiAgfQo+ICAKPiBAQCAtMTM1LDExICsxMzcs MTMgQEAgaW50IGRybV9mYl9oZWxwZXJfYWRkX29uZV9jb25uZWN0b3Ioc3RydWN0IGRybV9mYl9o ZWxwZXIgKmZiX2hlbHBlciwKPiAgewo+ICAJaW50IGVycjsKPiAgCj4gKwltdXRleF9sb2NrKCZm Yl9oZWxwZXItPmxvY2spOwo+ICAJbXV0ZXhfbG9jaygmZmJfaGVscGVyLT5kZXYtPm1vZGVfY29u ZmlnLm11dGV4KTsKPiAgCj4gIAllcnIgPSBfX2RybV9mYl9oZWxwZXJfYWRkX29uZV9jb25uZWN0 b3IoZmJfaGVscGVyLCBjb25uZWN0b3IpOwo+ICAKPiAgCW11dGV4X3VubG9jaygmZmJfaGVscGVy LT5kZXYtPm1vZGVfY29uZmlnLm11dGV4KTsKPiArCW11dGV4X3VubG9jaygmZmJfaGVscGVyLT5s b2NrKTsKPiAgCj4gIAlyZXR1cm4gZXJyOwo+ICB9Cj4gQEAgLTE2OCw2ICsxNzIsNyBAQCBpbnQg ZHJtX2ZiX2hlbHBlcl9zaW5nbGVfYWRkX2FsbF9jb25uZWN0b3JzKHN0cnVjdCBkcm1fZmJfaGVs cGVyICpmYl9oZWxwZXIpCj4gIAlpZiAoIWRybV9mYmRldl9lbXVsYXRpb24pCj4gIAkJcmV0dXJu IDA7Cj4gIAo+ICsJbXV0ZXhfbG9jaygmZmJfaGVscGVyLT5sb2NrKTsKPiAgCW11dGV4X2xvY2so JmRldi0+bW9kZV9jb25maWcubXV0ZXgpOwo+ICAKPiAgCWRybV9mb3JfZWFjaF9jb25uZWN0b3Io Y29ubmVjdG9yLCBkZXYpIHsKPiBAQCAtMTg0LDYgKzE4OSw3IEBAIGludCBkcm1fZmJfaGVscGVy X3NpbmdsZV9hZGRfYWxsX2Nvbm5lY3RvcnMoc3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBl cikKPiAgCX0KPiAgCj4gIAltdXRleF91bmxvY2soJmRldi0+bW9kZV9jb25maWcubXV0ZXgpOwo+ ICsJbXV0ZXhfdW5sb2NrKCZmYl9oZWxwZXItPmxvY2spOwo+ICAKPiAgCXJldHVybiByZXQ7Cj4g IH0KPiBAQCAtMTk4LDYgKzIwNCw3IEBAIHN0YXRpYyBpbnQgX19kcm1fZmJfaGVscGVyX3JlbW92 ZV9vbmVfY29ubmVjdG9yKHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIsCj4gIAlpZiAo IWRybV9mYmRldl9lbXVsYXRpb24pCj4gIAkJcmV0dXJuIDA7Cj4gIAo+ICsJV0FSTl9PTighbXV0 ZXhfaXNfbG9ja2VkKCZmYl9oZWxwZXItPmxvY2spKTsKPiAgCVdBUk5fT04oIW11dGV4X2lzX2xv Y2tlZCgmZmJfaGVscGVyLT5kZXYtPm1vZGVfY29uZmlnLm11dGV4KSk7Cj4gIAo+ICAJZm9yIChp ID0gMDsgaSA8IGZiX2hlbHBlci0+Y29ubmVjdG9yX2NvdW50OyBpKyspIHsKPiBAQCAtMjI1LDEx ICsyMzIsMTMgQEAgaW50IGRybV9mYl9oZWxwZXJfcmVtb3ZlX29uZV9jb25uZWN0b3Ioc3RydWN0 IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlciwKPiAgewo+ICAJaW50IGVycjsKPiAgCj4gKwltdXRl eF9sb2NrKCZmYl9oZWxwZXItPmxvY2spOwo+ICAJbXV0ZXhfbG9jaygmZmJfaGVscGVyLT5kZXYt Pm1vZGVfY29uZmlnLm11dGV4KTsKPiAgCj4gIAllcnIgPSBfX2RybV9mYl9oZWxwZXJfcmVtb3Zl X29uZV9jb25uZWN0b3IoZmJfaGVscGVyLCBjb25uZWN0b3IpOwo+ICAKPiAgCW11dGV4X3VubG9j aygmZmJfaGVscGVyLT5kZXYtPm1vZGVfY29uZmlnLm11dGV4KTsKPiArCW11dGV4X3VubG9jaygm ZmJfaGVscGVyLT5sb2NrKTsKPiAgCj4gIAlyZXR1cm4gZXJyOwo+ICB9Cj4gQEAgLTQ3OCwxNiAr NDg3LDIxIEBAIGludCBkcm1fZmJfaGVscGVyX3Jlc3RvcmVfZmJkZXZfbW9kZV91bmxvY2tlZChz dHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyKQo+ICAJaWYgKCFkcm1fZmJkZXZfZW11bGF0 aW9uKQo+ICAJCXJldHVybiAtRU5PREVWOwo+ICAKPiArCW11dGV4X2xvY2soJmZiX2hlbHBlci0+ bG9jayk7Cj4gIAlkcm1fbW9kZXNldF9sb2NrX2FsbChkZXYpOwo+ICsKPiAgCXJldCA9IHJlc3Rv cmVfZmJkZXZfbW9kZShmYl9oZWxwZXIpOwo+ICAKPiAgCWRvX2RlbGF5ZWQgPSBmYl9oZWxwZXIt PmRlbGF5ZWRfaG90cGx1ZzsKPiAgCWlmIChkb19kZWxheWVkKQo+ICAJCWZiX2hlbHBlci0+ZGVs YXllZF9ob3RwbHVnID0gZmFsc2U7Cj4gKwo+ICAJZHJtX21vZGVzZXRfdW5sb2NrX2FsbChkZXYp Owo+ICsJbXV0ZXhfdW5sb2NrKCZmYl9oZWxwZXItPmxvY2spOwo+ICAKPiAgCWlmIChkb19kZWxh eWVkKQo+ICAJCWRybV9mYl9oZWxwZXJfaG90cGx1Z19ldmVudChmYl9oZWxwZXIpOwo+ICsKPiAg CXJldHVybiByZXQ7Cj4gIH0KPiAgRVhQT1JUX1NZTUJPTChkcm1fZmJfaGVscGVyX3Jlc3RvcmVf ZmJkZXZfbW9kZV91bmxvY2tlZCk7Cj4gQEAgLTY4OCw2ICs3MDIsNyBAQCB2b2lkIGRybV9mYl9o ZWxwZXJfcHJlcGFyZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2ZiX2hlbHBl ciAqaGVscGVyLAo+ICAJc3Bpbl9sb2NrX2luaXQoJmhlbHBlci0+ZGlydHlfbG9jayk7Cj4gIAlJ TklUX1dPUksoJmhlbHBlci0+ZGlydHlfd29yaywgZHJtX2ZiX2hlbHBlcl9kaXJ0eV93b3JrKTsK PiAgCWhlbHBlci0+ZGlydHlfY2xpcC54MSA9IGhlbHBlci0+ZGlydHlfY2xpcC55MSA9IH4wOwo+ ICsJbXV0ZXhfaW5pdCgmaGVscGVyLT5sb2NrKTsKPiAgCWhlbHBlci0+ZnVuY3MgPSBmdW5jczsK PiAgCWhlbHBlci0+ZGV2ID0gZGV2Owo+ICB9Cj4gQEAgLTg1Myw2ICs4NjgsNyBAQCB2b2lkIGRy bV9mYl9oZWxwZXJfZmluaShzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyKQo+ICAJCQl1 bnJlZ2lzdGVyX3N5c3JxX2tleSgndicsICZzeXNycV9kcm1fZmJfaGVscGVyX3Jlc3RvcmVfb3Ap Owo+ICAJfQo+ICAKPiArCW11dGV4X2Rlc3Ryb3koJmZiX2hlbHBlci0+bG9jayk7Cj4gIAlkcm1f ZmJfaGVscGVyX2NydGNfZnJlZShmYl9oZWxwZXIpOwo+ICAKPiAgfQo+IEBAIC0yMjczLDE2ICsy Mjg5LDIwIEBAIGludCBkcm1fZmJfaGVscGVyX2hvdHBsdWdfZXZlbnQoc3RydWN0IGRybV9mYl9o ZWxwZXIgKmZiX2hlbHBlcikKPiAgewo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGZiX2hl bHBlci0+ZGV2Owo+ICAJdTMyIG1heF93aWR0aCwgbWF4X2hlaWdodDsKPiArCWludCBlcnIgPSAw Owo+ICAKPiAgCWlmICghZHJtX2ZiZGV2X2VtdWxhdGlvbikKPiAgCQlyZXR1cm4gMDsKPiAgCj4g KwltdXRleF9sb2NrKCZmYl9oZWxwZXItPmxvY2spOwo+ICAJbXV0ZXhfbG9jaygmZmJfaGVscGVy LT5kZXYtPm1vZGVfY29uZmlnLm11dGV4KTsKPiArCj4gIAlpZiAoIWZiX2hlbHBlci0+ZmIgfHwg IWRybV9mYl9oZWxwZXJfaXNfYm91bmQoZmJfaGVscGVyKSkgewo+ICAJCWZiX2hlbHBlci0+ZGVs YXllZF9ob3RwbHVnID0gdHJ1ZTsKPiAgCQltdXRleF91bmxvY2soJmZiX2hlbHBlci0+ZGV2LT5t b2RlX2NvbmZpZy5tdXRleCk7Cj4gLQkJcmV0dXJuIDA7Cj4gKwkJZ290byB1bmxvY2s7Cj4gIAl9 Cj4gKwo+ICAJRFJNX0RFQlVHX0tNUygiXG4iKTsKPiAgCj4gIAltYXhfd2lkdGggPSBmYl9oZWxw ZXItPmZiLT53aWR0aDsKPiBAQCAtMjI5MCw2ICsyMzEwLDcgQEAgaW50IGRybV9mYl9oZWxwZXJf aG90cGx1Z19ldmVudChzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyKQo+ICAKPiAgCWRy bV9mYl9oZWxwZXJfcHJvYmVfY29ubmVjdG9yX21vZGVzKGZiX2hlbHBlciwgbWF4X3dpZHRoLCBt YXhfaGVpZ2h0KTsKPiAgCW11dGV4X3VubG9jaygmZmJfaGVscGVyLT5kZXYtPm1vZGVfY29uZmln Lm11dGV4KTsKPiArCW11dGV4X3VubG9jaygmZmJfaGVscGVyLT5sb2NrKTsKPiAgCj4gIAlkcm1f bW9kZXNldF9sb2NrX2FsbChkZXYpOwo+ICAJZHJtX3NldHVwX2NydGNzKGZiX2hlbHBlcik7Cj4g QEAgLTIyOTcsNiArMjMxOCwxMCBAQCBpbnQgZHJtX2ZiX2hlbHBlcl9ob3RwbHVnX2V2ZW50KHN0 cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIpCj4gIAlkcm1fZmJfaGVscGVyX3NldF9wYXIo ZmJfaGVscGVyLT5mYmRldik7Cj4gIAo+ICAJcmV0dXJuIDA7Cj4gKwo+ICt1bmxvY2s6Cj4gKwlt dXRleF91bmxvY2soJmZiX2hlbHBlci0+bG9jayk7Cj4gKwlyZXR1cm4gZXJyOwo+ICB9Cj4gIEVY UE9SVF9TWU1CT0woZHJtX2ZiX2hlbHBlcl9ob3RwbHVnX2V2ZW50KTsKPiAgCj4gZGlmZiAtLWdp dCBhL2luY2x1ZGUvZHJtL2RybV9mYl9oZWxwZXIuaCBiL2luY2x1ZGUvZHJtL2RybV9mYl9oZWxw ZXIuaAo+IGluZGV4IDViNGFhMzUwMjZhMy4uNzczOWJlMDhlYmNhIDEwMDY0NAo+IC0tLSBhL2lu Y2x1ZGUvZHJtL2RybV9mYl9oZWxwZXIuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9mYl9oZWxw ZXIuaAo+IEBAIC0xOTgsNiArMTk4LDExIEBAIHN0cnVjdCBkcm1fZmJfaGVscGVyIHsKPiAgCXN0 cnVjdCB3b3JrX3N0cnVjdCBkaXJ0eV93b3JrOwo+ICAKPiAgCS8qKgo+ICsJICogVG9wLWxldmVs IEZCIGhlbHBlciBsb2NrLgo+ICsJICovCgpuZWVkIHRvIGFkZCBAbG9jazogaW4gdGhlIGFib3Zl IGNvbW1lbnQsIG90aGVyd2lzZSBrZXJuZWxkb2Mgd2lsbCBzdGlsbApjb21wbGFpbiBhYm91dCB0 aGUgbGFjayBvZiBjb21tZW50IGZvciB0aGlzIG5ldyBtZW1iZXIuCi1EYW5pZWwKCj4gKwlzdHJ1 Y3QgbXV0ZXggbG9jazsKPiArCj4gKwkvKioKPiAgCSAqIEBrZXJuZWxfZmJfbGlzdDoKPiAgCSAq Cj4gIAkgKiBFbnRyeSBvbiB0aGUgZ2xvYmFsIGtlcm5lbF9mYl9oZWxwZXJfbGlzdCwgdXNlZCBm b3Iga2dkYiBlbnRyeS9leGl0Lgo+IC0tIAo+IDIuOC4zCj4gCgotLSAKRGFuaWVsIFZldHRlcgpT b2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Jsb2cuZmZ3bGwuY2gK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==