From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Noralf_Tr=c3=b8nnes?= Subject: Re: [PATCH 4/9] drm: Begin an API for in-kernel clients Date: Mon, 28 May 2018 15:26:48 +0200 Message-ID: References: <20180523143411.64070-1-noralf@tronnes.org> <20180523143411.64070-5-noralf@tronnes.org> <20180524084213.GG3438@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180524084213.GG3438@phenom.ffwll.local> 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: intel-gfx@lists.freedesktop.org, laurent.pinchart@ideasonboard.com, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org CkRlbiAyNC4wNS4yMDE4IDEwLjQyLCBza3JldiBEYW5pZWwgVmV0dGVyOgo+IE9uIFdlZCwgTWF5 IDIzLCAyMDE4IGF0IDA0OjM0OjA2UE0gKzAyMDAsIE5vcmFsZiBUcsO4bm5lcyB3cm90ZToKPj4g VGhpcyB0aGUgYmVnaW5uaW5nIG9mIGFuIEFQSSBmb3IgaW4ta2VybmVsIGNsaWVudHMuCj4+IEZp cnN0IG91dCBpcyBhIHdheSB0byBnZXQgYSBmcmFtZWJ1ZmZlciBiYWNrZWQgYnkgYSBkdW1iIGJ1 ZmZlci4KPj4KPj4gT25seSBHRU0gZHJpdmVycyBhcmUgc3VwcG9ydGVkLgo+PiBUaGUgb3JpZ2lu YWwgaWRlYSBvZiB1c2luZyBhbiBleHBvcnRlZCBkbWEtYnVmIHdhcyBkcm9wcGVkIGJlY2F1c2Ug aXQKPj4gYWxzbyBjcmVhdGVzIGFuIGFub25vbW91cyBmaWxlIGRlc2NyaXB0b3Igd2hpY2ggZG9l c24ndCB3b3JrIHdoZW4gdGhlCj4+IGJ1ZmZlciBpcyBjcmVhdGVkIGZyb20gYSBrZXJuZWwgdGhy ZWFkLiBUaGUgZWFzeSB3YXkgb3V0IGlzIHRvIHVzZQo+PiBkcm1fZHJpdmVyLmdlbV9wcmltZV92 bWFwIHRvIGdldCB0aGUgdmlydHVhbCBhZGRyZXNzLCB3aGljaCByZXF1aXJlcyBhCj4+IEdFTSBv YmplY3QuIFRoaXMgZXhjbHVkZXMgdGhlIHZtd2dmeCBkcml2ZXIgd2hpY2ggaXMgdGhlIG9ubHkg bm9uLUdFTQo+PiBkcml2ZXIgYXBhcnQgZnJvbSB0aGUgbGVnYWN5IG9uZXMuIEEgc29sdXRpb24g Zm9yIHZtd2dmeCB3aWxsIGhhdmUgdG8gYmUKPj4gd29ya2VkIG91dCBsYXRlciBpZiBpdCB3YW50 cyB0byBzdXBwb3J0IHRoZSBjbGllbnQgQVBJIHdoaWNoIGl0IHByb2JhYmx5Cj4+IHdpbGwgd2hl biB3ZSBoYXZlIGEgYm9vdHNwbGFzaCBjbGllbnQuCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IE5vcmFs ZiBUcsO4bm5lcyA8bm9yYWxmQHRyb25uZXMub3JnPgo+IEEgZmV3IHNtYWxsIG5pdHMgYmVsb3cs IHdpdGggdGhvc2UgYWRkcmVzc2VkOgo+Cj4gUmV2aWV3ZWQtYnk6IERhbmllbCBWZXR0ZXIgPGRh bmllbC52ZXR0ZXJAZmZ3bGwuY2g+Cj4+IC0tLQoKWy4uLl0KCj4+ICsvKioKPj4gKyAqIGRybV9j bGllbnRfbmV3IC0gQ3JlYXRlIGEgRFJNIGNsaWVudAo+PiArICogQGRldjogRFJNIGRldmljZQo+ PiArICoKPj4gKyAqIFJldHVybnM6Cj4+ICsgKiBQb2ludGVyIHRvIGEgY2xpZW50IG9yIGFuIGVy cm9yIHBvaW50ZXIgb24gZmFpbHVyZS4KPj4gKyAqLwo+PiArc3RydWN0IGRybV9jbGllbnRfZGV2 ICpkcm1fY2xpZW50X25ldyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+IEFwaSBuaXRwaWNrOgo+ Cj4gaW50IGRybV9jbGllbnRfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+IAkJICAgIHN0 cnVjdCBkcm1fY2xpZW50X2RldiAqY2xpZW50KQo+Cj4gYW5kIGRyb3BwaW5nIHRoZSBremFsbG9j IGZyb20gdGhpcyBzdHJ1Y3R1cmUgaGVyZS4gVGhpcyBhbGxvd3MgdXNlcnMgb2YKPiB0aGlzIHRv IGVtYmVkIHRoZSBjbGllbnQgc3RydWN0IGludG8gdGhlaXIgb3duIHRoaW5nLCB3aGljaCBtZWFu cyB0aGUKPiAtPnByaXZhdGUgYmFja3BvaW50ZXIgaXNuJ3QgbmVjZXNzYXJ5LiBBbGxvd2luZyBl bWJlZGRpbmcgaXMgdGhlIHByZWZlcnJlZAo+IGludGVyZmFjZSBpbiB0aGUga2VybmVsIChzaW5j ZSBpdCdzIHN0cmljdGx5IG1vcmUgcG93ZXJmdWwsIHlvdSBjYW4gYWx3YXlzCj4ganVzdCBremFs bG9jICsgX2luaXQgdG8gZ2V0IHRoZSBfbmV3IGJlaGF2aW91cikuCj4KPj4gK3sKPj4gKwlzdHJ1 Y3QgZHJtX2NsaWVudF9kZXYgKmNsaWVudDsKPj4gKwlpbnQgcmV0Owo+PiArCj4+ICsJaWYgKCFk cm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX01PREVTRVQpIHx8Cj4+ICsJICAgICFk ZXYtPmRyaXZlci0+ZHVtYl9jcmVhdGUgfHwgIWRldi0+ZHJpdmVyLT5nZW1fcHJpbWVfdm1hcCkK Pj4gKwkJcmV0dXJuIEVSUl9QVFIoLUVOT1RTVVBQKTsKPj4gKwo+PiArCWNsaWVudCA9IGt6YWxs b2Moc2l6ZW9mKCpjbGllbnQpLCBHRlBfS0VSTkVMKTsKPj4gKwlpZiAoIWNsaWVudCkKPj4gKwkJ cmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7Cj4+ICsKPj4gKwljbGllbnQtPmRldiA9IGRldjsKPj4g Kwo+PiArCXJldCA9IGRybV9jbGllbnRfYWxsb2NfZmlsZShjbGllbnQpOwo+PiArCWlmIChyZXQp IHsKPj4gKwkJa2ZyZWUoY2xpZW50KTsKPj4gKwkJcmV0dXJuIEVSUl9QVFIocmV0KTsKPj4gKwl9 Cj4+ICsKPj4gKwlyZXR1cm4gY2xpZW50Owo+PiArfQo+PiArRVhQT1JUX1NZTUJPTChkcm1fY2xp ZW50X25ldyk7Cj4+ICsKClsuLi5dCgo+PiArc3RhdGljIHN0cnVjdCBkcm1fY2xpZW50X2J1ZmZl ciAqCj4+ICtkcm1fY2xpZW50X2J1ZmZlcl9jcmVhdGUoc3RydWN0IGRybV9jbGllbnRfZGV2ICpj bGllbnQsIHUzMiB3aWR0aCwgdTMyIGhlaWdodCwgdTMyIGZvcm1hdCkKPj4gK3sKPj4gKwlzdHJ1 Y3QgZHJtX21vZGVfY3JlYXRlX2R1bWIgZHVtYl9hcmdzID0geyB9Owo+PiArCXN0cnVjdCBkcm1f ZGV2aWNlICpkZXYgPSBjbGllbnQtPmRldjsKPj4gKwlzdHJ1Y3QgZHJtX2NsaWVudF9idWZmZXIg KmJ1ZmZlcjsKPj4gKwlzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iajsKPj4gKwl2b2lkICp2YWRk cjsKPj4gKwlpbnQgcmV0Owo+PiArCj4+ICsJYnVmZmVyID0ga3phbGxvYyhzaXplb2YoKmJ1ZmZl ciksIEdGUF9LRVJORUwpOwo+PiArCWlmICghYnVmZmVyKQo+PiArCQlyZXR1cm4gRVJSX1BUUigt RU5PTUVNKTsKPj4gKwo+PiArCWJ1ZmZlci0+Y2xpZW50ID0gY2xpZW50Owo+PiArCj4+ICsJZHVt Yl9hcmdzLndpZHRoID0gd2lkdGg7Cj4+ICsJZHVtYl9hcmdzLmhlaWdodCA9IGhlaWdodDsKPj4g KwlkdW1iX2FyZ3MuYnBwID0gZHJtX2Zvcm1hdF9wbGFuZV9jcHAoZm9ybWF0LCAwKSAqIDg7Cj4+ ICsJcmV0ID0gZHJtX21vZGVfY3JlYXRlX2R1bWIoZGV2LCAmZHVtYl9hcmdzLCBjbGllbnQtPmZp bGUpOwo+PiArCWlmIChyZXQpCj4+ICsJCWdvdG8gZXJyX2ZyZWU7Cj4+ICsKPj4gKwlidWZmZXIt PmhhbmRsZSA9IGR1bWJfYXJncy5oYW5kbGU7Cj4+ICsJYnVmZmVyLT5waXRjaCA9IGR1bWJfYXJn cy5waXRjaDsKPj4gKwo+PiArCW9iaiA9IGRybV9nZW1fb2JqZWN0X2xvb2t1cChjbGllbnQtPmZp bGUsIGR1bWJfYXJncy5oYW5kbGUpOwo+PiArCWlmICghb2JqKSAgewo+PiArCQlyZXQgPSAtRU5P RU5UOwo+PiArCQlnb3RvIGVycl9kZWxldGU7Cj4+ICsJfQo+PiArCj4+ICsJYnVmZmVyLT5nZW0g PSBvYmo7Cj4+ICsKPiBJJ20gcGFyYW5vaWQsIEkgdGhpbmsgYW4KPgo+IAlpZiAoV0FSTl9PTigh Z2VtX3ByaW1lX3ZtYXApKQo+IAkJcmV0dXJuIC1FSU5WQUw7Cj4KPiB3b3VsZCBiZSBjb29sIGhl cmUuCgpUaGlzIGlzIGFscmVhZHkgY2hlY2tlZCBpbiBkcm1fY2xpZW50X2luaXQoKS4KCk5vcmFs Zi4KCj4gQWxzbyBwZXJoYXBzIHRoZSBmb2xsb3dpbmcgY29tbWVudDoKPgo+IAkvKgo+IAkgKiBG SVhNRTogVGhlIGRlcGVuZGVuY3kgb24gR0VNIGhlcmUgaXNuJ3QgcmVxdWlyZWQsIHdlIGNvdWxk Cj4gCSAqIGNvbnZlcnQgdGhlIGRyaXZlciBoYW5kbGUgdG8gYSBkbWEtYnVmIGluc3RlYWQgYW5k IHVzZSB0aGUKPiAJICogYmFja2VuZC1hZ25vc3RpYyBkbWEtYnVmIHZtYXAgc3VwcG9ydCBpbnN0 ZWFkLiBUaGlzIHdvdWxkCj4gCSAqIHJlcXVpcmUgdGhhdCB0aGUgaGFuZGxlMmZkIHByaW1lIGlv Y3RsIGlzIHJld29ya2VkIHRvIHB1bGwgdGhlCj4gCSAqIGZkX2luc3RhbGwgc3RlcCBvdXQgb2Yg dGhlIGRyaXZlciBiYWNrZW5kIGhvb2tzLCB0byBtYWtlIHRoYXQKPiAJICogZmluYWwgc3RlcCBv cHRpb25hbCBmb3IgaW50ZXJuYWwgdXNlcnMuCj4gCSAqLwo+Cj4KPj4gKwl2YWRkciA9IGRldi0+ ZHJpdmVyLT5nZW1fcHJpbWVfdm1hcChvYmopOwo+PiArCWlmICghdmFkZHIpIHsKPj4gKwkJcmV0 ID0gLUVOT01FTTsKPj4gKwkJZ290byBlcnJfZGVsZXRlOwo+PiArCX0KPj4gKwo+PiArCWJ1ZmZl ci0+dmFkZHIgPSB2YWRkcjsKPj4gKwo+PiArCXJldHVybiBidWZmZXI7Cj4+ICsKPj4gK2Vycl9k ZWxldGU6Cj4+ICsJZHJtX2NsaWVudF9idWZmZXJfZGVsZXRlKGJ1ZmZlcik7Cj4+ICtlcnJfZnJl ZToKPj4gKwlrZnJlZShidWZmZXIpOwo+PiArCj4+ICsJcmV0dXJuIEVSUl9QVFIocmV0KTsKPj4g K30KCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRl bC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK