From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm/vc4: Add support for X/Y reflection Date: Mon, 3 Dec 2018 15:50:26 +0200 Message-ID: <20181203135026.GG9144@intel.com> References: <20181203133412.24442-1-boris.brezillon@bootlin.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id A52426E029 for ; Mon, 3 Dec 2018 13:50:29 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20181203133412.24442-1-boris.brezillon@bootlin.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Boris Brezillon Cc: Paul Kocialkowski , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCBEZWMgMDMsIDIwMTggYXQgMDI6MzQ6MTJQTSArMDEwMCwgQm9yaXMgQnJlemlsbG9u IHdyb3RlOgo+IEFkZCBzdXBwb3J0IGZvciBYL1kgcmVmbGVjdGlvbiB3aGVuIHRoZSBwbGFuZSBp cyB1c2luZyBsaW5lYXIgb3IgVC10aWxlZAo+IGZvcm1hdHMuIFgvWSByZWZsZWN0aW9uIGhhc24n dCBiZWVuIHRlc3RlZCBvbiBTQU5EIGZvcm1hdHMsIHNvIHdlIHJlamVjdAo+IHRoZW0gdW50aWwg cHJvcGVyIHRlc3RpbmcvZGVidWdnaW5nIGhhcyBiZWVuIGRvbmUuCgpCVFcgeW91IGNvdWxkIGFs c28gZXhwb3NlIDE4MCBkZWdyZXNzIGVhc2lseS4gU2VlCmRybV9yb3RhdGlvbl9zaW1wbGlmeSgp LgoKPiAKPiBTaWduZWQtb2ZmLWJ5OiBCb3JpcyBCcmV6aWxsb24gPGJvcmlzLmJyZXppbGxvbkBi b290bGluLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfcGxhbmUuYyB8IDU1 ICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLQo+ICAxIGZpbGUgY2hhbmdlZCwgNDQg aW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS92YzQvdmM0X3BsYW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9wbGFuZS5j Cj4gaW5kZXggNzVkYjYyY2JlNDY4Li5iZGNjY2Y2NWNkZTAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL3ZjNC92YzRfcGxhbmUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0 X3BsYW5lLmMKPiBAQCAtNDkyLDcgKzQ5Miw3IEBAIHN0YXRpYyBpbnQgdmM0X3BsYW5lX21vZGVf c2V0KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ICAJYm9vbCBtaXhfcGxhbmVfYWxwaGE7Cj4g IAlib29sIGNvdmVyc19zY3JlZW47Cj4gIAl1MzIgc2NsMCwgc2NsMSwgcGl0Y2gwOwo+IC0JdTMy IHRpbGluZzsKPiArCXUzMiB0aWxpbmcsIHNyY195Owo+ICAJdTMyIGh2c19mb3JtYXQgPSBmb3Jt YXQtPmh2czsKPiAgCWludCByZXQsIGk7Cj4gIAo+IEBAIC01MjAsNiArNTIwLDExIEBAIHN0YXRp YyBpbnQgdmM0X3BsYW5lX21vZGVfc2V0KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ICAJaF9z dWJzYW1wbGUgPSBkcm1fZm9ybWF0X2hvcnpfY2hyb21hX3N1YnNhbXBsaW5nKGZvcm1hdC0+ZHJt KTsKPiAgCXZfc3Vic2FtcGxlID0gZHJtX2Zvcm1hdF92ZXJ0X2Nocm9tYV9zdWJzYW1wbGluZyhm b3JtYXQtPmRybSk7Cj4gIAo+ICsJLyogV2UgbXVzdCBwb2ludCB0byB0aGUgbGFzdCBsaW5lIHdo ZW4gWSByZWZsZWN0aW9uIGlzIGVuYWJsZWQuICovCj4gKwlzcmNfeSA9IHZjNF9zdGF0ZS0+c3Jj X3k7Cj4gKwlpZiAoc3RhdGUtPnJvdGF0aW9uICYgRFJNX01PREVfUkVGTEVDVF9ZKQo+ICsJCXNy Y195ICs9IHZjNF9zdGF0ZS0+c3JjX2hbMF0gLSAxOwo+ICsKPiAgCXN3aXRjaCAoYmFzZV9mb3Jt YXRfbW9kKSB7Cj4gIAljYXNlIERSTV9GT1JNQVRfTU9EX0xJTkVBUjoKPiAgCQl0aWxpbmcgPSBT Q0FMRVJfQ1RMMF9USUxJTkdfTElORUFSOwo+IEBAIC01MjksOSArNTM0LDEwIEBAIHN0YXRpYyBp bnQgdmM0X3BsYW5lX21vZGVfc2V0KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ICAJCSAqIG91 dC4KPiAgCQkgKi8KPiAgCQlmb3IgKGkgPSAwOyBpIDwgbnVtX3BsYW5lczsgaSsrKSB7Cj4gLQkJ CXZjNF9zdGF0ZS0+b2Zmc2V0c1tpXSArPSB2YzRfc3RhdGUtPnNyY195IC8KPiArCQkJdmM0X3N0 YXRlLT5vZmZzZXRzW2ldICs9IHNyY195IC8KPiAgCQkJCQkJIChpID8gdl9zdWJzYW1wbGUgOiAx KSAqCj4gIAkJCQkJCSBmYi0+cGl0Y2hlc1tpXTsKPiArCj4gIAkJCXZjNF9zdGF0ZS0+b2Zmc2V0 c1tpXSArPSB2YzRfc3RhdGUtPnNyY194IC8KPiAgCQkJCQkJIChpID8gaF9zdWJzYW1wbGUgOiAx KSAqCj4gIAkJCQkJCSBmYi0+Zm9ybWF0LT5jcHBbaV07Cj4gQEAgLTU1NywyMiArNTYzLDM4IEBA IHN0YXRpYyBpbnQgdmM0X3BsYW5lX21vZGVfc2V0KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ ICAJCXUzMiB0aWxlc193ID0gZmItPnBpdGNoZXNbMF0gPj4gKHRpbGVfc2l6ZV9zaGlmdCAtIHRp bGVfaF9zaGlmdCk7Cj4gIAkJdTMyIHRpbGVzX2wgPSB2YzRfc3RhdGUtPnNyY194ID4+IHRpbGVf d19zaGlmdDsKPiAgCQl1MzIgdGlsZXNfciA9IHRpbGVzX3cgLSB0aWxlc19sOwo+IC0JCXUzMiB0 aWxlc190ID0gdmM0X3N0YXRlLT5zcmNfeSA+PiB0aWxlX2hfc2hpZnQ7Cj4gKwkJdTMyIHRpbGVz X3QgPSBzcmNfeSA+PiB0aWxlX2hfc2hpZnQ7Cj4gIAkJLyogSW50cmEtdGlsZSBvZmZzZXRzLCB3 aGljaCBtb2RpZnkgdGhlIGJhc2UgYWRkcmVzcyAodGhlCj4gIAkJICogU0NBTEVSX1BJVENIMF9U SUxFX1lfT0ZGU0VUIHRlbGxzIEhWUyBob3cgdG8gd2FsayBmcm9tIHRoYXQKPiAgCQkgKiBiYXNl IGFkZHJlc3MpLgo+ICAJCSAqLwo+IC0JCXUzMiB0aWxlX3kgPSAodmM0X3N0YXRlLT5zcmNfeSA+ PiA0KSAmIDE7Cj4gLQkJdTMyIHN1YnRpbGVfeSA9ICh2YzRfc3RhdGUtPnNyY195ID4+IDIpICYg MzsKPiAtCQl1MzIgdXRpbGVfeSA9IHZjNF9zdGF0ZS0+c3JjX3kgJiAzOwo+ICsJCXUzMiB0aWxl X3kgPSAoc3JjX3kgPj4gNCkgJiAxOwo+ICsJCXUzMiBzdWJ0aWxlX3kgPSAoc3JjX3kgPj4gMikg JiAzOwo+ICsJCXUzMiB1dGlsZV95ID0gc3JjX3kgJiAzOwo+ICAJCXUzMiB4X29mZiA9IHZjNF9z dGF0ZS0+c3JjX3ggJiB0aWxlX3dfbWFzazsKPiAtCQl1MzIgeV9vZmYgPSB2YzRfc3RhdGUtPnNy Y195ICYgdGlsZV9oX21hc2s7Cj4gKwkJdTMyIHlfb2ZmID0gc3JjX3kgJiB0aWxlX2hfbWFzazsK PiArCj4gKwkJLyogV2hlbiBZIHJlZmxlY3Rpb24gaXMgcmVxdWVzdGVkIHdlIG11c3Qgc2V0IHRo ZQo+ICsJCSAqIFNDQUxFUl9QSVRDSDBfVElMRV9MSU5FX0RJUiBmbGFnIHRvIHRlbGwgSFZTIHRo YXQgYWxsIGxpbmVzCj4gKwkJICogYWZ0ZXIgdGhlIGluaXRpYWwgb25lIHNob3VsZCBiZSBmZXRj aGVkIGluIGRlc2NlbmRpbmcgb3JkZXIsCj4gKwkJICogd2hpY2ggbWFrZXMgc2Vuc2Ugc2luY2Ug d2Ugc3RhcnQgZnJvbSB0aGUgbGFzdCBsaW5lIGFuZCBnbwo+ICsJCSAqIGJhY2t3YXJkLgo+ICsJ CSAqIERvbid0IGtub3cgd2h5IHdlIG5lZWQgeV9vZmYgPSBtYXhfeV9vZmYgLSB5X29mZiwgYnV0 IGl0J3MKPiArCQkgKiBkZWZpbml0ZWx5IHJlcXVpcmVkIChJIGd1ZXNzIGl0J3MgYWxzbyByZWxh dGVkIHRvIHRoZSAiZ29pbmcKPiArCQkgKiBiYWNrd2FyZCIgc2l0dWF0aW9uKS4KPiArCQkgKi8K PiArCQlpZiAoc3RhdGUtPnJvdGF0aW9uICYgRFJNX01PREVfUkVGTEVDVF9ZKSB7Cj4gKwkJCXlf b2ZmID0gdGlsZV9oX21hc2sgLSB5X29mZjsKPiArCQkJcGl0Y2gwID0gU0NBTEVSX1BJVENIMF9U SUxFX0xJTkVfRElSOwo+ICsJCX0gZWxzZSB7Cj4gKwkJCXBpdGNoMCA9IDA7Cj4gKwkJfQo+ICAK PiAgCQl0aWxpbmcgPSBTQ0FMRVJfQ1RMMF9USUxJTkdfMjU2Ql9PUl9UOwo+IC0JCXBpdGNoMCA9 IChWQzRfU0VUX0ZJRUxEKHhfb2ZmLCBTQ0FMRVJfUElUQ0gwX1NJTktfUElYKSB8Cj4gLQkJCSAg VkM0X1NFVF9GSUVMRCh5X29mZiwgU0NBTEVSX1BJVENIMF9USUxFX1lfT0ZGU0VUKSB8Cj4gLQkJ CSAgVkM0X1NFVF9GSUVMRCh0aWxlc19sLCBTQ0FMRVJfUElUQ0gwX1RJTEVfV0lEVEhfTCkgfAo+ IC0JCQkgIFZDNF9TRVRfRklFTEQodGlsZXNfciwgU0NBTEVSX1BJVENIMF9USUxFX1dJRFRIX1Ip KTsKPiArCQlwaXRjaDAgfD0gKFZDNF9TRVRfRklFTEQoeF9vZmYsIFNDQUxFUl9QSVRDSDBfU0lO S19QSVgpIHwKPiArCQkJICAgVkM0X1NFVF9GSUVMRCh5X29mZiwgU0NBTEVSX1BJVENIMF9USUxF X1lfT0ZGU0VUKSB8Cj4gKwkJCSAgIFZDNF9TRVRfRklFTEQodGlsZXNfbCwgU0NBTEVSX1BJVENI MF9USUxFX1dJRFRIX0wpIHwKPiArCQkJICAgVkM0X1NFVF9GSUVMRCh0aWxlc19yLCBTQ0FMRVJf UElUQ0gwX1RJTEVfV0lEVEhfUikpOwo+ICAJCXZjNF9zdGF0ZS0+b2Zmc2V0c1swXSArPSB0aWxl c190ICogKHRpbGVzX3cgPDwgdGlsZV9zaXplX3NoaWZ0KTsKPiAgCQl2YzRfc3RhdGUtPm9mZnNl dHNbMF0gKz0gc3VidGlsZV95IDw8IDg7Cj4gIAkJdmM0X3N0YXRlLT5vZmZzZXRzWzBdICs9IHV0 aWxlX3kgPDwgNDsKPiBAQCAtNjExLDYgKzYzMywxMSBAQCBzdGF0aWMgaW50IHZjNF9wbGFuZV9t b2RlX3NldChzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiAgCQkJfQo+ICAJCX0KPiAgCj4gKwkJ aWYgKHN0YXRlLT5yb3RhdGlvbiAmIERSTV9NT0RFX1JFRkxFQ1RfTUFTSykgewo+ICsJCQlEUk1f REVCVUdfS01TKCJYL1kgcmVmbGVjdGlvbiBub3Qgc3VwcG9ydGVkIG9uIFNBTkQgZm9ybWF0c1xu Iik7Cj4gKwkJCXJldHVybiAtRU5PVFNVUFA7Cj4gKwkJfQo+ICsKPiAgCQlzd2l0Y2ggKGJhc2Vf Zm9ybWF0X21vZCkgewo+ICAJCWNhc2UgRFJNX0ZPUk1BVF9NT0RfQlJPQURDT01fU0FORDY0Ogo+ ICAJCQl0aWxpbmcgPSBTQ0FMRVJfQ1RMMF9USUxJTkdfNjRCOwo+IEBAIC02NDMsNiArNjcwLDgg QEAgc3RhdGljIGludCB2YzRfcGxhbmVfbW9kZV9zZXQoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUs Cj4gIAkvKiBDb250cm9sIHdvcmQgKi8KPiAgCXZjNF9kbGlzdF93cml0ZSh2YzRfc3RhdGUsCj4g IAkJCVNDQUxFUl9DVEwwX1ZBTElEIHwKPiArCQkJKHN0YXRlLT5yb3RhdGlvbiAmIERSTV9NT0RF X1JFRkxFQ1RfWCA/IFNDQUxFUl9DVEwwX0hGTElQIDogMCkgfAo+ICsJCQkoc3RhdGUtPnJvdGF0 aW9uICYgRFJNX01PREVfUkVGTEVDVF9ZID8gU0NBTEVSX0NUTDBfVkZMSVAgOiAwKSB8Cj4gIAkJ CVZDNF9TRVRfRklFTEQoU0NBTEVSX0NUTDBfUkdCQV9FWFBBTkRfUk9VTkQsIFNDQUxFUl9DVEww X1JHQkFfRVhQQU5EKSB8Cj4gIAkJCShmb3JtYXQtPnBpeGVsX29yZGVyIDw8IFNDQUxFUl9DVEww X09SREVSX1NISUZUKSB8Cj4gIAkJCShodnNfZm9ybWF0IDw8IFNDQUxFUl9DVEwwX1BJWEVMX0ZP Uk1BVF9TSElGVCkgfAo+IEBAIC0xMTIzLDYgKzExNTIsMTAgQEAgc3RydWN0IGRybV9wbGFuZSAq dmM0X3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCWRybV9wbGFuZV9oZWxw ZXJfYWRkKHBsYW5lLCAmdmM0X3BsYW5lX2hlbHBlcl9mdW5jcyk7Cj4gIAo+ICAJZHJtX3BsYW5l X2NyZWF0ZV9hbHBoYV9wcm9wZXJ0eShwbGFuZSk7Cj4gKwlkcm1fcGxhbmVfY3JlYXRlX3JvdGF0 aW9uX3Byb3BlcnR5KHBsYW5lLCBEUk1fTU9ERV9ST1RBVEVfMCwKPiArCQkJCQkgICBEUk1fTU9E RV9ST1RBVEVfMCB8Cj4gKwkJCQkJICAgRFJNX01PREVfUkVGTEVDVF9YIHwKPiArCQkJCQkgICBE Uk1fTU9ERV9SRUZMRUNUX1kpOwo+ICAKPiAgCXJldHVybiBwbGFuZTsKPiAgfQo+IC0tIAo+IDIu MTcuMQo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Cj4gZHJpLWRldmVsIG1haWxpbmcgbGlzdAo+IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1k ZXZlbAoKLS0gClZpbGxlIFN5cmrDpGzDpApJbnRlbApfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9kcmktZGV2ZWwK