From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: [PATCH RFC 12/19] drm/bridge: Add an ->atomic_check() hook Date: Thu, 22 Aug 2019 03:12:07 +0300 Message-ID: <20190822001207.GC16985@pendragon.ideasonboard.com> References: <20190808151150.16336-1-boris.brezillon@collabora.com> <20190808151150.16336-13-boris.brezillon@collabora.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by gabe.freedesktop.org (Postfix) with ESMTPS id B44FE6E3BB for ; Thu, 22 Aug 2019 00:12:15 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190808151150.16336-13-boris.brezillon@collabora.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Boris Brezillon Cc: Jernej Skrabec , Neil Armstrong , Jonas Karlman , Seung-Woo Kim , dri-devel@lists.freedesktop.org, Kyungmin Park , Thierry Reding , Chris Healy , kernel@collabora.com, Sam Ravnborg List-Id: dri-devel@lists.freedesktop.org SGkgQm9yaXMsCgpUaGFuayB5b3UgZm9yIHRoZSBwYXRjaC4KCk9uIFRodSwgQXVnIDA4LCAyMDE5 IGF0IDA1OjExOjQzUE0gKzAyMDAsIEJvcmlzIEJyZXppbGxvbiB3cm90ZToKPiBTbyB0aGF0IGJy aWRnZSBkcml2ZXJzIGhhdmUgYSB3YXkgdG8gY2hlY2svcmVqZWN0IGFuIGF0b21pYyBvcGVyYXRp b24uCj4gVGhlIGRybV9hdG9taWNfYnJpZGdlX2NoYWluX2NoZWNrKCkgKHdoaWNoIGlzIGp1c3Qg YSB3cmFwcGVyIGFyb3VuZAo+IHRoZSAtPmF0b21pY19jaGVjaygpIGhvb2spIGlzIGNhbGxlZCBp biBwbGFjZSBvZgo+IGRybV9icmlkZ2VfY2hhaW5fbW9kZV9maXh1cCgpICh3aGVuIC0+YXRvbWlj X2NoZWNrKCkgaXMgbm90IGltcGxlbWVudGVkLAo+IHRoZSBjb3JlIGZhbGxzIGJhY2sgdG8gLT5t b2RlX2ZpeHVwKCksIHNvIHRoZSBiZWhhdmlvciBzaG91bGQgc3RheQo+IHRoZSBzYW1lIGZvciBl eGlzdGluZyBicmlkZ2UgZHJpdmVycykuCj4gCj4gU2lnbmVkLW9mZi1ieTogQm9yaXMgQnJlemls bG9uIDxib3Jpcy5icmV6aWxsb25AY29sbGFib3JhLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUv ZHJtL2RybV9hdG9taWNfaGVscGVyLmMgfCAxMSArKystLS0KPiAgZHJpdmVycy9ncHUvZHJtL2Ry bV9icmlkZ2UuYyAgICAgICAgfCA1OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICBp bmNsdWRlL2RybS9kcm1fYnJpZGdlLmggICAgICAgICAgICB8IDIzICsrKysrKysrKysrCj4gIDMg ZmlsZXMgY2hhbmdlZCwgODcgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKPiAKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMgYi9kcml2ZXJzL2dw dS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwo+IGluZGV4IGU3NmVjOTY0OGI2Zi4uM2ZhZGRlMzhl YWQ3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKPiBAQCAtNDQ1LDEyICs0 NDUsMTEgQEAgbW9kZV9maXh1cChzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gIAkJ ZW5jb2RlciA9IG5ld19jb25uX3N0YXRlLT5iZXN0X2VuY29kZXI7Cj4gIAkJZnVuY3MgPSBlbmNv ZGVyLT5oZWxwZXJfcHJpdmF0ZTsKPiAgCj4gLQkJcmV0ID0gZHJtX2JyaWRnZV9jaGFpbl9tb2Rl X2ZpeHVwKGVuY29kZXIsCj4gLQkJCQkJJm5ld19jcnRjX3N0YXRlLT5tb2RlLAo+IC0JCQkJCSZu ZXdfY3J0Y19zdGF0ZS0+YWRqdXN0ZWRfbW9kZSk7Cj4gLQkJaWYgKCFyZXQpIHsKPiAtCQkJRFJN X0RFQlVHX0FUT01JQygiQnJpZGdlIGZpeHVwIGZhaWxlZFxuIik7Cj4gLQkJCXJldHVybiAtRUlO VkFMOwo+ICsJCXJldCA9IGRybV9hdG9taWNfYnJpZGdlX2NoYWluX2NoZWNrKGVuY29kZXIsIG5l d19jcnRjX3N0YXRlLAo+ICsJCQkJCQkgICAgbmV3X2Nvbm5fc3RhdGUpOwo+ICsJCWlmIChyZXQp IHsKPiArCQkJRFJNX0RFQlVHX0FUT01JQygiQnJpZGdlIGF0b21pYyBjaGVjayBmYWlsZWRcbiIp Owo+ICsJCQlyZXR1cm4gcmV0Owo+ICAJCX0KPiAgCj4gIAkJaWYgKGZ1bmNzICYmIGZ1bmNzLT5h dG9taWNfY2hlY2spIHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9icmlkZ2Uu YyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYnJpZGdlLmMKPiBpbmRleCAwNTI4Y2E5NDE4NTUuLmRj YWQ2NjFkYWE3NCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2JyaWRnZS5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9icmlkZ2UuYwo+IEBAIC01ODMsNiArNTgzLDY1IEBA IHZvaWQgZHJtX2F0b21pY19icmlkZ2VfY2hhaW5fZW5hYmxlKHN0cnVjdCBkcm1fZW5jb2RlciAq ZW5jb2RlciwKPiAgfQo+ICBFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNfYnJpZGdlX2NoYWluX2Vu YWJsZSk7Cj4gIAo+ICtzdGF0aWMgaW50IGRybV9hdG9taWNfYnJpZGdlX2NoZWNrKHN0cnVjdCBk cm1fYnJpZGdlICpicmlkZ2UsCj4gKwkJCQkgICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNf c3RhdGUsCj4gKwkJCQkgICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkK PiArewo+ICsJaWYgKGJyaWRnZS0+ZnVuY3MtPmF0b21pY19jaGVjaykgewo+ICsJCXN0cnVjdCBk cm1fYnJpZGdlX3N0YXRlICpicmlkZ2Vfc3RhdGU7Cj4gKwkJaW50IHJldDsKPiArCj4gKwkJYnJp ZGdlX3N0YXRlID0gZHJtX2F0b21pY19nZXRfbmV3X2JyaWRnZV9zdGF0ZShjcnRjX3N0YXRlLT5z dGF0ZSwKPiArCQkJCQkJCSAgICAgICBicmlkZ2UpOwo+ICsJCWlmIChXQVJOX09OKCFicmlkZ2Vf c3RhdGUpKQo+ICsJCQlyZXR1cm4gLUVJTlZBTDsKPiArCj4gKwkJcmV0ID0gYnJpZGdlLT5mdW5j cy0+YXRvbWljX2NoZWNrKGJyaWRnZSwgYnJpZGdlX3N0YXRlLAo+ICsJCQkJCQkgIGNydGNfc3Rh dGUsIGNvbm5fc3RhdGUpOwo+ICsJCWlmIChyZXQpCj4gKwkJCXJldHVybiByZXQ7Cj4gKwl9IGVs c2UgaWYgKGJyaWRnZS0+ZnVuY3MtPm1vZGVfZml4dXApIHsKPiArCQlpZiAoIWJyaWRnZS0+ZnVu Y3MtPm1vZGVfZml4dXAoYnJpZGdlLCAmY3J0Y19zdGF0ZS0+bW9kZSwKPiArCQkJCQkgICAgICAg JmNydGNfc3RhdGUtPmFkanVzdGVkX21vZGUpKQo+ICsJCQlyZXR1cm4gLUVJTlZBTDsKPiArCX0K PiArCj4gKwlyZXR1cm4gMDsKPiArfQo+ICsKPiArLyoqCj4gKyAqIGRybV9hdG9taWNfYnJpZGdl X2NoYWluX2NoZWNrKCkgLSBEbyBhbiBhdG9taWMgY2hlY2sgb24gdGhlIGJyaWRnZSBjaGFpbgo+ ICsgKiBAZW5jb2RlcjogZW5jb2RlciBvYmplY3QKPiArICogQGNydGNfc3RhdGU6IG5ldyBDUlRD IHN0YXRlCj4gKyAqIEBjb25uX3N0YXRlOiBuZXcgY29ubmVjdG9yIHN0YXRlCj4gKyAqCj4gKyAq IENhbGxzICZkcm1fYnJpZGdlX2Z1bmNzLmF0b21pY19jaGVjaygpIChmYWxscyBiYWNrIG9uCj4g KyAqICZkcm1fYnJpZGdlX2Z1bmNzLm1vZGVfZml4dXAoKSkgb3AgZm9yIGFsbCB0aGUgYnJpZGdl cyBpbiB0aGUgZW5jb2RlciBjaGFpbiwKPiArICogc3RhcnRpbmcgZnJvbSB0aGUgbGFzdCBicmlk Z2UgdG8gdGhlIGZpcnN0LiBUaGVzZSBhcmUgY2FsbGVkIGJlZm9yZSBjYWxsaW5nCj4gKyAqICZk cm1fZW5jb2Rlcl9oZWxwZXJfZnVuY3MuYXRvbWljX2NoZWNrKCkKPiArICoKPiArICogUkVUVVJO UzoKPiArICogMCBvbiBzdWNjZXNzLCBhIG5lZ2F0aXZlIGVycm9yIGNvZGUgb24gZmFpbHVyZQo+ ICsgKi8KPiAraW50IGRybV9hdG9taWNfYnJpZGdlX2NoYWluX2NoZWNrKHN0cnVjdCBkcm1fZW5j b2RlciAqZW5jb2RlciwKPiArCQkJCSAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRl LAo+ICsJCQkJICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKPiArewo+ ICsJc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZTsKPiArCj4gKwlsaXN0X2Zvcl9lYWNoX2VudHJ5 X3JldmVyc2UoYnJpZGdlLCAmZW5jb2Rlci0+YnJpZGdlX2NoYWluLAo+ICsJCQkJICAgIGNoYWlu X25vZGUpIHsKPiArCQlpbnQgcmV0Owo+ICsKPiArCQlyZXQgPSBkcm1fYXRvbWljX2JyaWRnZV9j aGVjayhicmlkZ2UsIGNydGNfc3RhdGUsIGNvbm5fc3RhdGUpOwo+ICsJCWlmIChyZXQpCj4gKwkJ CXJldHVybiByZXQ7Cj4gKwl9Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArRVhQT1JUX1NZTUJP TChkcm1fYXRvbWljX2JyaWRnZV9jaGFpbl9jaGVjayk7Cj4gKwo+ICAvKioKPiAgICogZHJtX2F0 b21pY19oZWxwZXJfaW5pdF9icmlkZ2Vfc3RhdGUoKSAtIEluaXRpYWxpemVzIGEgYnJpZGdlIHN0 YXRlCj4gICAqIEBicmlkZ2UgdGhpcyBzdGF0ZSBpcyByZWZlcnJpbmcgdG8KPiBkaWZmIC0tZ2l0 IGEvaW5jbHVkZS9kcm0vZHJtX2JyaWRnZS5oIGIvaW5jbHVkZS9kcm0vZHJtX2JyaWRnZS5oCj4g aW5kZXggOTM4M2I0ZTRiODUzLi41ZDhmZTM3MDliZGUgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9k cm0vZHJtX2JyaWRnZS5oCj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX2JyaWRnZS5oCj4gQEAgLTM3 OSw2ICszNzksMjYgQEAgc3RydWN0IGRybV9icmlkZ2VfZnVuY3Mgewo+ICAJICovCj4gIAl2b2lk ICgqYXRvbWljX2Rlc3Ryb3lfc3RhdGUpKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsCj4gIAkJ CQkgICAgIHN0cnVjdCBkcm1fYnJpZGdlX3N0YXRlICpzdGF0ZSk7Cj4gKwo+ICsJLyoqCj4gKwkg KiBAYXRvbWljX2NoZWNrOgo+ICsJICoKPiArCSAqIFRoaXMgbWV0aG9kIGlzIHJlc3BvbnNpYmxl IGZvciBjaGVja2luZyBicmlkZ2Ugc3RhdGUgY29ycmVjdG5lc3MuCj4gKwkgKiBJdCBjYW4gYWxz byBjaGVjayB0aGUgc3RhdGUgb2YgdGhlIHN1cnJvdW5kaW5nIGNvbXBvbmVudHMgaW4gY2hhaW4K PiArCSAqIHRvIG1ha2Ugc3VyZSB0aGUgd2hvbGUgcGlwZWxpbmUgY2FuIHdvcmsgcHJvcGVybHku CgpBcyB0aGlzIGlzIG1lYW50IHRvIHJlcGxhY2UgLm1vZGVfZml4dXAoKSB5b3Ugc2hvdWxkIGRv Y3VtZW50IHRoYXQgaGVyZQphbmQgaW4gdGhlIC5tb2RlX2ZpeHVwKCkgb3BlcmF0aW9uLgoKVGhl cmUncyBhbHNvIHRoZSBhZGRpdGlvbmFsIHF1ZXN0aW9uIG9mIHdoYXQgcGFyYW1ldGVycyBjYW4g YmUgbW9kaWZpZWQuCklzIGEgYnJpZGdlIC5hdG9taWNfY2hlY2soKSBhbGxvd2VkIHRvIG1vZGlm eSB0aGUgQ1JUQyBvciBjb25uZWN0b3IKc3RhdGUgPyBPZiBzbywgd2hhdCBhcmUgdGhlIHJlc3Ry aWN0aW9ucyBvbiBob3cgdGhvc2UgY2FuIGJlIG1vZGlmaWVkID8KRm9yIGluc3RhbmNlIC5tb2Rl X2ZpeHVwKCkgY2FuIGNoYW5nZSB0aGUgcGl4ZWwgY2xvY2sgYnV0IGlzbid0IGFsbG93ZWQKdG8g bW9kaWZ5IHRoZSBoL3YgYWN0aXZlIHZhbHVlcy4gVGhvc2UgcmVzdHJpY3Rpb25zIHdlcmUgbm90 IGNsZWFybHkKZG9jdW1lbnRlZCBmb3IgLm1vZGVfZml4dXAoKSBhbmQgaGF2ZSBsZWQgdG8gZ3Jl eSBhcmVhcy4gSSBkb24ndCB3YW50IHRvCnJlcGVhdCB0aGUgc2FtZSBtaXN0YWtlIGZvciBicmlk Z2VzLCB3ZSBuZWVkIHRvIGJlIHZlcnkgZXhwbGljaXQgaGVyZS4KCkluIHRoZSBsaXN0IG9mIG9w ZW4gcXVlc3Rpb25zLCB3aGF0IGlmIGEgYnJpZGdlIGNoYW5nZXMgdGhlIHBpeGVsIGNsb2NrCnRv IGEgdmFsdWUgaXQgc3VwcG9ydHMgKGFzIC5tb2RlX2ZpeHVwKCkgZG9lcyksIGFuZCB0aGVuIHRo ZSBwcmV2aW91cwpicmlkZ2UgaW4gdGhlIGNoYWluICh0aGUgbmV4dCBvbmUgaW4gdHJhdmVyc2Fs IG9yZGVyIGZvciB0aGUKZHJtX2F0b21pY19icmlkZ2VfY2hhaW5fY2hlY2soKSBmdW5jdGlvbikg YWxzbyBjaGFuZ2VzIHRoZSBwaXhlbCBjbG9jaywKdG8gYSB2YWx1ZSB0aGF0IHRoZSBjdXJyZW50 IGJyaWRnZSBkb2Vzbid0IHN1cHBvcnQgPyBJIHRoaW5rIHdlIHJlYWxseQpuZWVkIHRvIHRoaW5r IGFib3V0IHRoZSBzZW1hbnRpYyBvZiB0aGlzIG9wZXJhdGlvbi4KCkFzIHRoZSBnb2FsIG9mIHlv dXIgc2VyaWVzIGlzIHRvIGltcGxlbWVudCBjb25maWd1cmF0aW9uIG9mIGJ1cyBmb3JtYXRzCmJl dHdlZW4gYnJpZGdlcywgc2hvdWxkbid0IGEgYnJpZGdlIC5hdG9taWNfY2hlY2soKSBhbHNvIHJl Y2VpdmUgdGhlCnN0YXRlIG9mIHRoZSBuZXh0IGJyaWRnZSBpbiB0aGUgY2hhaW4gPwoKPiArCSAq Cj4gKwkgKiAmZHJtX2JyaWRnZV9mdW5jcy5hdG9taWNfY2hlY2soKSBob29rcyBhcmUgY2FsbGVk IGluIHJldmVyc2UKPiArCSAqIG9yZGVyIChmcm9tIHRoZSBsYXN0IHRvIHRoZSBmaXJzdCBicmlk Z2UpLgo+ICsJICoKPiArCSAqIFRoaXMgbWV0aG9kIGlzIG9wdGlvbmFsLgo+ICsJICoKPiArCSAq IFJFVFVSTlM6Cj4gKwkgKiB6ZXJvIGlmIHRoZSBjaGVjayBwYXNzZWQsIGEgbmVnYXRpdmUgZXJy b3IgY29kZSBvdGhlcndpc2UuCj4gKwkgKi8KPiArCWludCAoKmF0b21pY19jaGVjaykoc3RydWN0 IGRybV9icmlkZ2UgKmJyaWRnZSwKPiArCQkJICAgIHN0cnVjdCBkcm1fYnJpZGdlX3N0YXRlICpi cmlkZ2Vfc3RhdGUsCj4gKwkJCSAgICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUs Cj4gKwkJCSAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSk7Cj4gIH07 Cj4gIAo+ICAvKioKPiBAQCAtNDc5LDYgKzQ5OSw5IEBAIHZvaWQgZHJtX2JyaWRnZV9jaGFpbl9t b2RlX3NldChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gIHZvaWQgZHJtX2JyaWRnZV9j aGFpbl9wcmVfZW5hYmxlKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rlcik7Cj4gIHZvaWQgZHJt X2JyaWRnZV9jaGFpbl9lbmFibGUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKTsKPiAgCj4g K2ludCBkcm1fYXRvbWljX2JyaWRnZV9jaGFpbl9jaGVjayhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVu Y29kZXIsCj4gKwkJCQkgIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiArCQkJ CSAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpOwo+ICB2b2lkIGRybV9h dG9taWNfYnJpZGdlX2NoYWluX2Rpc2FibGUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+ ICAJCQkJICAgICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpOwo+ICB2b2lkIGRybV9h dG9taWNfYnJpZGdlX2NoYWluX3Bvc3RfZGlzYWJsZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29k ZXIsCgotLSAKUmVnYXJkcywKCkxhdXJlbnQgUGluY2hhcnQKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2 ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vZHJpLWRldmVs