From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Brezillon Subject: [PATCH 5/5] drm/vc4: Fix negative X/Y positioning of planes using T_TILES modifier Date: Wed, 25 Jul 2018 17:32:09 +0200 Message-ID: <20180725153209.14366-6-boris.brezillon@bootlin.com> References: <20180725153209.14366-1-boris.brezillon@bootlin.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.bootlin.com (mail.bootlin.com [62.4.15.54]) by gabe.freedesktop.org (Postfix) with ESMTP id 9E19A6E3DA for ; Wed, 25 Jul 2018 15:32:44 +0000 (UTC) In-Reply-To: <20180725153209.14366-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: Eric Anholt Cc: David Airlie , Boris Brezillon , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogRXJpYyBBbmhvbHQgPGVyaWNAYW5ob2x0Lm5ldD4KClgvWSBwb3NpdGlvbmluZyBvZiBU LWZvcm1hdCBidWZmZXJzIGlzIHF1aXRlIHRyaWNreSBhbmQgdGhlIGN1cnJlbnQKaW1wbGVtZW50 YXRpb24gd2FzIGZhaWxpbmcgdG8gcG9zaXRpb24gYSBwbGFuZSB1c2luZyB0aGlzIGZvcm1hdApj b3JyZWN0bHkgd2hlbiB0aGUgWCwgWSBvciBib3RoIFggYW5kIFkgb2Zmc2V0cyB3ZXJlIG5lZ2F0 aXZlLgoKU2lnbmVkLW9mZi1ieTogRXJpYyBBbmhvbHQgPGVyaWNAYW5ob2x0Lm5ldD4KU2lnbmVk LW9mZi1ieTogQm9yaXMgQnJlemlsbG9uIDxib3Jpcy5icmV6aWxsb25AYm9vdGxpbi5jb20+Ci0t LQpIaSBFcmljLAoKSSBrZXB0IHRoZSBTb0IgYW5kIGF1dGhvcnNoaXAgc2luY2UgeW91J3JlIHRo ZSBvcmlnaW5hbCBhdXRob3IsIGJ1dApJIGFsc28gc2lnbmlmaWNhbnRseSByZXdvcmtlZCB0aGUg Y29kZSwgc28gSSdkIGJlIG1vcmUgY29uZmlkZW50IGlmIHlvdQpjb3VsZCBoYXZlIGEgY2xvc2Ug bG9vayBhdCB0aGlzIGNvZGUuCgpJdCdzIGJlZW4gdGVzdGVkIHdpdGggYSBtb2RpZmllZCBtb2Rl dGVzdCAob25lIHRoYXQgc3VwcG9ydHMgZ2VuZXJhdGluZwpULWZvcm1hdCBidWZmZXJzKSBhbmQg aXQgc2VlbXMgdG8gd29yayBmaW5lIHdpdGggYW55IGtpbmQgb2YgbmVnYXRpdmUKWC9ZIG9mZnNl dCAoYm90aCB3aGVuIHN0YXJ0aW5nIG9uIGFuIGV2ZW4gb3IgYW4gb2RkIHRpbGUgcm93KS4KCkFs c28sIEkgaW50ZW50aW9uYWxseSBkaWQgbm90IGFkZCBhIEZpeGVzIGFuZCBDYy1zdGFibGUgdG8g dGhpcyBjb21taXQKYmVjYXVzZSBpdCBkZXBlbmRzIG9uIGEgcmV3b3JrIHdlJ3ZlIGRvbmUgaW4K dmM0X3BsYW5lX3NldHVwX2NsaXBwaW5nX2FuZF9zY2FsaW5nKCkgd2hpY2ggY2Fubm90IGJlIGVh c2lseQpiYWNrcG9ydGVkLgpXaGF0IEkgY291bGQgZG8gdGhvdWdoIGlzIGFkZCBhIHBhdGNoIHRo YXQgcmVqZWN0cyBhbGwgbmVnYXRpdmUKY3J0Y197eCx5fS4KClJlZ2FyZHMsCgpCb3JpcwotLS0K IGRyaXZlcnMvZ3B1L2RybS92YzQvdmM0X3BsYW5lLmMgfCA1MSArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKy0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDQ0IGluc2VydGlvbnMoKyks IDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfcGxh bmUuYyBiL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X3BsYW5lLmMKaW5kZXggMmI4YmExYzQxMmJl Li5hZGU0N2MzZjY1ZDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X3BsYW5l LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfcGxhbmUuYwpAQCAtNTM5LDIyICs1Mzks NTkgQEAgc3RhdGljIGludCB2YzRfcGxhbmVfbW9kZV9zZXQoc3RydWN0IGRybV9wbGFuZSAqcGxh bmUsCiAJCQkJCQkgKGkgPyBoX3N1YnNhbXBsZSA6IDEpICoKIAkJCQkJCSBmYi0+Zm9ybWF0LT5j cHBbaV07CiAJCX0KKwogCQlicmVhazsKIAogCWNhc2UgRFJNX0ZPUk1BVF9NT0RfQlJPQURDT01f VkM0X1RfVElMRUQ6IHsKLQkJLyogRm9yIFQtdGlsZWQsIHRoZSBGQiBwaXRjaCBpcyAiaG93IG1h bnkgYnl0ZXMgZnJvbQotCQkgKiBvbmUgcm93IHRvIHRoZSBuZXh0LCBzdWNoIHRoYXQgcGl0Y2gg KiB0aWxlX2ggPT0KLQkJICogdGlsZV9zaXplICogdGlsZXNfcGVyX3Jvdy4iCi0JCSAqLwogCQl1 MzIgdGlsZV9zaXplX3NoaWZ0ID0gMTI7IC8qIFQgdGlsZXMgYXJlIDRrYiAqLworCQkvKiBXaG9s ZS10aWxlIG9mZnNldHMsIG1vc3RseSBmb3Igc2V0dGluZyB0aGUgcGl0Y2guICovCisJCXUzMiB0 aWxlX3dfc2hpZnQgPSBmYi0+Zm9ybWF0LT5jcHBbMF0gPT0gMiA/IDYgOiA1OwogCQl1MzIgdGls ZV9oX3NoaWZ0ID0gNTsgLyogMTYgYW5kIDMyYnBwIGFyZSAzMiBwaXhlbHMgaGlnaCAqLworCQl1 MzIgdGlsZV93X21hc2sgPSAoMSA8PCB0aWxlX3dfc2hpZnQpIC0gMTsKKwkJLyogVGhlIGhlaWdo dCBtYXNrIG9uIDMyLWJpdC1wZXItcGl4ZWwgdGlsZXMgaXMgNjMsIGkuZS4gMgorCQkgKiB0aW1l cyB0aGUgaGVpZ2h0IChpbiBwaXhlbHMpIG9mIGEgNGsgdGlsZS4gSSBqdXN0IGFzc3VtZWQKKwkJ ICogdGhpcyBpcyBhbHNvIHRydWUgZm9yIG90aGVyIFJHQiBmb3JtYXRzLCBidXQgbWF5YmUgaXQn cyBub3QuCisJCSAqLworCQl1MzIgdGlsZV9oX21hc2sgPSAoMiA8PCB0aWxlX2hfc2hpZnQpIC0g MTsKKwkJLyogRm9yIFQtdGlsZWQsIHRoZSBGQiBwaXRjaCBpcyAiaG93IG1hbnkgYnl0ZXMgZnJv bSBvbmUgcm93IHRvCisJCSAqIHRoZSBuZXh0LCBzdWNoIHRoYXQKKwkJICoKKwkJICoJcGl0Y2gg KiB0aWxlX2ggPT0gdGlsZV9zaXplICogdGlsZXNfcGVyX3JvdworCQkgKi8KIAkJdTMyIHRpbGVz X3cgPSBmYi0+cGl0Y2hlc1swXSA+PiAodGlsZV9zaXplX3NoaWZ0IC0gdGlsZV9oX3NoaWZ0KTsK KwkJdTMyIHRpbGVzX2wgPSBzcmNfeCA+PiB0aWxlX3dfc2hpZnQ7CisJCXUzMiB0aWxlc19yID0g dGlsZXNfdyAtIHRpbGVzX2w7CisJCXUzMiB0aWxlc190ID0gc3JjX3kgPj4gdGlsZV9oX3NoaWZ0 OworCQkvKiBJbnRyYS10aWxlIG9mZnNldHMsIHdoaWNoIG1vZGlmeSB0aGUgYmFzZSBhZGRyZXNz ICh0aGUKKwkJICogU0NBTEVSX1BJVENIMF9USUxFX1lfT0ZGU0VUIHRlbGxzIEhWUyBob3cgdG8g d2FsayBmcm9tIHRoYXQKKwkJICogYmFzZSBhZGRyZXNzKS4KKwkJICovCisJCXUzMiB0aWxlX3kg PSAoc3JjX3kgPj4gNCkgJiAxOworCQl1MzIgc3VidGlsZV95ID0gKHNyY195ID4+IDIpICYgMzsK KwkJdTMyIHV0aWxlX3kgPSBzcmNfeSAmIDM7CisJCXUzMiB4X29mZiA9IHNyY194ICYgdGlsZV93 X21hc2s7CisJCXUzMiB5X29mZiA9IHNyY195ICYgdGlsZV9oX21hc2s7CiAKIAkJdGlsaW5nID0g U0NBTEVSX0NUTDBfVElMSU5HXzI1NkJfT1JfVDsKKwkJcGl0Y2gwID0gKFZDNF9TRVRfRklFTEQo eF9vZmYsIFNDQUxFUl9QSVRDSDBfU0lOS19QSVgpIHwKKwkJCSAgVkM0X1NFVF9GSUVMRCh5X29m ZiwgU0NBTEVSX1BJVENIMF9USUxFX1lfT0ZGU0VUKSB8CisJCQkgIFZDNF9TRVRfRklFTEQodGls ZXNfbCwgU0NBTEVSX1BJVENIMF9USUxFX1dJRFRIX0wpIHwKKwkJCSAgVkM0X1NFVF9GSUVMRCh0 aWxlc19yLCBTQ0FMRVJfUElUQ0gwX1RJTEVfV0lEVEhfUikpOworCQl2YzRfc3RhdGUtPm9mZnNl dHNbMF0gKz0gdGlsZXNfdCAqICh0aWxlc193IDw8IHRpbGVfc2l6ZV9zaGlmdCk7CisJCXZjNF9z dGF0ZS0+b2Zmc2V0c1swXSArPSBzdWJ0aWxlX3kgPDwgODsKKwkJdmM0X3N0YXRlLT5vZmZzZXRz WzBdICs9IHV0aWxlX3kgPDwgNDsKKworCQkvKiBSb3dzIG9mIHRpbGVzIGFsdGVybmF0ZSBsZWZ0 LXRvLXJpZ2h0IGFuZCByaWdodC10by1sZWZ0LiAqLworCQlpZiAodGlsZXNfdCAmIDEpIHsKKwkJ CXBpdGNoMCB8PSBTQ0FMRVJfUElUQ0gwX1RJTEVfSU5JVElBTF9MSU5FX0RJUjsKKwkJCXZjNF9z dGF0ZS0+b2Zmc2V0c1swXSArPSAodGlsZXNfdyAtIHRpbGVzX2wpIDw8CisJCQkJCQkgdGlsZV9z aXplX3NoaWZ0OworCQkJdmM0X3N0YXRlLT5vZmZzZXRzWzBdIC09ICgxICsgIXRpbGVfeSkgPDwg MTA7CisJCX0gZWxzZSB7CisJCQl2YzRfc3RhdGUtPm9mZnNldHNbMF0gKz0gdGlsZXNfbCA8PCB0 aWxlX3NpemVfc2hpZnQ7CisJCQl2YzRfc3RhdGUtPm9mZnNldHNbMF0gKz0gdGlsZV95IDw8IDEw OworCQl9CiAKLQkJcGl0Y2gwID0gKFZDNF9TRVRfRklFTEQoMCwgU0NBTEVSX1BJVENIMF9USUxF X1lfT0ZGU0VUKSB8Ci0JCQkgIFZDNF9TRVRfRklFTEQoMCwgU0NBTEVSX1BJVENIMF9USUxFX1dJ RFRIX0wpIHwKLQkJCSAgVkM0X1NFVF9GSUVMRCh0aWxlc193LCBTQ0FMRVJfUElUQ0gwX1RJTEVf V0lEVEhfUikpOwogCQlicmVhazsKIAl9CiAKLS0gCjIuMTQuMQoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmkt ZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==