From mboxrd@z Thu Jan 1 00:00:00 1970 From: Inki Dae Subject: Re: [PATCH v2 4/9] drm/fb-helper: Push down modeset lock into FB helpers Date: Fri, 10 Jun 2016 08:56:50 +0900 Message-ID: <575A0242.5090406@samsung.com> References: <20160607152625.9511-1-thierry.reding@gmail.com> <20160607152625.9511-5-thierry.reding@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-reply-to: <20160607152625.9511-5-thierry.reding@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Thierry Reding , Daniel Vetter Cc: Chen Feng , intel-gfx@lists.freedesktop.org, Seung-Woo Kim , dri-devel@lists.freedesktop.org, Xinliang Liu , Kyungmin Park , Alex Deucher , =?UTF-8?B?Q2hyaXN0aWFuIEvDtm5pZw==?= List-Id: intel-gfx@lists.freedesktop.org SGkgVGhpZXJyeSwKCjIwMTbrhYQgMDbsm5QgMDjsnbwgMDA6Mjbsl5AgVGhpZXJyeSBSZWRpbmcg 7J20KOqwgCkg7JO0IOq4gDoKPiBGcm9tOiBUaGllcnJ5IFJlZGluZyA8dHJlZGluZ0BudmlkaWEu Y29tPgo+IAo+IE1vdmUgdGhlIG1vZGVzZXQgbG9ja2luZyBmcm9tIGRyaXZlcnMgaW50byBGQiBo ZWxwZXJzLgo+IAo+IFNpZ25lZC1vZmYtYnk6IFRoaWVycnkgUmVkaW5nIDx0cmVkaW5nQG52aWRp YS5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMgICAgICAgIHwg NTkgKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcF9tc3QuYyAgICB8ICA0IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vcmFkZW9u L3JhZGVvbl9kcF9tc3QuYyB8ICA3IC0tLS0KPiAgMyBmaWxlcyBjaGFuZ2VkLCA0NCBpbnNlcnRp b25zKCspLCAyNiBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2RybV9mYl9oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMKPiBpbmRl eCA5YWZkNDIwODU5NmYuLjI1MmM3NTU3YmRiNSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vZHJtX2ZiX2hlbHBlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIu Ywo+IEBAIC05NSw4ICs5NSw4IEBAIHN0YXRpYyBMSVNUX0hFQUQoa2VybmVsX2ZiX2hlbHBlcl9s aXN0KTsKPiAgICogbW1hcCBwYWdlIHdyaXRlcy4KPiAgICovCj4gIAo+IC1pbnQgZHJtX2ZiX2hl bHBlcl9hZGRfb25lX2Nvbm5lY3RvcihzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyLAo+ IC0JCQkJICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gK3N0YXRpYyBpbnQg X19kcm1fZmJfaGVscGVyX2FkZF9vbmVfY29ubmVjdG9yKHN0cnVjdCBkcm1fZmJfaGVscGVyICpm Yl9oZWxwZXIsCj4gKwkJCQkJICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ ICB7Cj4gIAlzdHJ1Y3QgZHJtX2ZiX2hlbHBlcl9jb25uZWN0b3IgKip0ZW1wOwo+ICAJc3RydWN0 IGRybV9mYl9oZWxwZXJfY29ubmVjdG9yICpjb25uOwo+IEBAIC0xMjksNiArMTI5LDIwIEBAIGlu dCBkcm1fZmJfaGVscGVyX2FkZF9vbmVfY29ubmVjdG9yKHN0cnVjdCBkcm1fZmJfaGVscGVyICpm Yl9oZWxwZXIsCj4gIAlmYl9oZWxwZXItPmNvbm5lY3Rvcl9pbmZvW2ZiX2hlbHBlci0+Y29ubmVj dG9yX2NvdW50KytdID0gY29ubjsKPiAgCXJldHVybiAwOwo+ICB9Cj4gKwo+ICtpbnQgZHJtX2Zi X2hlbHBlcl9hZGRfb25lX2Nvbm5lY3RvcihzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVy LAo+ICsJCQkJICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gK3sKPiArCWlu dCBlcnI7Cj4gKwo+ICsJbXV0ZXhfbG9jaygmZmJfaGVscGVyLT5kZXYtPm1vZGVfY29uZmlnLm11 dGV4KTsKPiArCj4gKwllcnIgPSBfX2RybV9mYl9oZWxwZXJfYWRkX29uZV9jb25uZWN0b3IoZmJf aGVscGVyLCBjb25uZWN0b3IpOwoKSSB0aGluayB5b3UgZG9uJ3QgbmVlZCB0byBtYWtlIF9fZHJt X2ZiX2hlbHBlcl9hZGRfb25fY29ubmVjdG9yIGZ1bmN0aW9uIGJ1dCBqdXN0IHlvdSBjYW4gaW1w bGVtZW50IHRoZSBjb2RlcyBoZXJlIGluc3RlYWQuIEFuZCB0aGUgdXNlIG9mIHByZWZpeCAnX18n IHRoaW5nIHdvdWxkIG5vdCBnb29kLgpBbmQgbXkgY29uY2VybiBhYm91dCB0aGlzIGlzIHRoYXQg b3RoZXIgZHJpdmVycyBtYXkgbmVlZCB0byBjYWxsIHRoaXMgZnVuY3Rpb24gYWZ0ZXIgdGFraW5n IGEgc2FtZSBtdXRleCBsb2NrLiBDYW4geW91IGFzc3VyZSBhbnlvbmUgbm90IHRvIGNhbGwgdGhp cyBmdW5jdGlvbiB3aXRoIG11dGV4IGxvY2s/CgpJZiB0aGVyZSBpcyBzdWNoIGNhc2UgdGhlbiwK CnNvbWVfZnVuY3Rpb24oKQp7CgltdXRleF9sb2NrKCk7CgkuLi4KCW11dGV4X3VubG9jaygpOwoJ ZHJtX2ZiX2hlbHBlcl9hZGRfb25lX2Nvbm5lY3RvcigpOwoJLi4uCn0KClNvIGluIHRoaXMgY2Fz ZSwgb3RoZXIgdXNlcnMgc2hvdWxkIGNvbnNpZGVyIHRvIG1ha2Ugc3VyZSB0byB1bmxvY2sgYmVm b3JlIGNhbGxpbmcgdGhpcyBmdW5jdGlvbi4gVGhhdCB3b3VsZCBiZSBub3cgcmVhbGx5IHdoYXQg eW91IHdhbnQuCgpUaGFua3MsCklua2kgRGFlCgo+ICsKPiArCW11dGV4X3VubG9jaygmZmJfaGVs cGVyLT5kZXYtPm1vZGVfY29uZmlnLm11dGV4KTsKPiArCj4gKwlyZXR1cm4gZXJyOwo+ICt9Cj4g IEVYUE9SVF9TWU1CT0woZHJtX2ZiX2hlbHBlcl9hZGRfb25lX2Nvbm5lY3Rvcik7Cj4gIAo+ICAv KioKPiBAQCAtMTU1LDI4ICsxNjksMjggQEAgaW50IGRybV9mYl9oZWxwZXJfc2luZ2xlX2FkZF9h bGxfY29ubmVjdG9ycyhzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyKQo+ICAJCXJldHVy biAwOwo+ICAKPiAgCW11dGV4X2xvY2soJmRldi0+bW9kZV9jb25maWcubXV0ZXgpOwo+ICsKPiAg CWRybV9mb3JfZWFjaF9jb25uZWN0b3IoY29ubmVjdG9yLCBkZXYpIHsKPiAtCQlyZXQgPSBkcm1f ZmJfaGVscGVyX2FkZF9vbmVfY29ubmVjdG9yKGZiX2hlbHBlciwgY29ubmVjdG9yKTsKPiArCQly ZXQgPSBfX2RybV9mYl9oZWxwZXJfYWRkX29uZV9jb25uZWN0b3IoZmJfaGVscGVyLCBjb25uZWN0 b3IpOwo+ICsJCWlmIChyZXQpIHsKPiArCQkJZm9yIChpID0gMDsgaSA8IGZiX2hlbHBlci0+Y29u bmVjdG9yX2NvdW50OyBpKyspIHsKPiArCQkJCWtmcmVlKGZiX2hlbHBlci0+Y29ubmVjdG9yX2lu Zm9baV0pOwo+ICsJCQkJZmJfaGVscGVyLT5jb25uZWN0b3JfaW5mb1tpXSA9IE5VTEw7Cj4gKwkJ CX0KCkkgdGhpbmsgYWxsIHJlc291cmNlcyBzaG91bGQgYmUgcmVsZWFzZWQgYnkgc29tZW9uZSB3 aG8gYWxsb2NhdGVkIHRoZSByZXNvdXJjZXMgaW4gY2FzZSBvZiBmYWlsdXJlLiBJIG1lYW4gdGhh dCBpZiBzb21lIHJvdXRpbmUgb2YgX19kcm1fZmJfaGVscGVyX2FkZF9vbl9jb25uZWN0b3IgZnVu Y3Rpb24gZmFpbGVkIHRoYW4gdGhlIGZ1bmN0aW9uIG1ha2Ugc3VyZSB0byByZWxlYXNlIHRoZSBy ZXNvdXJjZXMgYWxsb2NhdGVkLiBJIGtub3cgdGhpcyBpcyByZWFsbHkgbm90IHdoYXQgeW91IGRp ZCBidXQgb3JpZ2luYWwgY29kZSBkaWQuIFNvIGhvdyBhYm91dCBjbGVhbm5pbmcgdXAgdGhpcyB0 aGluZz8gCgpUaGFua3MsCklua2kgRGFlCgo+ICAKPiAtCQlpZiAocmV0KQo+IC0JCQlnb3RvIGZh aWw7Cj4gLQl9Cj4gLQltdXRleF91bmxvY2soJmRldi0+bW9kZV9jb25maWcubXV0ZXgpOwo+IC0J cmV0dXJuIDA7Cj4gLWZhaWw6Cj4gLQlmb3IgKGkgPSAwOyBpIDwgZmJfaGVscGVyLT5jb25uZWN0 b3JfY291bnQ7IGkrKykgewo+IC0JCWtmcmVlKGZiX2hlbHBlci0+Y29ubmVjdG9yX2luZm9baV0p Owo+IC0JCWZiX2hlbHBlci0+Y29ubmVjdG9yX2luZm9baV0gPSBOVUxMOwo+ICsJCQlmYl9oZWxw ZXItPmNvbm5lY3Rvcl9jb3VudCA9IDA7Cj4gKwkJCWJyZWFrOwo+ICsJCX0KPiAgCX0KPiAtCWZi X2hlbHBlci0+Y29ubmVjdG9yX2NvdW50ID0gMDsKPiArCj4gIAltdXRleF91bmxvY2soJmRldi0+ bW9kZV9jb25maWcubXV0ZXgpOwo+ICAKPiAgCXJldHVybiByZXQ7Cj4gIH0KPiAgRVhQT1JUX1NZ TUJPTChkcm1fZmJfaGVscGVyX3NpbmdsZV9hZGRfYWxsX2Nvbm5lY3RvcnMpOwo+ICAKPiAtaW50 IGRybV9mYl9oZWxwZXJfcmVtb3ZlX29uZV9jb25uZWN0b3Ioc3RydWN0IGRybV9mYl9oZWxwZXIg KmZiX2hlbHBlciwKPiAtCQkJCSAgICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y KQo+ICtzdGF0aWMgaW50IF9fZHJtX2ZiX2hlbHBlcl9yZW1vdmVfb25lX2Nvbm5lY3RvcihzdHJ1 Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyLAo+ICsJCQkJCQlzdHJ1Y3QgZHJtX2Nvbm5lY3Rv ciAqY29ubmVjdG9yKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2ZiX2hlbHBlcl9jb25uZWN0b3IgKmZi X2hlbHBlcl9jb25uZWN0b3I7Cj4gIAlpbnQgaSwgajsKPiBAQCAtMTkzLDYgKzIwNyw3IEBAIGlu dCBkcm1fZmJfaGVscGVyX3JlbW92ZV9vbmVfY29ubmVjdG9yKHN0cnVjdCBkcm1fZmJfaGVscGVy ICpmYl9oZWxwZXIsCj4gIAo+ICAJaWYgKGkgPT0gZmJfaGVscGVyLT5jb25uZWN0b3JfY291bnQp Cj4gIAkJcmV0dXJuIC1FSU5WQUw7Cj4gKwo+ICAJZmJfaGVscGVyX2Nvbm5lY3RvciA9IGZiX2hl bHBlci0+Y29ubmVjdG9yX2luZm9baV07Cj4gIAlkcm1fY29ubmVjdG9yX3VucmVmZXJlbmNlKGZi X2hlbHBlcl9jb25uZWN0b3ItPmNvbm5lY3Rvcik7Cj4gIAo+IEBAIC0yMDQsNiArMjE5LDIwIEBA IGludCBkcm1fZmJfaGVscGVyX3JlbW92ZV9vbmVfY29ubmVjdG9yKHN0cnVjdCBkcm1fZmJfaGVs cGVyICpmYl9oZWxwZXIsCj4gIAo+ICAJcmV0dXJuIDA7Cj4gIH0KPiArCj4gK2ludCBkcm1fZmJf aGVscGVyX3JlbW92ZV9vbmVfY29ubmVjdG9yKHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxw ZXIsCj4gKwkJCQkgICAgICAgc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiArewo+ ICsJaW50IGVycjsKPiArCj4gKwltdXRleF9sb2NrKCZmYl9oZWxwZXItPmRldi0+bW9kZV9jb25m aWcubXV0ZXgpOwo+ICsKPiArCWVyciA9IF9fZHJtX2ZiX2hlbHBlcl9yZW1vdmVfb25lX2Nvbm5l Y3RvcihmYl9oZWxwZXIsIGNvbm5lY3Rvcik7Cj4gKwo+ICsJbXV0ZXhfdW5sb2NrKCZmYl9oZWxw ZXItPmRldi0+bW9kZV9jb25maWcubXV0ZXgpOwo+ICsKPiArCXJldHVybiBlcnI7Cj4gK30KPiAg RVhQT1JUX1NZTUJPTChkcm1fZmJfaGVscGVyX3JlbW92ZV9vbmVfY29ubmVjdG9yKTsKPiAgCj4g IHN0YXRpYyB2b2lkIGRybV9mYl9oZWxwZXJfc2F2ZV9sdXRfYXRvbWljKHN0cnVjdCBkcm1fY3J0 YyAqY3J0Yywgc3RydWN0IGRybV9mYl9oZWxwZXIgKmhlbHBlcikKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcF9tc3QuYwo+IGluZGV4IDdhMzQwOTBjZWYzNC4uNDdjMzk4MGNiM2I5IDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmMKPiBAQCAtNDc3LDkgKzQ3Nyw3IEBAIHN0YXRp YyB2b2lkIGludGVsX2RwX3JlZ2lzdGVyX21zdF9jb25uZWN0b3Ioc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvcikKPiAgewo+ICAJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqaW50ZWxfY29u bmVjdG9yID0gdG9faW50ZWxfY29ubmVjdG9yKGNvbm5lY3Rvcik7Cj4gIAlzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2ID0gY29ubmVjdG9yLT5kZXY7Cj4gLQlkcm1fbW9kZXNldF9sb2NrX2FsbChkZXYp Owo+ICAJaW50ZWxfY29ubmVjdG9yX2FkZF90b19mYmRldihpbnRlbF9jb25uZWN0b3IpOwo+IC0J ZHJtX21vZGVzZXRfdW5sb2NrX2FsbChkZXYpOwo+ICAJZHJtX2Nvbm5lY3Rvcl9yZWdpc3Rlcigm aW50ZWxfY29ubmVjdG9yLT5iYXNlKTsKPiAgfQo+ICAKPiBAQCAtNDkyLDEwICs0OTAsOCBAQCBz dGF0aWMgdm9pZCBpbnRlbF9kcF9kZXN0cm95X21zdF9jb25uZWN0b3Ioc3RydWN0IGRybV9kcF9t c3RfdG9wb2xvZ3lfbWdyICptZ3IsCj4gIAlpbnRlbF9jb25uZWN0b3ItPnVucmVnaXN0ZXIoaW50 ZWxfY29ubmVjdG9yKTsKPiAgCj4gIAkvKiBuZWVkIHRvIG51a2UgdGhlIGNvbm5lY3RvciAqLwo+ IC0JZHJtX21vZGVzZXRfbG9ja19hbGwoZGV2KTsKPiAgCWludGVsX2Nvbm5lY3Rvcl9yZW1vdmVf ZnJvbV9mYmRldihpbnRlbF9jb25uZWN0b3IpOwo+ICAJaW50ZWxfY29ubmVjdG9yLT5tc3RfcG9y dCA9IE5VTEw7Cj4gLQlkcm1fbW9kZXNldF91bmxvY2tfYWxsKGRldik7Cj4gIAo+ICAJZHJtX2Nv bm5lY3Rvcl91bnJlZmVyZW5jZSgmaW50ZWxfY29ubmVjdG9yLT5iYXNlKTsKPiAgCURSTV9ERUJV R19LTVMoIlxuIik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9u X2RwX21zdC5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZHBfbXN0LmMKPiBpbmRl eCBkZTUwNGVhMjljMDYuLmE0Y2NhYTVhZjEwNCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vcmFkZW9uL3JhZGVvbl9kcF9tc3QuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24v cmFkZW9uX2RwX21zdC5jCj4gQEAgLTI5OSw5ICsyOTksNyBAQCBzdGF0aWMgdm9pZCByYWRlb25f ZHBfcmVnaXN0ZXJfbXN0X2Nvbm5lY3RvcihzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y KQo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+ZGV2Owo+ICAJc3RydWN0 IHJhZGVvbl9kZXZpY2UgKnJkZXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICAKPiAtCWRybV9tb2Rl c2V0X2xvY2tfYWxsKGRldik7Cj4gIAlyYWRlb25fZmJfYWRkX2Nvbm5lY3RvcihyZGV2LCBjb25u ZWN0b3IpOwo+IC0JZHJtX21vZGVzZXRfdW5sb2NrX2FsbChkZXYpOwo+ICAKPiAgCWRybV9jb25u ZWN0b3JfcmVnaXN0ZXIoY29ubmVjdG9yKTsKPiAgfQo+IEBAIC0zMTQsMTMgKzMxMiw4IEBAIHN0 YXRpYyB2b2lkIHJhZGVvbl9kcF9kZXN0cm95X21zdF9jb25uZWN0b3Ioc3RydWN0IGRybV9kcF9t c3RfdG9wb2xvZ3lfbWdyICptZ3IsCj4gIAlzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiA9IGRl di0+ZGV2X3ByaXZhdGU7Cj4gIAo+ICAJZHJtX2Nvbm5lY3Rvcl91bnJlZ2lzdGVyKGNvbm5lY3Rv cik7Cj4gLQkvKiBuZWVkIHRvIG51a2UgdGhlIGNvbm5lY3RvciAqLwo+IC0JZHJtX21vZGVzZXRf bG9ja19hbGwoZGV2KTsKPiAtCS8qIGRwbXMgb2ZmICovCj4gIAlyYWRlb25fZmJfcmVtb3ZlX2Nv bm5lY3RvcihyZGV2LCBjb25uZWN0b3IpOwo+IC0KPiAgCWRybV9jb25uZWN0b3JfY2xlYW51cChj b25uZWN0b3IpOwo+IC0JZHJtX21vZGVzZXRfdW5sb2NrX2FsbChkZXYpOwo+ICAKPiAgCWtmcmVl KGNvbm5lY3Rvcik7Cj4gIAlEUk1fREVCVUdfS01TKCJcbiIpOwo+IApfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRy aS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK