From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Noralf_Tr=c3=b8nnes?= Subject: Re: [RFC 2/7] drm: Add GEM backed framebuffer library Date: Fri, 21 Jul 2017 20:39:17 +0200 Message-ID: <41e632ff-e480-564a-1971-720d65ca2154@tronnes.org> References: <1499867165-60925-1-git-send-email-noralf@tronnes.org> <1499867165-60925-3-git-send-email-noralf@tronnes.org> <84ead3e1-146a-d69c-2280-061a5d36f6ba@tronnes.org> <20170720081036.nyc73hb7yf2hy7aw@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from smtp.domeneshop.no (smtp.domeneshop.no [IPv6:2a01:5b40:0:3005::1]) by gabe.freedesktop.org (Postfix) with ESMTPS id E016C6E8C2 for ; Fri, 21 Jul 2017 18:39:21 +0000 (UTC) In-Reply-To: <20170720081036.nyc73hb7yf2hy7aw@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter Cc: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org CkRlbiAyMC4wNy4yMDE3IDEwLjEwLCBza3JldiBEYW5pZWwgVmV0dGVyOgo+IE9uIFR1ZSwgSnVs IDE4LCAyMDE3IGF0IDA1OjQyOjI4UE0gKzAyMDAsIE5vcmFsZiBUcsO4bm5lcyB3cm90ZToKPj4g RGVuIDEyLjA3LjIwMTcgMTUuNDYsIHNrcmV2IE5vcmFsZiBUcsO4bm5lczoKPj4+IEFkZCBhIGxp YnJhcnkgZm9yIGRyaXZlcnMgdGhhdCBjYW4gdXNlIGEgc2ltcGxlIHJlcHJlc2VudGF0aW9uCj4+ PiBvZiBhIEdFTSBiYWNrZWQgZnJhbWVidWZmZXIuCj4+Pgo+Pj4gU2lnbmVkLW9mZi1ieTogTm9y YWxmIFRyw7hubmVzIDxub3JhbGZAdHJvbm5lcy5vcmc+Cj4+PiAtLS0KPj4gVGhpcyBwYXRjaCBh ZGRzIGEgZ2VtIGJhY2tlZCBkcm1fZnJhbWVidWZmZXIgbGlrZSB0aGlzOgo+Pgo+PiBzdHJ1Y3Qg ZHJtX2ZiX2dlbSB7Cj4+ICAgICAgLyoqCj4+ICAgICAgICogQGJhc2U6IEJhc2UgRFJNIGZyYW1l YnVmZmVyCj4+ICAgICAgICovCj4+ICAgICAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciBiYXNlOwo+ PiAgICAgIC8qKgo+PiAgICAgICAqIEBvYmo6IEdFTSBvYmplY3QgYXJyYXkgYmFja2luZyB0aGUg ZnJhbWVidWZmZXIuIE9uZSBvYmplY3QgcGVyCj4+ICAgICAgICogcGxhbmUuCj4+ICAgICAgICov Cj4+ICAgICAgc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmpbNF07Cj4+IH07Cj4+Cj4+IE5vdyBJ IHdvbmRlciBpZiBpdCB3b3VsZCBiZSBiZXR0ZXIgdG8gZXh0ZW5kIGRybV9mcmFtZWJ1ZmZlciBp bnN0ZWFkOgo+Pgo+PiAgIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgewo+PiArICAgIC8qKgo+PiAr ICAgICAqIEBvYmo6IEdFTSBvYmplY3RzIGJhY2tpbmcgdGhlIGZyYW1lYnVmZmVyLCBvbmUgcGVy IHBsYW5lIChvcHRpb25hbCkuCj4+ICsgICAgICovCj4+ICsgICAgc3RydWN0IGRybV9nZW1fb2Jq ZWN0ICpvYmpbNF07Cj4+ICAgfTsKPiBJIHRoaW5rIHdlIGNhbiBkaXJlY3RseSBlbWJlZGQgdGhl IGdlbSBvYmogcG9pbnRlcnMgaW50byB0aGUKPiBkcm1fZnJhbWVidWZmZXIuIEFnYWluIHRoZSBp ZGVhIHRoYXQgdGhlcmUgd291bGQgYmUgYW55dGhpbmcgZWxzZSB0aGFuIGdlbQo+IGtpbmRhIGRp ZG4ndCBwYW4gb3V0LCBleGNlcHQgZm9yIHZtd2dmeC4KPgo+IFdlIGNvdWxkIHRoZW4gaGF2ZSBh IGdlbSB2ZXJzaW9uIG9mIGRybV9oZWxwZXJfbW9kZV9maWxsX2ZiX3N0cnVjdCgpLAo+IHdoaWNo IGFsc28gZG9lcyB0aGUgZ2VtIGJvIGxvb2t1cHMuCgpIb3cgYWJvdXQgdGhpcywgSSd2ZSBjb3Bp ZWQgZnJvbSBkcm1fZmJfY21hX2NyZWF0ZV93aXRoX2Z1bmNzKCk6CgovKioKICAqIGRybV9oZWxw ZXJfbW9kZV9maWxsX2ZiX2dlbSAtIGZpbGwgb3V0IGZyYW1lYnVmZmVyIG1ldGFkYXRhIGFuZCAK bG9va3VwIEdFTQogICogQGRldjogRFJNIGRldmljZQogICogQGZpbGVfcHJpdjogRFJNIGZpbGUg dG8gbG9va3VwIGJ1ZmZlcnMgZnJvbQogICogQGZiOiBkcm1fZnJhbWVidWZmZXIgb2JqZWN0IHRv IGZpbGwgb3V0CiAgKiBAbW9kZV9jbWQ6IG1ldGFkYXRhIGZyb20gdGhlIHVzZXJzcGFjZSBmYiBj cmVhdGlvbiByZXF1ZXN0CiAgKgogICogVGhpcyBoZWxwZXIgY2FuIGJlIHVzZWQgaW4gYSBkcml2 ZXJzIGZiX2NyZWF0ZSBjYWxsYmFjayB0byBwcmUtZmlsbCAKdGhlIGZiJ3MKICAqIG1ldGFkYXRh IGZpZWxkcyBhbmQgbG9va3VwIHRoZSBHRU0gYnVmZmVyIG9iamVjdChzKS4KICAqCiAgKiBSZXR1 cm5zOgogICogMCBvbiBzdWNjZXNzIG9yIGEgbmVnYXRpdmUgZXJyb3IgY29kZSBvbiBmYWlsdXJl LgogICovCmludCBkcm1faGVscGVyX21vZGVfZmlsbF9mYl9nZW0oc3RydWN0IGRybV9kZXZpY2Ug KmRldiwKICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdiwKICAgICAg ICAgICAgICAgICBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKICAgICAgICAgICAgICAgICBj b25zdCBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kMiAqbW9kZV9jbWQpCnsKICAgICBpbnQgaSwgcmV0 OwoKICAgICBkcm1faGVscGVyX21vZGVfZmlsbF9mYl9zdHJ1Y3QoZGV2LCBmYiwgbW9kZV9jbWQp OwogICAgIGlmICghZmItPmZvcm1hdCkKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CgogICAgIGZv ciAoaSA9IDA7IGkgPCBmYi0+Zm9ybWF0LT5udW1fcGxhbmVzOyBpKyspIHsKICAgICAgICAgdW5z aWduZWQgaW50IHdpZHRoID0gbW9kZV9jbWQtPndpZHRoIC8KICAgICAgICAgICAgICAgICAgICAg IChpID8gZmItPmZvcm1hdC0+aHN1YiA6IDEpOwogICAgICAgICB1bnNpZ25lZCBpbnQgaGVpZ2h0 ID0gbW9kZV9jbWQtPmhlaWdodCAvCiAgICAgICAgICAgICAgICAgICAgICAgKGkgPyBmYi0+Zm9y bWF0LT52c3ViIDogMSk7CiAgICAgICAgIHVuc2lnbmVkIGludCBtaW5fc2l6ZTsKCiAgICAgICAg IGZiLT5vYmpzW2ldID0gZHJtX2dlbV9vYmplY3RfbG9va3VwKGZpbGVfcHJpdiwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBtb2RlX2NtZC0+aGFuZGxlc1tpXSk7CiAgICAgICAgIGlmICgh ZmItPm9ianNbaV0pIHsKICAgICAgICAgICAgIHJldCA9IC1FTk9FTlQ7CiAgICAgICAgICAgICBn b3RvIGVycl9nZW1fb2JqZWN0X3B1dDsKICAgICAgICAgfQoKICAgICAgICAgbWluX3NpemUgPSAo aGVpZ2h0IC0gMSkgKiBtb2RlX2NtZC0+cGl0Y2hlc1tpXSArCiAgICAgICAgICAgICAgICB3aWR0 aCAqIGZiLT5mb3JtYXQtPmNwcFtpXSArIG1vZGVfY21kLT5vZmZzZXRzW2ldOwoKICAgICAgICAg aWYgKGZiLT5vYmpzW2ldLT5zaXplIDwgbWluX3NpemUpIHsKICAgICAgICAgICAgIGRybV9nZW1f b2JqZWN0X3B1dF91bmxvY2tlZChmYi0+b2Jqc1tpXSk7CiAgICAgICAgICAgICBmYi0+b2Jqc1tp XSA9IE5VTEw7CiAgICAgICAgICAgICByZXQgPSAtRUlOVkFMOwogICAgICAgICAgICAgZ290byBl cnJfZ2VtX29iamVjdF9wdXQ7CiAgICAgICAgIH0KICAgICB9CgplcnJfZ2VtX29iamVjdF9wdXQ6 CiAgICAgZm9yIChpLS07IGkgPj0gMDsgaS0tKSB7CiAgICAgICAgIGRybV9nZW1fb2JqZWN0X3B1 dF91bmxvY2tlZChmYi0+b2Jqc1tpXSk7CiAgICAgICAgIGZiLT5vYmpzW2ldID0gTlVMTDsKICAg ICB9CgogICAgIHJldHVybiByZXQ7Cn0KRVhQT1JUX1NZTUJPTChkcm1faGVscGVyX21vZGVfZmls bF9mYl9nZW0pOwoKPj4gVGhlIHJlYXNvbiBmb3IgdGhpcywgaXMgdGhhdCBJIGhhdmUgbG9va2Vk IHRocm91Z2ggYWxsIGRyaXZlcnMgdGhhdAo+PiBzdWJjbGFzcyBkcm1fZnJhbWVidWZmZXIgYW5k IGZvdW5kIHRoaXM6Cj4+IC0gMTEgZHJpdmVycyBqdXN0IGFkZHMgZHJtX2dlbV9vYmplY3QKPiBV c3VhbGx5IHRoYXQncyBiZWNhdXNlIHRoZXkgZG9uJ3Qgc3VwcG9ydCB5dXYsIHNvIG9ubHkgbmVl ZCBvbmUgcGxhbmUuCj4KPj4gLSAyIGRyaXZlcnMgYWRkcyBkcm1fZ2VtX29iamVjdCBhbmQgc29t ZSBtb3JlCj4+IC0gNiBkcml2ZXJzIGFkZHMgZHJtX2dlbV9vYmplY3QgaW5kaXJlY3RseSB0aHJv dWdoIHRoZWlyIHN1YmNsYXNzZWQKPj4gICAgZHJtX2dlbV9vYmplY3QKPj4gLSAzIGRyaXZlcnMg ZG9lc24ndCBhZGQgZHJtX2dlbV9vYmplY3QKPiBJIHRoaW5rIGZvciBlYXNpZXIgY29udmVyc2lv biB3ZSBjYW4gbGVhdmUgYWxsIHRoZSBkcml2ZXItc3BlY2lmaWMgc3R1ZmYKPiBpbnRhY3QsIGFu ZCBqdXN0IHByb3ZpZGUgaGVscGVycyB0aGF0IHdvcmsgb24gdGhlIGNvcmUgYml0cy4KPgo+IEkg Z3Vlc3MgdGhpcyB3b3VsZCBhbHNvIGhlbHAgYSBsb3Qgd2l0aCB1bmlmeWluZyB0aGUgY21hIGZi IGhlbHBlcnMgYnkKPiBlc3NlbnRpYWxseSBtYWtpbmcgdGhlbSBmdWxseSBnZW5lcmljIGdlbSBm YiBoZWxwZXJzPwoKWWVzIGJvdGggY21hIGFuZCBzaG1lbSBsaWJyYXJ5IGNhbiBub3cgdXNlIHRo ZXNlIGhlbHBlcnMuIEJ1dCBwdXNoaW5nCnRoZSBoZWxwZXJzIGFsbCB0aGUgd2F5IG91dCB0byB0 aGUgY21hIGRyaXZlcnMgd2lsbCBiZSB0b28gbXVjaCBmb3IgbWUuCgpBbnkgY2hhbmNlIHRoZSBm YmRldiBoZWxwZXIgY291bGQgZ2V0IGEgc3RydWN0IGRybV9maWxlPwpJdCB3b3VsZCBiZSBuaWNl IHRvIHVzZSBkcm1fZHJpdmVyLmR1bWJfY3JlYXRlIGFuZApkcm1fbW9kZV9jb25maWdfZnVuY3Mu ZmJfY3JlYXRlIHRvIGdldCBhCmZyYW1lYnVmZmVyIGZvciBmYmRldi4KCk5vcmFsZi4KCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWls aW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=