From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [RFC 2/7] drm: Add GEM backed framebuffer library Date: Tue, 25 Jul 2017 09:00:55 +0200 Message-ID: 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> <41e632ff-e480-564a-1971-720d65ca2154@tronnes.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-it0-x241.google.com (mail-it0-x241.google.com [IPv6:2607:f8b0:4001:c0b::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id BE9E06E385 for ; Tue, 25 Jul 2017 07:00:57 +0000 (UTC) Received: by mail-it0-x241.google.com with SMTP id t78so7042119ita.1 for ; Tue, 25 Jul 2017 00:00:57 -0700 (PDT) In-Reply-To: <41e632ff-e480-564a-1971-720d65ca2154@tronnes.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: =?UTF-8?Q?Noralf_Tr=C3=B8nnes?= , David Herrmann Cc: dri-devel List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCBKdWwgMjEsIDIwMTcgYXQgMDg6Mzk6MTdQTSArMDIwMCwgTm9yYWxmIFRyw7hubmVz IHdyb3RlOgo+Cj4gRGVuIDIwLjA3LjIwMTcgMTAuMTAsIHNrcmV2IERhbmllbCBWZXR0ZXI6Cj4g PiBPbiBUdWUsIEp1bCAxOCwgMjAxNyBhdCAwNTo0MjoyOFBNICswMjAwLCBOb3JhbGYgVHLDuG5u ZXMgd3JvdGU6Cj4gPiA+IERlbiAxMi4wNy4yMDE3IDE1LjQ2LCBza3JldiBOb3JhbGYgVHLDuG5u ZXM6Cj4gPiA+ID4gQWRkIGEgbGlicmFyeSBmb3IgZHJpdmVycyB0aGF0IGNhbiB1c2UgYSBzaW1w bGUgcmVwcmVzZW50YXRpb24KPiA+ID4gPiBvZiBhIEdFTSBiYWNrZWQgZnJhbWVidWZmZXIuCj4g PiA+ID4KPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBOb3JhbGYgVHLDuG5uZXMgPG5vcmFsZkB0cm9u bmVzLm9yZz4KPiA+ID4gPiAtLS0KPiA+ID4gVGhpcyBwYXRjaCBhZGRzIGEgZ2VtIGJhY2tlZCBk cm1fZnJhbWVidWZmZXIgbGlrZSB0aGlzOgo+ID4gPgo+ID4gPiBzdHJ1Y3QgZHJtX2ZiX2dlbSB7 Cj4gPiA+ICAgICAgLyoqCj4gPiA+ICAgICAgICogQGJhc2U6IEJhc2UgRFJNIGZyYW1lYnVmZmVy Cj4gPiA+ICAgICAgICovCj4gPiA+ICAgICAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciBiYXNlOwo+ ID4gPiAgICAgIC8qKgo+ID4gPiAgICAgICAqIEBvYmo6IEdFTSBvYmplY3QgYXJyYXkgYmFja2lu ZyB0aGUgZnJhbWVidWZmZXIuIE9uZSBvYmplY3QgcGVyCj4gPiA+ICAgICAgICogcGxhbmUuCj4g PiA+ICAgICAgICovCj4gPiA+ICAgICAgc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmpbNF07Cj4g PiA+IH07Cj4gPiA+Cj4gPiA+IE5vdyBJIHdvbmRlciBpZiBpdCB3b3VsZCBiZSBiZXR0ZXIgdG8g ZXh0ZW5kIGRybV9mcmFtZWJ1ZmZlciBpbnN0ZWFkOgo+ID4gPgo+ID4gPiAgIHN0cnVjdCBkcm1f ZnJhbWVidWZmZXIgewo+ID4gPiArICAgIC8qKgo+ID4gPiArICAgICAqIEBvYmo6IEdFTSBvYmpl Y3RzIGJhY2tpbmcgdGhlIGZyYW1lYnVmZmVyLCBvbmUgcGVyIHBsYW5lIChvcHRpb25hbCkuCj4g PiA+ICsgICAgICovCj4gPiA+ICsgICAgc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmpbNF07Cj4g PiA+ICAgfTsKPiA+IEkgdGhpbmsgd2UgY2FuIGRpcmVjdGx5IGVtYmVkZCB0aGUgZ2VtIG9iaiBw b2ludGVycyBpbnRvIHRoZQo+ID4gZHJtX2ZyYW1lYnVmZmVyLiBBZ2FpbiB0aGUgaWRlYSB0aGF0 IHRoZXJlIHdvdWxkIGJlIGFueXRoaW5nIGVsc2UgdGhhbiBnZW0KPiA+IGtpbmRhIGRpZG4ndCBw YW4gb3V0LCBleGNlcHQgZm9yIHZtd2dmeC4KPiA+Cj4gPiBXZSBjb3VsZCB0aGVuIGhhdmUgYSBn ZW0gdmVyc2lvbiBvZiBkcm1faGVscGVyX21vZGVfZmlsbF9mYl9zdHJ1Y3QoKSwKPiA+IHdoaWNo IGFsc28gZG9lcyB0aGUgZ2VtIGJvIGxvb2t1cHMuCj4KPiBIb3cgYWJvdXQgdGhpcywgSSd2ZSBj b3BpZWQgZnJvbSBkcm1fZmJfY21hX2NyZWF0ZV93aXRoX2Z1bmNzKCk6CgpIbSwgd2UgbWlnaHQg YXMgd2VsbCBjYWxsIGl0IGRybV9mYl9nZW1fY3JlYXRlX3dpdGhfZnVuY3MsIHRvIHN0YXkgaW4g bGluZQp3aXRoIHRoZSBuYW1pbmcgc2NoZW1lIHdlIGhhdmUuCgo+IC8qKgo+ICAqIGRybV9oZWxw ZXJfbW9kZV9maWxsX2ZiX2dlbSAtIGZpbGwgb3V0IGZyYW1lYnVmZmVyIG1ldGFkYXRhIGFuZCBs b29rdXAKPiBHRU0KPiAgKiBAZGV2OiBEUk0gZGV2aWNlCj4gICogQGZpbGVfcHJpdjogRFJNIGZp bGUgdG8gbG9va3VwIGJ1ZmZlcnMgZnJvbQo+ICAqIEBmYjogZHJtX2ZyYW1lYnVmZmVyIG9iamVj dCB0byBmaWxsIG91dAo+ICAqIEBtb2RlX2NtZDogbWV0YWRhdGEgZnJvbSB0aGUgdXNlcnNwYWNl IGZiIGNyZWF0aW9uIHJlcXVlc3QKPiAgKgo+ICAqIFRoaXMgaGVscGVyIGNhbiBiZSB1c2VkIGlu IGEgZHJpdmVycyBmYl9jcmVhdGUgY2FsbGJhY2sgdG8gcHJlLWZpbGwgdGhlCj4gZmIncwo+ICAq IG1ldGFkYXRhIGZpZWxkcyBhbmQgbG9va3VwIHRoZSBHRU0gYnVmZmVyIG9iamVjdChzKS4KPiAg Kgo+ICAqIFJldHVybnM6Cj4gICogMCBvbiBzdWNjZXNzIG9yIGEgbmVnYXRpdmUgZXJyb3IgY29k ZSBvbiBmYWlsdXJlLgo+ICAqLwo+IGludCBkcm1faGVscGVyX21vZGVfZmlsbF9mYl9nZW0oc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwKPiAgICAgICAgICAgICAgICAgc3RydWN0IGRybV9maWxlICpm aWxlX3ByaXYsCj4gICAgICAgICAgICAgICAgIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLAo+ ICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kMiAqbW9kZV9jbWQp Cj4gewo+ICAgICBpbnQgaSwgcmV0Owo+Cj4gICAgIGRybV9oZWxwZXJfbW9kZV9maWxsX2ZiX3N0 cnVjdChkZXYsIGZiLCBtb2RlX2NtZCk7Cj4gICAgIGlmICghZmItPmZvcm1hdCkKPiAgICAgICAg IHJldHVybiAtRUlOVkFMOwo+Cj4gICAgIGZvciAoaSA9IDA7IGkgPCBmYi0+Zm9ybWF0LT5udW1f cGxhbmVzOyBpKyspIHsKPiAgICAgICAgIHVuc2lnbmVkIGludCB3aWR0aCA9IG1vZGVfY21kLT53 aWR0aCAvCj4gICAgICAgICAgICAgICAgICAgICAgKGkgPyBmYi0+Zm9ybWF0LT5oc3ViIDogMSk7 Cj4gICAgICAgICB1bnNpZ25lZCBpbnQgaGVpZ2h0ID0gbW9kZV9jbWQtPmhlaWdodCAvCj4gICAg ICAgICAgICAgICAgICAgICAgIChpID8gZmItPmZvcm1hdC0+dnN1YiA6IDEpOwo+ICAgICAgICAg dW5zaWduZWQgaW50IG1pbl9zaXplOwo+Cj4gICAgICAgICBmYi0+b2Jqc1tpXSA9IGRybV9nZW1f b2JqZWN0X2xvb2t1cChmaWxlX3ByaXYsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1v ZGVfY21kLT5oYW5kbGVzW2ldKTsKPiAgICAgICAgIGlmICghZmItPm9ianNbaV0pIHsKPiAgICAg ICAgICAgICByZXQgPSAtRU5PRU5UOwo+ICAgICAgICAgICAgIGdvdG8gZXJyX2dlbV9vYmplY3Rf cHV0Owo+ICAgICAgICAgfQo+Cj4gICAgICAgICBtaW5fc2l6ZSA9IChoZWlnaHQgLSAxKSAqIG1v ZGVfY21kLT5waXRjaGVzW2ldICsKPiAgICAgICAgICAgICAgICB3aWR0aCAqIGZiLT5mb3JtYXQt PmNwcFtpXSArIG1vZGVfY21kLT5vZmZzZXRzW2ldOwo+Cj4gICAgICAgICBpZiAoZmItPm9ianNb aV0tPnNpemUgPCBtaW5fc2l6ZSkgewo+ICAgICAgICAgICAgIGRybV9nZW1fb2JqZWN0X3B1dF91 bmxvY2tlZChmYi0+b2Jqc1tpXSk7Cj4gICAgICAgICAgICAgZmItPm9ianNbaV0gPSBOVUxMOwo+ ICAgICAgICAgICAgIHJldCA9IC1FSU5WQUw7Cj4gICAgICAgICAgICAgZ290byBlcnJfZ2VtX29i amVjdF9wdXQ7Cj4gICAgICAgICB9Cj4gICAgIH0KPgo+IGVycl9nZW1fb2JqZWN0X3B1dDoKPiAg ICAgZm9yIChpLS07IGkgPj0gMDsgaS0tKSB7Cj4gICAgICAgICBkcm1fZ2VtX29iamVjdF9wdXRf dW5sb2NrZWQoZmItPm9ianNbaV0pOwo+ICAgICAgICAgZmItPm9ianNbaV0gPSBOVUxMOwo+ICAg ICB9Cj4KPiAgICAgcmV0dXJuIHJldDsKPiB9Cj4gRVhQT1JUX1NZTUJPTChkcm1faGVscGVyX21v ZGVfZmlsbF9mYl9nZW0pOwo+Cj4gPiA+IFRoZSByZWFzb24gZm9yIHRoaXMsIGlzIHRoYXQgSSBo YXZlIGxvb2tlZCB0aHJvdWdoIGFsbCBkcml2ZXJzIHRoYXQKPiA+ID4gc3ViY2xhc3MgZHJtX2Zy YW1lYnVmZmVyIGFuZCBmb3VuZCB0aGlzOgo+ID4gPiAtIDExIGRyaXZlcnMganVzdCBhZGRzIGRy bV9nZW1fb2JqZWN0Cj4gPiBVc3VhbGx5IHRoYXQncyBiZWNhdXNlIHRoZXkgZG9uJ3Qgc3VwcG9y dCB5dXYsIHNvIG9ubHkgbmVlZCBvbmUgcGxhbmUuCj4gPgo+ID4gPiAtIDIgZHJpdmVycyBhZGRz IGRybV9nZW1fb2JqZWN0IGFuZCBzb21lIG1vcmUKPiA+ID4gLSA2IGRyaXZlcnMgYWRkcyBkcm1f Z2VtX29iamVjdCBpbmRpcmVjdGx5IHRocm91Z2ggdGhlaXIgc3ViY2xhc3NlZAo+ID4gPiAgICBk cm1fZ2VtX29iamVjdAo+ID4gPiAtIDMgZHJpdmVycyBkb2Vzbid0IGFkZCBkcm1fZ2VtX29iamVj dAo+ID4gSSB0aGluayBmb3IgZWFzaWVyIGNvbnZlcnNpb24gd2UgY2FuIGxlYXZlIGFsbCB0aGUg ZHJpdmVyLXNwZWNpZmljIHN0dWZmCj4gPiBpbnRhY3QsIGFuZCBqdXN0IHByb3ZpZGUgaGVscGVy cyB0aGF0IHdvcmsgb24gdGhlIGNvcmUgYml0cy4KPiA+Cj4gPiBJIGd1ZXNzIHRoaXMgd291bGQg YWxzbyBoZWxwIGEgbG90IHdpdGggdW5pZnlpbmcgdGhlIGNtYSBmYiBoZWxwZXJzIGJ5Cj4gPiBl c3NlbnRpYWxseSBtYWtpbmcgdGhlbSBmdWxseSBnZW5lcmljIGdlbSBmYiBoZWxwZXJzPwo+Cj4g WWVzIGJvdGggY21hIGFuZCBzaG1lbSBsaWJyYXJ5IGNhbiBub3cgdXNlIHRoZXNlIGhlbHBlcnMu IEJ1dCBwdXNoaW5nCj4gdGhlIGhlbHBlcnMgYWxsIHRoZSB3YXkgb3V0IHRvIHRoZSBjbWEgZHJp dmVycyB3aWxsIGJlIHRvbyBtdWNoIGZvciBtZS4KCk5vIHdvcnJpZXMsIHdlIGNhbiBkbyB0aGlz IG9uZSBieSBvbmUgYWNyb3NzIGRpZmZlcmVudCBwZW9wbGUuCgo+IEFueSBjaGFuY2UgdGhlIGZi ZGV2IGhlbHBlciBjb3VsZCBnZXQgYSBzdHJ1Y3QgZHJtX2ZpbGU/Cj4gSXQgd291bGQgYmUgbmlj ZSB0byB1c2UgZHJtX2RyaXZlci5kdW1iX2NyZWF0ZSBhbmQKPiBkcm1fbW9kZV9jb25maWdfZnVu Y3MuZmJfY3JlYXRlIHRvIGdldCBhCj4gZnJhbWVidWZmZXIgZm9yIGZiZGV2LgoKRGF2aWQgSGVy cm1hbm4gaGFkIGEgcGF0Y2ggc2VyaWVzIHRvIGFsbG93IHRoZSBrZXJuZWwgdG8gY3JlYXRlIGEg ZHJtX2ZpbGUKd2l0aG91dCBhIHJlYWwgc3RydWN0IGZpbGUgYXR0YWNoZWQgYmVoaW5kIGl0LiBJ IHRoaW5rIHdlIGxhbmRlZCB0aGUgcHJlcAp3b3JrLCBidXQgbm90IGFueSBvZiB0aGUgd29yayB0 byBtb3ZlIHRoZSBmYmRldiBoZWxwZXIgb3ZlciB0byBpdC4gSSdsbApwaW5nIGhpbSB3aGV0aGVy IGhlIHN0aWxsIGhhcyBzb21lIG9mIHRob3NlIHBhdGNoZXMgc29tZXdoZXJlLgotRGFuaWVsCi0t IApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRw Oi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmkt ZGV2ZWwK