From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v2 1/8] drm/rect: Add some drm_clip_rect utility functions Date: Mon, 25 Apr 2016 21:03:15 +0200 Message-ID: <20160425190315.GX2510@phenom.ffwll.local> References: <1461530942-22485-1-git-send-email-noralf@tronnes.org> <1461530942-22485-2-git-send-email-noralf@tronnes.org> <20160425123907.GY4329@intel.com> <571E13D8.4060100@tronnes.org> <20160425130229.GZ4329@intel.com> <571E23A1.2040100@tronnes.org> <20160425150944.GB4329@intel.com> <20160425160520.GV2510@phenom.ffwll.local> <20160425163816.GF4329@intel.com> <571E6366.20504@tronnes.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x233.google.com (mail-wm0-x233.google.com [IPv6:2a00:1450:400c:c09::233]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6A8466E6AC for ; Mon, 25 Apr 2016 19:03:20 +0000 (UTC) Received: by mail-wm0-x233.google.com with SMTP id u206so142627888wme.1 for ; Mon, 25 Apr 2016 12:03:20 -0700 (PDT) Content-Disposition: inline In-Reply-To: <571E6366.20504@tronnes.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Noralf =?iso-8859-1?Q?Tr=F8nnes?= Cc: linux-fbdev@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, tomi.valkeinen@ti.com, laurent.pinchart@ideasonboard.com List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCBBcHIgMjUsIDIwMTYgYXQgMDg6MzU6MThQTSArMDIwMCwgTm9yYWxmIFRyw7hubmVz IHdyb3RlOgo+IAo+IERlbiAyNS4wNC4yMDE2IDE4OjM4LCBza3JldiBWaWxsZSBTeXJqw6Rsw6Q6 Cj4gPk9uIE1vbiwgQXByIDI1LCAyMDE2IGF0IDA2OjA1OjIwUE0gKzAyMDAsIERhbmllbCBWZXR0 ZXIgd3JvdGU6Cj4gPj5PbiBNb24sIEFwciAyNSwgMjAxNiBhdCAwNjowOTo0NFBNICswMzAwLCBW aWxsZSBTeXJqw6Rsw6Qgd3JvdGU6Cj4gPj4+T24gTW9uLCBBcHIgMjUsIDIwMTYgYXQgMDQ6MDM6 MTNQTSArMDIwMCwgTm9yYWxmIFRyw7hubmVzIHdyb3RlOgo+ID4+Pj5EZW4gMjUuMDQuMjAxNiAx NTowMiwgc2tyZXYgVmlsbGUgU3lyasOkbMOkOgo+ID4+Pj4+T24gTW9uLCBBcHIgMjUsIDIwMTYg YXQgMDI6NTU6NTJQTSArMDIwMCwgTm9yYWxmIFRyw7hubmVzIHdyb3RlOgo+ID4+Pj4+PkRlbiAy NS4wNC4yMDE2IDE0OjM5LCBza3JldiBWaWxsZSBTeXJqw6Rsw6Q6Cj4gPj4+Pj4+Pk9uIFN1biwg QXByIDI0LCAyMDE2IGF0IDEwOjQ4OjU1UE0gKzAyMDAsIE5vcmFsZiBUcsO4bm5lcyB3cm90ZToK PiA+Pj4+Pj4+PkFkZCBzb21lIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBzdHJ1Y3QgZHJtX2NsaXBf cmVjdC4KPiA+Pj4+Pj4+TG9va3MgbGlrZSBtb3N0bHkgeW91J3JlIGp1c3QgZHVwbGljYXRpbmcg dGhlIGRybV9yZWN0IHN0dWZmLiBXaHkgY2FuJ3QKPiA+Pj4+Pj4+eW91IHVzZSB3aGF0J3MgdGhl cmUgYWxyZWFkeT8KPiA+Pj4+Pj5UaGF0J3MgYmVjYXVzZSB0aGUgZnJhbWVidWZmZXIgZmx1c2hp bmcgdXNlcyBkcm1fY2xpcF9yZWN0IGFuZCBub3QgZHJtX3JlY3Q6Cj4gPj4+Pj5Db252ZXJ0aW5n IHRvIGRybV9yZWN0IGlzIG5vdCBhbiBvcHRpb24/Cj4gPj4+PlRoYXQncyBkaWZmaWN1bHQgb3Ig YXQgbGVhc3QgdmVyYm9zZSB0byBkbyBiZWNhdXNlIGNsaXBzIGlzIGFuIGFycmF5Lgo+ID4+Pj5J IGNvdWxkIHVzZSBkcm1fcmVjdCBvbiB0aGUgY2FsbGluZyBzaWRlIChmYmRldikgc2luY2UgaXQn cyBvbmx5IG9uZSBjbGlwCj4gPj4+PndoaWNoIHRoZSBjaGFuZ2VzIGFyZSBtZXJnZWQgaW50bywg YW5kIHRoZW4gY29udmVydCBpdCB3aGVuIEkgY2FsbCBkaXJ0eSgpLgo+ID4+Pj5CdXQgdGhlIGRy aXZlciBjYW4gZ2V0IHplcm8gb3IgbW9yZSBjbGlwcyBmcm9tIHRoZSBkaXJ0eSBpb2N0bCBzbyBJ IGRvbid0Cj4gPj4+PnNlZSBhIGNsZWFuIHdheSB0byBjb252ZXJ0IHRoaXMgYXJyYXkgdG8gZHJt X3JlY3Qgd2l0aG91dCBtb3JlIGNvZGUgdGhhbgo+ID4+Pj50aGlzIHByb3Bvc2FsIGhhcy4KPiA+ Pj5KdXN0IHNvbWUga2luZCBvZiBzaW1wbGUgZHJtX2NsaXBfcmVjdF90b19yZWN0KCkgdGhpbmcg c2hvdWxkIGJlIGVub3VnaCBBRkFJQ1MuCj4gPj5ZZWFoLCBkcm1fY2xpcF9yZWN0IGlzIHRoZSB1 YXBpIHN0cnVjdCwgZHJtX3JlY3QgaXMgdGhlIGludGVybmFsIG9uZS4KPiA+PlNpbWlsYXIgY2Fz ZSBpcyBkcm1fZGlzcGxheV9tb2RlIHZzLiBkcm1fbW9kZV9tb2RlaW5mby4gV2UgaGF2ZQo+ID4+ dW1vZGVfdG9fbW9kZSBhbmQgbW9kZV90b191bW9kZSBoZWxwZXJzIHRvIGRlYWwgd2l0aCB0aGF0 LiBJIGRvIGFncmVlIHRoYXQKPiA+Pml0IHdvdWxkIG1ha2Ugc2Vuc2UgdG8gc3dpdGNoIHRoZSBp bnRlcm5hbCAtPmRpcnR5IGNhbGxiYWNrIG92ZXIgdG8gdGhlCj4gPj5pbnRlcm5hbCBkcm1fc3Ry dWN0LiBXb3VsZCBuZWVkIGEga21hbGxvYytjb3B5IGluIHRoZSBkaXJ0eWZiIGlvY3RsLCBidXQK PiA+PnNpbmNlIHRoZSBzdHJ1Y3RzIGFjdHVhbGx5IG1hdGNoIGluIHRoZWlyIG1lbWJlciBuYW1l cyAoanVzdCBub3QgdGhlCj4gPj5zaXplL3NpZ25lZG5lc3MsIHNpZ2gpIHRoZXJlIHNob3VsZG4n dCBiZSBhbnkgbmVlZCBmb3IgZHJpdmVyIGNoYW5nZXMuIFNvCj4gPj5mYWlybHkgc2ltcGxlIHBh dGNoLgo+ID5PciBpZiB3ZSB3YW50IHRvIGF2b2lkIHRoZSBtYWxsb2MsIHRoZW4gdGhlIG1lcmdl KCkgdGhpbmcgY291bGQganVzdAo+ID5pbnRlcm5hbGx5IGNvbnZlcnQgb25lIGF0IGEgdGltZSBv biBzdGFjayB3aGVuIGdvaW5nIHRocm91Z2ggdGhlbS4KPiA+VGhvdWdoIHRoZW4gc29tZW9uZSBt aWdodCB3YW50IHRvIGRvIGEgbWVyZ2UoKSB3aXRoIGludGVybmFsIGRybV9yZWN0cywKPiA+YW5k IHdlJ2QgYmUgcmlnaHQgd2hlcmUgd2Ugc3RhcnRlZC4gQnV0IEknbSBub3Qgc3VyZSB0aGF0IHdp bGwgaGFwcGVuLAo+ID5zbyBwZXJoYXBzIGl0J3MganVzdCB0b28gbXVjaCBmdXR1cmUgcHJvb2Zp bmcuCj4gPgo+ID4+T2ZjIHlvdSBuZWVkIHRvIGNvbXBpbGUtdGVzdCBhbGwgdGhlIGRyaXZlcnMg KGF0IGxlYXN0IHRob3NlIHVzaW5nIC0+ZGlydHkKPiA+Pmhvb2spIHRvIG1ha2Ugc3VyZSBnY2Mg aXMgc3RpbGwgaGFwcHkgd2l0aCBhbGwgdGhlIHNpZ25lZCB2cy4gdW5zaWduZWQKPiA+PnN0dWZm LiBNYXliZSB0aGF0IHR1cm5zIHVwIHNvbWV0aGluZywgYnV0IGhvcGVmdWxseSBub3QuCj4gPj4K PiA+PlNvcnJ5IGZvciB0aGF0IGxhdGUgcmVxdWVzdCwgYnV0IEkgcmVhbGx5IGRpZG4ndCByZWFs aXplIHdoYXQncyBnb2luZyBvbgo+ID4+aGVyZSA6KAo+ID4+LURhbmllbAo+IAo+IEhvdyBhYm91 dCB3ZSBqdXN0IGRyb3AgdGhpcyBwYXRjaD8KPiBJIGNvdWxkbid0IGZpbmQgYW55b25lIGVsc2Ug dGhhdCBtZXJnZSB0aGVzZSBjbGlwcywgdGhleSBqdXN0IGxvb3AgYW5kCj4gaGFuZGxlIHRoZW0g aW5kaXZpZHVhbGx5Lgo+IAo+IFRoZSByZWxldmFudCBwYXJ0IGluIGRybV9mYl9oZWxwZXIgd291 bGQgYmVjb21lOgo+IAo+IHN0YXRpYyB2b2lkIGRybV9mYl9oZWxwZXJfZGlydHlfd29yayhzdHJ1 Y3Qgd29ya19zdHJ1Y3QgKndvcmspCj4gewo+ICAgICBzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqaGVs cGVyID0gY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCBkcm1fZmJfaGVscGVyLAo+ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBkaXJ0eV93b3JrKTsKPiAgICAgc3RydWN0IGRybV9jbGlwX3Jl Y3QgKmNsaXAgPSAmaGVscGVyLT5kaXJ0eV9jbGlwOwo+ICAgICBzdHJ1Y3QgZHJtX2NsaXBfcmVj dCBjbGlwX2NvcHk7Cj4gICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7Cj4gCj4gICAgIHNwaW5fbG9j a19pcnFzYXZlKCZoZWxwZXItPmRpcnR5X2xvY2ssIGZsYWdzKTsKPiAgICAgY2xpcF9jb3B5ID0g KmNsaXA7Cj4gICAgIGNsaXAtPngxID0gY2xpcC0+eTEgPSB+MDsKPiAgICAgY2xpcC0+eDIgPSBj bGlwLT55MiA9IDA7Cj4gICAgIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmhlbHBlci0+ZGlydHlf bG9jaywgZmxhZ3MpOwo+IAo+ICAgICBoZWxwZXItPmZiLT5mdW5jcy0+ZGlydHkoaGVscGVyLT5m YiwgTlVMTCwgMCwgMCwgJmNsaXBfY29weSwgMSk7Cj4gfQo+IAo+IHN0YXRpYyB2b2lkIGRybV9m Yl9oZWxwZXJfZGlydHlfaW5pdChzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqaGVscGVyKQo+IHsKPiAg ICAgc3Bpbl9sb2NrX2luaXQoJmhlbHBlci0+ZGlydHlfbG9jayk7Cj4gICAgIElOSVRfV09SSygm aGVscGVyLT5kaXJ0eV93b3JrLCBkcm1fZmJfaGVscGVyX2RpcnR5X3dvcmspOwo+ICAgICBoZWxw ZXItPmRpcnR5X2NsaXAueDEgPSBoZWxwZXItPmRpcnR5X2NsaXAueTEgPSB+MDsKPiB9Cj4gCj4g c3RhdGljIHZvaWQgZHJtX2ZiX2hlbHBlcl9kaXJ0eShzdHJ1Y3QgZmJfaW5mbyAqaW5mbywgdTMy IHgsIHUzMiB5LAo+ICAgICAgICAgICAgICAgICB1MzIgd2lkdGgsIHUzMiBoZWlnaHQpCj4gewo+ ICAgICBzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqaGVscGVyID0gaW5mby0+cGFyOwo+ICAgICBzdHJ1 Y3QgZHJtX2NsaXBfcmVjdCAqY2xpcCA9ICZoZWxwZXItPmRpcnR5X2NsaXA7Cj4gICAgIHVuc2ln bmVkIGxvbmcgZmxhZ3M7Cj4gCj4gICAgIGlmICghaGVscGVyLT5mYi0+ZnVuY3MtPmRpcnR5KQo+ ICAgICAgICAgcmV0dXJuOwo+IAo+ICAgICBzcGluX2xvY2tfaXJxc2F2ZSgmaGVscGVyLT5kaXJ0 eV9sb2NrLCBmbGFncyk7Cj4gICAgIGNsaXAtPngxID0gbWluKGNsaXAtPngxLCB4KTsKPiAgICAg Y2xpcC0+eTEgPSBtaW4oY2xpcC0+eTEsIHkpOwo+ICAgICBjbGlwLT54MiA9IG1heChjbGlwLT54 MiwgeCArIHdpZHRoKTsKPiAgICAgY2xpcC0+eTIgPSBtYXgoY2xpcC0+eTIsIHkgKyBoZWlnaHQp Owo+ICAgICBzcGluX3VubG9ja19pcnFyZXN0b3JlKCZoZWxwZXItPmRpcnR5X2xvY2ssIGZsYWdz KTsKPiAKPiAgICAgc2NoZWR1bGVfd29yaygmaGVscGVyLT5kaXJ0eV93b3JrKTsKPiB9Cj4gCj4g Cj4gQW5kIHRoZSBkcml2ZXIgd291bGQgdXNlIHRoaXMgdGlueWRybSBmdW5jdGlvbjoKPiAKPiB2 b2lkIHRpbnlkcm1fbWVyZ2VfY2xpcHMoc3RydWN0IGRybV9jbGlwX3JlY3QgKmRzdCwKPiAgICAg ICAgICAgICAgc3RydWN0IGRybV9jbGlwX3JlY3QgKnNyYywgdW5zaWduZWQgbnVtX2NsaXBzLAo+ ICAgICAgICAgICAgICB1bnNpZ25lZCBmbGFncywgdTMyIHdpZHRoLCB1MzIgaGVpZ2h0KQo+IHsK PiAgICAgaW50IGk7Cj4gCj4gICAgIGlmICghc3JjIHx8ICFudW1fY2xpcHMpIHsKPiAgICAgICAg IGRzdC0+eDEgPSAwOwo+ICAgICAgICAgZHN0LT54MiA9IHdpZHRoOwo+ICAgICAgICAgZHN0LT55 MSA9IDA7Cj4gICAgICAgICBkc3QtPnkyID0gaGVpZ2h0Owo+ICAgICAgICAgcmV0dXJuOwo+ICAg ICB9Cj4gCj4gICAgIGRzdC0+eDEgPSBkc3QtPnkxID0gfjA7Cj4gICAgIGRzdC0+eDIgPSBkc3Qt PnkyID0gMDsKPiAKPiAgICAgZm9yIChpID0gMDsgaSA8IG51bV9jbGlwczsgaSsrKSB7Cj4gICAg ICAgICBpZiAoZmxhZ3MgJiBEUk1fTU9ERV9GQl9ESVJUWV9BTk5PVEFURV9DT1BZKQo+ICAgICAg ICAgICAgIGkrKzsKPiAgICAgICAgIGRzdC0+eDEgPSBtaW4oZHN0LT54MSwgc3JjW2ldLngxKTsK PiAgICAgICAgIGRzdC0+eDIgPSBtYXgoZHN0LT54Miwgc3JjW2ldLngyKTsKPiAgICAgICAgIGRz dC0+eTEgPSBtaW4oZHN0LT55MSwgc3JjW2ldLnkxKTsKPiAgICAgICAgIGRzdC0+eTIgPSBtYXgo ZHN0LT55Miwgc3JjW2ldLnkyKTsKPiAgICAgfQo+IAo+ICAgICBpZiAoZHN0LT54MiA+IHdpZHRo IHx8IGRzdC0+eTIgPiBoZWlnaHQgfHwKPiAgICAgICAgIGRzdC0+eDEgPj0gZHN0LT54MiB8fCBk c3QtPnkxID49IGRzdC0+eTIpIHsKPiAgICAgICAgIERSTV9ERUJVR19LTVMoIklsbGVnYWwgY2xp cDogeDE9JXUsIHgyPSV1LCB5MT0ldSwgeTI9JXVcbiIsCj4gICAgICAgICAgICAgICAgICAgZHN0 LT54MSwgZHN0LT54MiwgZHN0LT55MSwgZHN0LT55Mik7Cj4gICAgICAgICBkc3QtPngxID0gZHN0 LT55MSA9IDA7Cj4gICAgICAgICBkc3QtPngyID0gd2lkdGg7Cj4gICAgICAgICBkc3QtPnkyID0g aGVpZ2h0Owo+ICAgICB9Cj4gfQo+IAo+IHN0YXRpYyBpbnQgbWlwaV9kYmlfZGlydHlmYihzdHJ1 Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwgdm9pZCAqdm1lbSwKPiAgICAgICAgICAgICAgICAgdW5z aWduZWQgZmxhZ3MsIHVuc2lnbmVkIGNvbG9yLAo+ICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJt X2NsaXBfcmVjdCAqY2xpcHMsIHVuc2lnbmVkIG51bV9jbGlwcykKPiB7Cj4gICAgIHN0cnVjdCBk cm1fY2xpcF9yZWN0IGNsaXA7Cj4gCj4gICAgIHRpbnlkcm1fbWVyZ2VfY2xpcHMoJmNsaXAsIGNs aXBzLCBudW1fY2xpcHMsIGZsYWdzLAo+ICAgICAgICAgICAgICAgICBmYi0+d2lkdGgsIGZiLT5o ZWlnaHQpOwoKU2VlbXMgb2sgdG9vLCBhbmQgSSdtIHN0YXJ0aW5nIHRvIGdldCBhIGd1aWx0eSBm ZWVsaW5nIHdpdGggc2lnbmluZyB5b3UgdXAKZm9yIGV2ZXJ5dGhpbmcuIEkgZ3Vlc3MgbnVraW5n IGRybV9jbGlwX3JlY3QgZnJvbSBpbnRlcm5hbCBrbXMgYXBpcyBpcwpzb21ldGhpbmcgZm9yIHRo ZSBuZXh0IHBlcnNvbiB0byBzaG93IHVwIDstKQotRGFuaWVsCi0tIApEYW5pZWwgVmV0dGVyClNv ZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwg bWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK