From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Noralf_Tr=c3=b8nnes?= Subject: Re: [PATCH v2 1/8] drm/rect: Add some drm_clip_rect utility functions Date: Mon, 25 Apr 2016 14:55:52 +0200 Message-ID: <571E13D8.4060100@tronnes.org> References: <1461530942-22485-1-git-send-email-noralf@tronnes.org> <1461530942-22485-2-git-send-email-noralf@tronnes.org> <20160425123907.GY4329@intel.com> 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 8D1676E14B for ; Mon, 25 Apr 2016 12:56:04 +0000 (UTC) In-Reply-To: <20160425123907.GY4329@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= Cc: linux-fbdev@vger.kernel.org, tomi.valkeinen@ti.com, laurent.pinchart@ideasonboard.com, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org List-Id: dri-devel@lists.freedesktop.org CkRlbiAyNS4wNC4yMDE2IDE0OjM5LCBza3JldiBWaWxsZSBTeXJqw6Rsw6Q6Cj4gT24gU3VuLCBB cHIgMjQsIDIwMTYgYXQgMTA6NDg6NTVQTSArMDIwMCwgTm9yYWxmIFRyw7hubmVzIHdyb3RlOgo+ PiBBZGQgc29tZSB1dGlsaXR5IGZ1bmN0aW9ucyBmb3Igc3RydWN0IGRybV9jbGlwX3JlY3QuCj4g TG9va3MgbGlrZSBtb3N0bHkgeW91J3JlIGp1c3QgZHVwbGljYXRpbmcgdGhlIGRybV9yZWN0IHN0 dWZmLiBXaHkgY2FuJ3QKPiB5b3UgdXNlIHdoYXQncyB0aGVyZSBhbHJlYWR5PwoKVGhhdCdzIGJl Y2F1c2UgdGhlIGZyYW1lYnVmZmVyIGZsdXNoaW5nIHVzZXMgZHJtX2NsaXBfcmVjdCBhbmQgbm90 IGRybV9yZWN0OgoKc3RydWN0IGRybV9mcmFtZWJ1ZmZlcl9mdW5jcyB7ClsuLi5dCiAgICAgICAg IGludCAoKmRpcnR5KShzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmcmFtZWJ1ZmZlciwKICAgICAg ICAgICAgICAgICAgICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2LCB1bnNpZ25lZCBmbGFn cywKICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNvbG9yLCBzdHJ1Y3QgZHJtX2NsaXBf cmVjdCAqY2xpcHMsCiAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBudW1fY2xpcHMpOwp9 OwoKPj4gU2lnbmVkLW9mZi1ieTogTm9yYWxmIFRyw7hubmVzIDxub3JhbGZAdHJvbm5lcy5vcmc+ Cj4+IC0tLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9kcm1fcmVjdC5jIHwgNjcgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPj4gICBpbmNsdWRlL2RybS9kcm1fcmVj dC5oICAgICB8IDY5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysKPj4gICAyIGZpbGVzIGNoYW5nZWQsIDEzNiBpbnNlcnRpb25zKCspCj4+Cj4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3JlY3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcmVj dC5jCj4+IGluZGV4IGE4ZTJjODYuLmE5ZmIxYTggMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9kcm1fcmVjdC5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcmVjdC5jCj4+IEBA IC00MzQsMyArNDM0LDcwIEBAIHZvaWQgZHJtX3JlY3Rfcm90YXRlX2ludihzdHJ1Y3QgZHJtX3Jl Y3QgKnIsCj4+ICAgCX0KPj4gICB9Cj4+ICAgRVhQT1JUX1NZTUJPTChkcm1fcmVjdF9yb3RhdGVf aW52KTsKPj4gKwo+PiArLyoqCj4+ICsgKiBkcm1fY2xpcF9yZWN0X2ludGVyc2VjdCAtIGludGVy c2VjdCB0d28gY2xpcCByZWN0YW5nbGVzCj4+ICsgKiBAcjE6IGZpcnN0IGNsaXAgcmVjdGFuZ2xl Cj4+ICsgKiBAcjI6IHNlY29uZCBjbGlwIHJlY3RhbmdsZQo+PiArICoKPj4gKyAqIENhbGN1bGF0 ZSB0aGUgaW50ZXJzZWN0aW9uIG9mIGNsaXAgcmVjdGFuZ2xlcyBAcjEgYW5kIEByMi4KPj4gKyAq IEByMSB3aWxsIGJlIG92ZXJ3cml0dGVuIHdpdGggdGhlIGludGVyc2VjdGlvbi4KPj4gKyAqCj4+ ICsgKiBSRVRVUk5TOgo+PiArICogJXRydWUgaWYgcmVjdGFuZ2xlIEByMSBpcyBzdGlsbCB2aXNp YmxlIGFmdGVyIHRoZSBvcGVyYXRpb24sCj4+ICsgKiAlZmFsc2Ugb3RoZXJ3aXNlLgo+PiArICov Cj4+ICtib29sIGRybV9jbGlwX3JlY3RfaW50ZXJzZWN0KHN0cnVjdCBkcm1fY2xpcF9yZWN0ICpy MSwKPj4gKwkJCSAgICAgY29uc3Qgc3RydWN0IGRybV9jbGlwX3JlY3QgKnIyKQo+PiArewo+PiAr CXIxLT54MSA9IG1heChyMS0+eDEsIHIyLT54MSk7Cj4+ICsJcjEtPnkxID0gbWF4KHIxLT55MSwg cjItPnkxKTsKPj4gKwlyMS0+eDIgPSBtaW4ocjEtPngyLCByMi0+eDIpOwo+PiArCXIxLT55MiA9 IG1pbihyMS0+eTIsIHIyLT55Mik7Cj4+ICsKPj4gKwlyZXR1cm4gZHJtX2NsaXBfcmVjdF92aXNp YmxlKHIxKTsKPj4gK30KPj4gK0VYUE9SVF9TWU1CT0woZHJtX2NsaXBfcmVjdF9pbnRlcnNlY3Qp Owo+PiArCj4+ICsvKioKPj4gKyAqIGRybV9jbGlwX3JlY3RfbWVyZ2UgLSBNZXJnZSBjbGlwIHJl Y3RhbmdsZXMKPj4gKyAqIEBkc3Q6IGRlc3RpbmF0aW9uIGNsaXAgcmVjdGFuZ2xlCj4+ICsgKiBA c3JjOiBzb3VyY2UgY2xpcCByZWN0YW5nbGUocyksIGNhbiBiZSBOVUxMCj4+ICsgKiBAbnVtX2Ns aXBzOiBudW1iZXIgb2Ygc291cmNlIGNsaXAgcmVjdGFuZ2xlcwo+PiArICogQGZsYWdzOiBkcm1f bW9kZV9mYl9kaXJ0eV9jbWQgZmxhZ3MgKERSTV9NT0RFX0ZCX0RJUlRZX0FOTk9UQVRFX0NPUFkp Cj4+ICsgKiBAd2lkdGg6IHdpZHRoIG9mIGNsaXAgcmVjdGFuZ2xlIGlmIEBzcmMgaXMgTlVMTAo+ PiArICogQGhlaWdodDogaGVpZ2h0IG9mIGNsaXAgcmVjdGFuZ2xlIGlmIEBzcmMgaXMgTlVMTAo+ PiArICoKPj4gKyAqIFRoZSBkaXJ0eWZiIGlvY3RsIGFsbG93cyBmb3IgYSBOVUxMIGNsaXAgcmVj dGFuZ2xlIHRvIGJlIHBhc3NlZCBpbiwKPj4gKyAqIHNvIGlmIEBzcmMgaXMgTlVMTCwgd2lkdGgg YW5kIGhlaWdodCBpcyB1c2VkIHRvIHNldCBhIGZ1bGwgY2xpcCByZWN0YW5nbGUuCj4+ICsgKiBA ZHN0IHRha2VzIHBhcnQgaW4gdGhlIG1lcmdlIHVubGVzcyBpdCBpcyBlbXB0eSB7MCwwLDAsMH0u Cj4+ICsgKi8KPj4gK3ZvaWQgZHJtX2NsaXBfcmVjdF9tZXJnZShzdHJ1Y3QgZHJtX2NsaXBfcmVj dCAqZHN0LAo+PiArCQkJIHN0cnVjdCBkcm1fY2xpcF9yZWN0ICpzcmMsIHVuc2lnbmVkIG51bV9j bGlwcywKPj4gKwkJCSB1bnNpZ25lZCBmbGFncywgdTMyIHdpZHRoLCB1MzIgaGVpZ2h0KQo+PiAr ewo+PiArCWludCBpOwo+PiArCj4+ICsJaWYgKCFzcmMgfHwgIW51bV9jbGlwcykgewo+PiArCQlk c3QtPngxID0gMDsKPj4gKwkJZHN0LT54MiA9IHdpZHRoOwo+PiArCQlkc3QtPnkxID0gMDsKPj4g KwkJZHN0LT55MiA9IGhlaWdodDsKPj4gKwkJcmV0dXJuOwo+PiArCX0KPj4gKwo+PiArCWlmIChk cm1fY2xpcF9yZWN0X2lzX2VtcHR5KGRzdCkpIHsKPj4gKwkJZHN0LT54MSA9IH4wOwo+PiArCQlk c3QtPnkxID0gfjA7Cj4+ICsJfQo+PiArCj4+ICsJZm9yIChpID0gMDsgaSA8IG51bV9jbGlwczsg aSsrKSB7Cj4+ICsJCWlmIChmbGFncyAmIERSTV9NT0RFX0ZCX0RJUlRZX0FOTk9UQVRFX0NPUFkp Cj4+ICsJCQlpKys7Cj4+ICsJCWRzdC0+eDEgPSBtaW4oZHN0LT54MSwgc3JjW2ldLngxKTsKPj4g KwkJZHN0LT54MiA9IG1heChkc3QtPngyLCBzcmNbaV0ueDIpOwo+PiArCQlkc3QtPnkxID0gbWlu KGRzdC0+eTEsIHNyY1tpXS55MSk7Cj4+ICsJCWRzdC0+eTIgPSBtYXgoZHN0LT55Miwgc3JjW2ld LnkyKTsKPj4gKwl9Cj4+ICt9Cj4+ICtFWFBPUlRfU1lNQk9MKGRybV9jbGlwX3JlY3RfbWVyZ2Up Owo+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX3JlY3QuaCBiL2luY2x1ZGUvZHJtL2Ry bV9yZWN0LmgKPj4gaW5kZXggODNiYjE1Ni4uOTM2YWQ4ZCAxMDA2NDQKPj4gLS0tIGEvaW5jbHVk ZS9kcm0vZHJtX3JlY3QuaAo+PiArKysgYi9pbmNsdWRlL2RybS9kcm1fcmVjdC5oCj4+IEBAIC0y NCw2ICsyNCw4IEBACj4+ICAgI2lmbmRlZiBEUk1fUkVDVF9ICj4+ICAgI2RlZmluZSBEUk1fUkVD VF9ICj4+ICAgCj4+ICsjaW5jbHVkZSA8dWFwaS9kcm0vZHJtLmg+Cj4+ICsKPj4gICAvKioKPj4g ICAgKiBET0M6IHJlY3QgdXRpbHMKPj4gICAgKgo+PiBAQCAtMTcxLDQgKzE3Myw3MSBAQCB2b2lk IGRybV9yZWN0X3JvdGF0ZV9pbnYoc3RydWN0IGRybV9yZWN0ICpyLAo+PiAgIAkJCSBpbnQgd2lk dGgsIGludCBoZWlnaHQsCj4+ICAgCQkJIHVuc2lnbmVkIGludCByb3RhdGlvbik7Cj4+ICAgCj4+ ICsvKioKPj4gKyAqIGRybV9jbGlwX3JlY3Rfd2lkdGggLSBkZXRlcm1pbmUgdGhlIGNsaXAgcmVj dGFuZ2xlIHdpZHRoCj4+ICsgKiBAcjogY2xpcCByZWN0YW5nbGUgd2hvc2Ugd2lkdGggaXMgcmV0 dXJuZWQKPj4gKyAqCj4+ICsgKiBSRVRVUk5TOgo+PiArICogVGhlIHdpZHRoIG9mIHRoZSBjbGlw IHJlY3RhbmdsZS4KPj4gKyAqLwo+PiArc3RhdGljIGlubGluZSBpbnQgZHJtX2NsaXBfcmVjdF93 aWR0aChjb25zdCBzdHJ1Y3QgZHJtX2NsaXBfcmVjdCAqcikKPj4gK3sKPj4gKwlyZXR1cm4gci0+ eDIgLSByLT54MTsKPj4gK30KPj4gKwo+PiArLyoqCj4+ICsgKiBkcm1fY2xpcF9yZWN0X2hlaWdo dCAtIGRldGVybWluZSB0aGUgY2xpcCByZWN0YW5nbGUgaGVpZ2h0Cj4+ICsgKiBAcjogY2xpcCBy ZWN0YW5nbGUgd2hvc2UgaGVpZ2h0IGlzIHJldHVybmVkCj4+ICsgKgo+PiArICogUkVUVVJOUzoK Pj4gKyAqIFRoZSBoZWlnaHQgb2YgdGhlIGNsaXAgcmVjdGFuZ2xlLgo+PiArICovCj4+ICtzdGF0 aWMgaW5saW5lIGludCBkcm1fY2xpcF9yZWN0X2hlaWdodChjb25zdCBzdHJ1Y3QgZHJtX2NsaXBf cmVjdCAqcikKPj4gK3sKPj4gKwlyZXR1cm4gci0+eTIgLSByLT55MTsKPj4gK30KPj4gKwo+PiAr LyoqCj4+ICsgKiBkcm1fY2xpcF9yZWN0X3Zpc2libGUgLSBkZXRlcm1pbmUgaWYgdGhlIHRoZSBj bGlwIHJlY3RhbmdsZSBpcyB2aXNpYmxlCj4+ICsgKiBAcjogY2xpcCByZWN0YW5nbGUgd2hvc2Ug dmlzaWJpbGl0eSBpcyByZXR1cm5lZAo+PiArICoKPj4gKyAqIFJFVFVSTlM6Cj4+ICsgKiAldHJ1 ZSBpZiB0aGUgY2xpcCByZWN0YW5nbGUgaXMgdmlzaWJsZSwgJWZhbHNlIG90aGVyd2lzZS4KPj4g KyAqLwo+PiArc3RhdGljIGlubGluZSBib29sIGRybV9jbGlwX3JlY3RfdmlzaWJsZShjb25zdCBz dHJ1Y3QgZHJtX2NsaXBfcmVjdCAqcikKPj4gK3sKPj4gKwlyZXR1cm4gZHJtX2NsaXBfcmVjdF93 aWR0aChyKSA+IDAgJiYgZHJtX2NsaXBfcmVjdF9oZWlnaHQocikgPiAwOwo+PiArfQo+PiArCj4+ ICsvKioKPj4gKyAqIGRybV9jbGlwX3JlY3RfcmVzZXQgLSBSZXNldCBjbGlwIHJlY3RhbmdsZQo+ PiArICogQGNsaXA6IGNsaXAgcmVjdGFuZ2xlCj4+ICsgKgo+PiArICogU2V0cyBjbGlwIHJlY3Rh bmdsZSB0byB7MCwwLDAsMH0uCj4+ICsgKi8KPj4gK3N0YXRpYyBpbmxpbmUgdm9pZCBkcm1fY2xp cF9yZWN0X3Jlc2V0KHN0cnVjdCBkcm1fY2xpcF9yZWN0ICpjbGlwKQo+PiArewo+PiArCWNsaXAt PngxID0gMDsKPj4gKwljbGlwLT54MiA9IDA7Cj4+ICsJY2xpcC0+eTEgPSAwOwo+PiArCWNsaXAt PnkyID0gMDsKPj4gK30KPj4gKwo+PiArLyoqCj4+ICsgKiBkcm1fY2xpcF9yZWN0X2lzX2VtcHR5 IC0gSXMgY2xpcCByZWN0YW5nbGUgZW1wdHk/Cj4+ICsgKiBAY2xpcDogY2xpcCByZWN0YW5nbGUK Pj4gKyAqCj4+ICsgKiBSZXR1cm5zIHRydWUgaWYgY2xpcCByZWN0YW5nbGUgaXMgezAsMCwwLDB9 Lgo+PiArICovCj4+ICtzdGF0aWMgaW5saW5lIGJvb2wgZHJtX2NsaXBfcmVjdF9pc19lbXB0eShz dHJ1Y3QgZHJtX2NsaXBfcmVjdCAqY2xpcCkKPj4gK3sKPj4gKwlyZXR1cm4gKCFjbGlwLT54MSAm JiAhY2xpcC0+eDIgJiYgIWNsaXAtPnkxICYmICFjbGlwLT55Mik7Cj4+ICt9Cj4+ICsKPj4gK2Jv b2wgZHJtX2NsaXBfcmVjdF9pbnRlcnNlY3Qoc3RydWN0IGRybV9jbGlwX3JlY3QgKnIxLAo+PiAr CQkJICAgICBjb25zdCBzdHJ1Y3QgZHJtX2NsaXBfcmVjdCAqcjIpOwo+PiArdm9pZCBkcm1fY2xp cF9yZWN0X21lcmdlKHN0cnVjdCBkcm1fY2xpcF9yZWN0ICpkc3QsCj4+ICsJCQkgc3RydWN0IGRy bV9jbGlwX3JlY3QgKnNyYywgdW5zaWduZWQgbnVtX2NsaXBzLAo+PiArCQkJIHVuc2lnbmVkIGZs YWdzLCB1MzIgd2lkdGgsIHUzMiBoZWlnaHQpOwo+PiArCj4+ICAgI2VuZGlmCj4+IC0tIAo+PiAy LjIuMgo+Pgo+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Xwo+PiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4+IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKPj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9k cmktZGV2ZWwKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=