From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from relay6-d.mail.gandi.net (relay6-d.mail.gandi.net [217.70.183.198]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2A791894C9 for ; Fri, 22 Feb 2019 11:26:16 +0000 (UTC) From: Paul Kocialkowski Date: Fri, 22 Feb 2019 12:25:32 +0100 Message-Id: <20190222112543.6885-12-paul.kocialkowski@bootlin.com> In-Reply-To: <20190222112543.6885-1-paul.kocialkowski@bootlin.com> References: <20190222112543.6885-1-paul.kocialkowski@bootlin.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH RESEND i-g-t v6 11/22] lib/igt_vc4: Add helpers for converting linear to SAND-tiled buffers List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org List-ID: SW4gb3JkZXIgdG8gdGVzdCBidWZmZXJzIHdpdGggU0FORCB0aWxpbmcsIGl0IGlzIHVzZWZ1bCB0 byBjb252ZXJ0CmxpbmVhciBidWZmZXJzIHRvIFNBTkQgdGlsaW5nIG1vZGUuCgpJbnRyb2R1Y2Ug aGVscGVycyB0byBhc3Npc3QgaW4gdGhhdCBkaXJlY3Rpb24sIG9uZSB0aGF0IGNhbGN1bGF0ZXMg dGhlCm1lbW9yeSBvZmZzZXQgaW4gdGhlIFNBTkQtdGlsZWQgYnVmZmVyIGZvciBhIGdpdmVuIHBp eGVsIHBvc2l0aW9uIGFuZApvbmUgdGhhdCBtYWtlcyB1c2Ugb2YgdGhlIGxhdHRlciBmb3IgZnJh bWVidWZmZXIgY29udmVyc2lvbi4KClNpZ25lZC1vZmYtYnk6IFBhdWwgS29jaWFsa293c2tpIDxw YXVsLmtvY2lhbGtvd3NraUBib290bGluLmNvbT4KQWNrZWQtYnk6IEx5dWRlIFBhdWwgPGx5dWRl QHJlZGhhdC5jb20+ClJldmlld2VkLWJ5OiBNYXhpbWUgUmlwYXJkIDxtYXhpbWUucmlwYXJkQGJv b3RsaW4uY29tPgotLS0KIGxpYi9pZ3RfdmM0LmMgfCAxMDggKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGxpYi9pZ3RfdmM0LmggfCAgIDQgKysKIDIg ZmlsZXMgY2hhbmdlZCwgMTEyIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9saWIvaWd0X3Zj NC5jIGIvbGliL2lndF92YzQuYwppbmRleCBiNjk3YjVmZGYwODIuLjlhMGJhMzBiNDQyMCAxMDA2 NDQKLS0tIGEvbGliL2lndF92YzQuYworKysgYi9saWIvaWd0X3ZjNC5jCkBAIC0zMDcsMyArMzA3 LDExMSBAQCBzaXplX3QgaWd0X3ZjNF90X3RpbGVkX29mZnNldChzaXplX3Qgc3RyaWRlLCBzaXpl X3QgaGVpZ2h0LCBzaXplX3QgYnBwLAogCiAJcmV0dXJuIG9mZnNldDsKIH0KKworc3RhdGljIHZv aWQgdmM0X2ZiX3NhbmRfdGlsZWRfY29udmVydF9wbGFuZShzdHJ1Y3QgaWd0X2ZiICpkc3QsIHZv aWQgKmRzdF9idWYsCisJCQkJCSAgICBzdHJ1Y3QgaWd0X2ZiICpzcmMsIHZvaWQgKnNyY19idWYs CisJCQkJCSAgICBzaXplX3QgY29sdW1uX3dpZHRoX2J5dGVzLAorCQkJCQkgICAgc2l6ZV90IGNv bHVtbl9oZWlnaHQsCisJCQkJCSAgICB1bnNpZ25lZCBpbnQgcGxhbmUpCit7CisJc2l6ZV90IGJw cCA9IGRzdC0+cGxhbmVfYnBwW3BsYW5lXTsKKwlzaXplX3QgY29sdW1uX3dpZHRoID0gY29sdW1u X3dpZHRoX2J5dGVzICogZHN0LT5wbGFuZV93aWR0aFtwbGFuZV0gLworCQkJICAgICAgZHN0LT53 aWR0aDsKKwlzaXplX3QgY29sdW1uX3NpemUgPSBjb2x1bW5fd2lkdGhfYnl0ZXMgKiBjb2x1bW5f aGVpZ2h0OworCXVuc2lnbmVkIGludCBpLCBqOworCisJZm9yIChpID0gMDsgaSA8IGRzdC0+cGxh bmVfaGVpZ2h0W3BsYW5lXTsgaSsrKSB7CisJCWZvciAoaiA9IDA7IGogPCBzcmMtPnBsYW5lX3dp ZHRoW3BsYW5lXTsgaisrKSB7CisJCQlzaXplX3Qgc3JjX29mZnNldCA9IHNyYy0+b2Zmc2V0c1tw bGFuZV07CisJCQlzaXplX3QgZHN0X29mZnNldCA9IGRzdC0+b2Zmc2V0c1twbGFuZV07CisKKwkJ CXNyY19vZmZzZXQgKz0gc3JjLT5zdHJpZGVzW3BsYW5lXSAqIGkgKyBqICogYnBwIC8gODsKKwkJ CWRzdF9vZmZzZXQgKz0gdmM0X3NhbmRfdGlsZWRfb2Zmc2V0KGNvbHVtbl93aWR0aCwKKwkJCQkJ CQkgICAgY29sdW1uX3NpemUsIGosIGksCisJCQkJCQkJICAgIGJwcCk7CisKKwkJCXN3aXRjaCAo YnBwKSB7CisJCQljYXNlIDg6CisJCQkJKih1aW50OF90ICopKGRzdF9idWYgKyBkc3Rfb2Zmc2V0 KSA9CisJCQkJCSoodWludDhfdCAqKShzcmNfYnVmICsgc3JjX29mZnNldCk7CisJCQkJYnJlYWs7 CisJCQljYXNlIDE2OgorCQkJCSoodWludDE2X3QgKikoZHN0X2J1ZiArIGRzdF9vZmZzZXQpID0K KwkJCQkJKih1aW50MTZfdCAqKShzcmNfYnVmICsgc3JjX29mZnNldCk7CisJCQkJYnJlYWs7CisJ CQlkZWZhdWx0OgorCQkJCWlndF9hc3NlcnQoZmFsc2UpOworCQkJfQorCQl9CisJfQorfQorCit1 bnNpZ25lZCBpbnQgdmM0X2ZiX3NhbmRfdGlsZWRfY29udmVydChzdHJ1Y3QgaWd0X2ZiICpkc3Qs IHN0cnVjdCBpZ3RfZmIgKnNyYywKKwkJCQkgICAgICAgdWludDY0X3QgbW9kaWZpZXIpCit7CisJ dWludDY0X3QgbW9kaWZpZXJfYmFzZTsKKwlzaXplX3QgY29sdW1uX3dpZHRoX2J5dGVzOworCXNp emVfdCBjb2x1bW5faGVpZ2h0OworCXVuc2lnbmVkIGludCBmYl9pZDsKKwl1bnNpZ25lZCBpbnQg aTsKKwl2b2lkICpzcmNfYnVmOworCXZvaWQgKmRzdF9idWY7CisKKwltb2RpZmllcl9iYXNlID0g Zm91cmNjX21vZF9icm9hZGNvbV9tb2QobW9kaWZpZXIpOworCWNvbHVtbl9oZWlnaHQgPSBmb3Vy Y2NfbW9kX2Jyb2FkY29tX3BhcmFtKG1vZGlmaWVyKTsKKworCXN3aXRjaCAobW9kaWZpZXJfYmFz ZSkgeworCWNhc2UgRFJNX0ZPUk1BVF9NT0RfQlJPQURDT01fU0FORDMyOgorCQljb2x1bW5fd2lk dGhfYnl0ZXMgPSAzMjsKKwkJYnJlYWs7CisJY2FzZSBEUk1fRk9STUFUX01PRF9CUk9BRENPTV9T QU5ENjQ6CisJCWNvbHVtbl93aWR0aF9ieXRlcyA9IDY0OworCQlicmVhazsKKwljYXNlIERSTV9G T1JNQVRfTU9EX0JST0FEQ09NX1NBTkQxMjg6CisJCWNvbHVtbl93aWR0aF9ieXRlcyA9IDEyODsK KwkJYnJlYWs7CisJY2FzZSBEUk1fRk9STUFUX01PRF9CUk9BRENPTV9TQU5EMjU2OgorCQljb2x1 bW5fd2lkdGhfYnl0ZXMgPSAyNTY7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWlndF9hc3NlcnQo ZmFsc2UpOworCX0KKworCWZiX2lkID0gaWd0X2NyZWF0ZV9mYihzcmMtPmZkLCBzcmMtPndpZHRo LCBzcmMtPmhlaWdodCwgc3JjLT5kcm1fZm9ybWF0LAorCQkJICAgICAgbW9kaWZpZXIsIGRzdCk7 CisJaWd0X2Fzc2VydChmYl9pZCA+IDApOworCisJc3JjX2J1ZiA9IGlndF9mYl9tYXBfYnVmZmVy KHNyYy0+ZmQsIHNyYyk7CisJaWd0X2Fzc2VydChzcmNfYnVmKTsKKworCWRzdF9idWYgPSBpZ3Rf ZmJfbWFwX2J1ZmZlcihkc3QtPmZkLCBkc3QpOworCWlndF9hc3NlcnQoZHN0X2J1Zik7CisKKwlm b3IgKGkgPSAwOyBpIDwgZHN0LT5udW1fcGxhbmVzOyBpKyspCisJCXZjNF9mYl9zYW5kX3RpbGVk X2NvbnZlcnRfcGxhbmUoZHN0LCBkc3RfYnVmLCBzcmMsIHNyY19idWYsCisJCQkJCQljb2x1bW5f d2lkdGhfYnl0ZXMsCisJCQkJCQljb2x1bW5faGVpZ2h0LCBpKTsKKworCWlndF9mYl91bm1hcF9i dWZmZXIoc3JjLCBzcmNfYnVmKTsKKwlpZ3RfZmJfdW5tYXBfYnVmZmVyKGRzdCwgZHN0X2J1Zik7 CisKKwlyZXR1cm4gZmJfaWQ7Cit9CisKK3NpemVfdCB2YzRfc2FuZF90aWxlZF9vZmZzZXQoc2l6 ZV90IGNvbHVtbl93aWR0aCwgc2l6ZV90IGNvbHVtbl9zaXplLCBzaXplX3QgeCwKKwkJCSAgICAg c2l6ZV90IHksIHNpemVfdCBicHApCit7CisJc2l6ZV90IG9mZnNldCA9IDA7CisJc2l6ZV90IGNv bHNfeDsKKwlzaXplX3QgcGl4X3g7CisKKwkvKiBPZmZzZXQgdG8gdGhlIGJlZ2lubmluZyBvZiB0 aGUgcmVsZXZhbnQgY29sdW1uLiAqLworCWNvbHNfeCA9IHggLyBjb2x1bW5fd2lkdGg7CisJb2Zm c2V0ICs9IGNvbHNfeCAqIGNvbHVtbl9zaXplOworCisJLyogT2Zmc2V0IHRvIHRoZSByZWxldmFu dCBwaXhlbC4gKi8KKwlwaXhfeCA9IHggJSBjb2x1bW5fd2lkdGg7CisJb2Zmc2V0ICs9IChjb2x1 bW5fd2lkdGggKiB5ICsgcGl4X3gpICogYnBwIC8gODsKKworCXJldHVybiBvZmZzZXQ7Cit9CmRp ZmYgLS1naXQgYS9saWIvaWd0X3ZjNC5oIGIvbGliL2lndF92YzQuaAppbmRleCBkNWM1MjliYmNj ZGEuLmExNzgxMjY5OGZlNSAxMDA2NDQKLS0tIGEvbGliL2lndF92YzQuaAorKysgYi9saWIvaWd0 X3ZjNC5oCkBAIC0zNiw1ICszNiw5IEBAIHVpbnQ2NF90IGlndF92YzRfZ2V0X3RpbGluZyhpbnQg ZmQsIHVpbnQzMl90IGhhbmRsZSk7CiB1bnNpZ25lZCBpbnQgaWd0X3ZjNF9mYl90X3RpbGVkX2Nv bnZlcnQoc3RydWN0IGlndF9mYiAqZHN0LCBzdHJ1Y3QgaWd0X2ZiICpzcmMpOwogc2l6ZV90IGln dF92YzRfdF90aWxlZF9vZmZzZXQoc2l6ZV90IHN0cmlkZSwgc2l6ZV90IGhlaWdodCwgc2l6ZV90 IGJwcCwKIAkJCSAgICAgIHNpemVfdCB4LCBzaXplX3QgeSk7Cit1bnNpZ25lZCBpbnQgdmM0X2Zi X3NhbmRfdGlsZWRfY29udmVydChzdHJ1Y3QgaWd0X2ZiICpkc3QsIHN0cnVjdCBpZ3RfZmIgKnNy YywKKwkJCQkgICAgICAgdWludDY0X3QgbW9kaWZpZXIpOworc2l6ZV90IHZjNF9zYW5kX3RpbGVk X29mZnNldChzaXplX3QgY29sdW1uX3dpZHRoLCBzaXplX3QgY29sdW1uX3NpemUsIHNpemVfdCB4 LAorCQkJICAgICBzaXplX3QgeSwgc2l6ZV90IGJwcCk7CiAKICNlbmRpZiAvKiBJR1RfVkM0X0gg Ki8KLS0gCjIuMjAuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2