From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH 3/4] drm/i915: Support NV12 in rotated GGTT mapping Date: Mon, 21 Sep 2015 10:45:34 +0100 Message-ID: <1442828735-9448-4-git-send-email-tvrtko.ursulin@linux.intel.com> References: <1442828735-9448-1-git-send-email-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id DFE1C6E152 for ; Mon, 21 Sep 2015 02:45:43 -0700 (PDT) In-Reply-To: <1442828735-9448-1-git-send-email-tvrtko.ursulin@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkp1c3QgYWRk aW5nIHRoZSByb3RhdGVkIFVWIHBsYW5lIGF0IHRoZSBlbmQgb2YgdGhlIHJvdGF0ZWQgWSBwbGFu ZS4KCnYyOiBSZWJhc2UuCgpTaWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVy c3VsaW5AaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5j ICB8IDM3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmggIHwgIDMgKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMgfCAxMiArKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgNDYgaW5z ZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9ndHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5j CmluZGV4IDU5YzkzNGZiOTIzMC4uMmRmOWQxNmRjZWZkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9ndHQuYwpAQCAtMzI3MiwxMCArMzI3MiwxMyBAQCBpbnRlbF9yb3RhdGVfZmJfb2JqX3Bh Z2VzKHN0cnVjdCBpOTE1X2dndHRfdmlldyAqZ2d0dF92aWV3LAogewogCXN0cnVjdCBpbnRlbF9y b3RhdGlvbl9pbmZvICpyb3RfaW5mbyA9ICZnZ3R0X3ZpZXctPnJvdGF0aW9uX2luZm87CiAJdW5z aWduZWQgaW50IHNpemVfcGFnZXMgPSByb3RfaW5mby0+c2l6ZSA+PiBQQUdFX1NISUZUOworCXVu c2lnbmVkIGludCBzaXplX3BhZ2VzX3V2OwogCXN0cnVjdCBzZ19wYWdlX2l0ZXIgc2dfaXRlcjsK IAl1bnNpZ25lZCBsb25nIGk7CiAJZG1hX2FkZHJfdCAqcGFnZV9hZGRyX2xpc3Q7CiAJc3RydWN0 IHNnX3RhYmxlICpzdDsKKwl1bnNpZ25lZCBpbnQgdXZfc3RhcnRfcGFnZTsKKwlzdHJ1Y3Qgc2Nh dHRlcmxpc3QgKnNnOwogCWludCByZXQgPSAtRU5PTUVNOwogCiAJLyogQWxsb2NhdGUgYSB0ZW1w b3JhcnkgbGlzdCBvZiBzb3VyY2UgcGFnZXMgZm9yIHJhbmRvbSBhY2Nlc3MuICovCkBAIC0zMjg0 LDEyICszMjg3LDE4IEBAIGludGVsX3JvdGF0ZV9mYl9vYmpfcGFnZXMoc3RydWN0IGk5MTVfZ2d0 dF92aWV3ICpnZ3R0X3ZpZXcsCiAJaWYgKCFwYWdlX2FkZHJfbGlzdCkKIAkJcmV0dXJuIEVSUl9Q VFIocmV0KTsKIAorCS8qIEFjY291bnQgZm9yIFVWIHBsYW5lIHdpdGggTlYxMi4gKi8KKwlpZiAo cm90X2luZm8tPnBpeGVsX2Zvcm1hdCA9PSBEUk1fRk9STUFUX05WMTIpCisJCXNpemVfcGFnZXNf dXYgPSByb3RfaW5mby0+c2l6ZV91diA+PiBQQUdFX1NISUZUOworCWVsc2UKKwkJc2l6ZV9wYWdl c191diA9IDA7CisKIAkvKiBBbGxvY2F0ZSB0YXJnZXQgU0cgbGlzdC4gKi8KIAlzdCA9IGttYWxs b2Moc2l6ZW9mKCpzdCksIEdGUF9LRVJORUwpOwogCWlmICghc3QpCiAJCWdvdG8gZXJyX3N0X2Fs bG9jOwogCi0JcmV0ID0gc2dfYWxsb2NfdGFibGUoc3QsIHNpemVfcGFnZXMsIEdGUF9LRVJORUwp OworCXJldCA9IHNnX2FsbG9jX3RhYmxlKHN0LCBzaXplX3BhZ2VzICsgc2l6ZV9wYWdlc191diwg R0ZQX0tFUk5FTCk7CiAJaWYgKHJldCkKIAkJZ290byBlcnJfc2dfYWxsb2M7CiAKQEAgLTMzMDEs MTUgKzMzMTAsMzAgQEAgaW50ZWxfcm90YXRlX2ZiX29ial9wYWdlcyhzdHJ1Y3QgaTkxNV9nZ3R0 X3ZpZXcgKmdndHRfdmlldywKIAl9CiAKIAkvKiBSb3RhdGUgdGhlIHBhZ2VzLiAqLwotCXJvdGF0 ZV9wYWdlcyhwYWdlX2FkZHJfbGlzdCwgMCwKKwlzZyA9IHJvdGF0ZV9wYWdlcyhwYWdlX2FkZHJf bGlzdCwgMCwKIAkJICAgICByb3RfaW5mby0+d2lkdGhfcGFnZXMsIHJvdF9pbmZvLT5oZWlnaHRf cGFnZXMsCiAJCSAgICAgc3QsIE5VTEwpOwogCisJLyogQXBwZW5kIHRoZSBVViBwbGFuZSBpZiBO VjEyLiAqLworCWlmIChyb3RfaW5mby0+cGl4ZWxfZm9ybWF0ID09IERSTV9GT1JNQVRfTlYxMikg eworCQl1dl9zdGFydF9wYWdlID0gc2l6ZV9wYWdlczsKKworCQkvKiBDaGVjayBmb3IgdGlsZS1y b3cgdW4tYWxpZ25tZW50LiAqLworCQlpZiAob2Zmc2V0X2luX3BhZ2Uocm90X2luZm8tPnV2X29m ZnNldCkpCisJCQl1dl9zdGFydF9wYWdlLS07CisKKwkJcm90YXRlX3BhZ2VzKHBhZ2VfYWRkcl9s aXN0LCB1dl9zdGFydF9wYWdlLAorCQkJICAgICByb3RfaW5mby0+d2lkdGhfcGFnZXNfdXYsCisJ CQkgICAgIHJvdF9pbmZvLT5oZWlnaHRfcGFnZXNfdXYsCisJCQkgICAgIHN0LCBzZyk7CisJfQor CiAJRFJNX0RFQlVHX0tNUygKLQkJICAgICAgIkNyZWF0ZWQgcm90YXRlZCBwYWdlIG1hcHBpbmcg Zm9yIG9iamVjdCBzaXplICV6dSAocGl0Y2g9JXUsIGhlaWdodD0ldSwgcGl4ZWxfZm9ybWF0PTB4 JXgsICV1eCV1IHRpbGVzLCAldSBwYWdlcykuXG4iLAorCQkgICAgICAiQ3JlYXRlZCByb3RhdGVk IHBhZ2UgbWFwcGluZyBmb3Igb2JqZWN0IHNpemUgJXp1IChwaXRjaD0ldSwgaGVpZ2h0PSV1LCBw aXhlbF9mb3JtYXQ9MHgleCwgJXV4JXUgdGlsZXMsICV1IHBhZ2VzICgldSBwbGFuZSAwKSkuXG4i LAogCQkgICAgICBvYmotPmJhc2Uuc2l6ZSwgcm90X2luZm8tPnBpdGNoLCByb3RfaW5mby0+aGVp Z2h0LAogCQkgICAgICByb3RfaW5mby0+cGl4ZWxfZm9ybWF0LCByb3RfaW5mby0+d2lkdGhfcGFn ZXMsCi0JCSAgICAgIHJvdF9pbmZvLT5oZWlnaHRfcGFnZXMsIHNpemVfcGFnZXMpOworCQkgICAg ICByb3RfaW5mby0+aGVpZ2h0X3BhZ2VzLCBzaXplX3BhZ2VzICsgc2l6ZV9wYWdlc191diwKKwkJ ICAgICAgc2l6ZV9wYWdlcyk7CiAKIAlkcm1fZnJlZV9sYXJnZShwYWdlX2FkZHJfbGlzdCk7CiAK QEAgLTMzMjEsMTAgKzMzNDUsMTEgQEAgZXJyX3N0X2FsbG9jOgogCWRybV9mcmVlX2xhcmdlKHBh Z2VfYWRkcl9saXN0KTsKIAogCURSTV9ERUJVR19LTVMoCi0JCSAgICAgICJGYWlsZWQgdG8gY3Jl YXRlIHJvdGF0ZWQgbWFwcGluZyBmb3Igb2JqZWN0IHNpemUgJXp1ISAoJWQpIChwaXRjaD0ldSwg aGVpZ2h0PSV1LCBwaXhlbF9mb3JtYXQ9MHgleCwgJXV4JXUgdGlsZXMsICV1IHBhZ2VzKVxuIiwK KwkJICAgICAgIkZhaWxlZCB0byBjcmVhdGUgcm90YXRlZCBtYXBwaW5nIGZvciBvYmplY3Qgc2l6 ZSAlenUhICglZCkgKHBpdGNoPSV1LCBoZWlnaHQ9JXUsIHBpeGVsX2Zvcm1hdD0weCV4LCAldXgl dSB0aWxlcywgJXUgcGFnZXMgKCV1IHBsYW5lIDApKVxuIiwKIAkJICAgICAgb2JqLT5iYXNlLnNp emUsIHJldCwgcm90X2luZm8tPnBpdGNoLCByb3RfaW5mby0+aGVpZ2h0LAogCQkgICAgICByb3Rf aW5mby0+cGl4ZWxfZm9ybWF0LCByb3RfaW5mby0+d2lkdGhfcGFnZXMsCi0JCSAgICAgIHJvdF9p bmZvLT5oZWlnaHRfcGFnZXMsIHNpemVfcGFnZXMpOworCQkgICAgICByb3RfaW5mby0+aGVpZ2h0 X3BhZ2VzLCBzaXplX3BhZ2VzICsgc2l6ZV9wYWdlc191diwKKwkJICAgICAgc2l6ZV9wYWdlcyk7 CiAJcmV0dXJuIEVSUl9QVFIocmV0KTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW1fZ3R0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQu aAppbmRleCA4Mjc1MDA3M2Q1YjMuLjE5NzE4M2Q1YzU0MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fZ3R0LmgKQEAgLTEzOCwxMCArMTM4LDEzIEBAIGVudW0gaTkxNV9nZ3R0X3ZpZXdfdHlw ZSB7CiBzdHJ1Y3QgaW50ZWxfcm90YXRpb25faW5mbyB7CiAJdW5zaWduZWQgaW50IGhlaWdodDsK IAl1bnNpZ25lZCBpbnQgcGl0Y2g7CisJdW5zaWduZWQgaW50IHV2X29mZnNldDsKIAl1aW50MzJf dCBwaXhlbF9mb3JtYXQ7CiAJdWludDY0X3QgZmJfbW9kaWZpZXI7CiAJdW5zaWduZWQgaW50IHdp ZHRoX3BhZ2VzLCBoZWlnaHRfcGFnZXM7CiAJdWludDY0X3Qgc2l6ZTsKKwl1bnNpZ25lZCBpbnQg d2lkdGhfcGFnZXNfdXYsIGhlaWdodF9wYWdlc191djsKKwl1aW50NjRfdCBzaXplX3V2OwogfTsK IAogc3RydWN0IGk5MTVfZ2d0dF92aWV3IHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXku YwppbmRleCBlMTliOGU2OTljMDAuLjJkYjdjYzQyNTM5YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYwpAQCAtMjI2Myw2ICsyMjYzLDcgQEAgaW50ZWxfZmlsbF9mYl9nZ3R0X3Zp ZXcoc3RydWN0IGk5MTVfZ2d0dF92aWV3ICp2aWV3LCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpm YiwKIAlpbmZvLT5oZWlnaHQgPSBmYi0+aGVpZ2h0OwogCWluZm8tPnBpeGVsX2Zvcm1hdCA9IGZi LT5waXhlbF9mb3JtYXQ7CiAJaW5mby0+cGl0Y2ggPSBmYi0+cGl0Y2hlc1swXTsKKwlpbmZvLT51 dl9vZmZzZXQgPSBmYi0+b2Zmc2V0c1sxXTsKIAlpbmZvLT5mYl9tb2RpZmllciA9IGZiLT5tb2Rp ZmllclswXTsKIAogCXRpbGVfaGVpZ2h0ID0gaW50ZWxfdGlsZV9oZWlnaHQoZmItPmRldiwgZmIt PnBpeGVsX2Zvcm1hdCwKQEAgLTIyNzIsNiArMjI3MywxNyBAQCBpbnRlbF9maWxsX2ZiX2dndHRf dmlldyhzdHJ1Y3QgaTkxNV9nZ3R0X3ZpZXcgKnZpZXcsIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIg KmZiLAogCWluZm8tPmhlaWdodF9wYWdlcyA9IERJVl9ST1VORF9VUChmYi0+aGVpZ2h0LCB0aWxl X2hlaWdodCk7CiAJaW5mby0+c2l6ZSA9IGluZm8tPndpZHRoX3BhZ2VzICogaW5mby0+aGVpZ2h0 X3BhZ2VzICogUEFHRV9TSVpFOwogCisJaWYgKGluZm8tPnBpeGVsX2Zvcm1hdCA9PSBEUk1fRk9S TUFUX05WMTIpIHsKKwkJdGlsZV9oZWlnaHQgPSBpbnRlbF90aWxlX2hlaWdodChmYi0+ZGV2LCBm Yi0+cGl4ZWxfZm9ybWF0LAorCQkJCQkJZmItPm1vZGlmaWVyWzBdLCAxKTsKKwkJdGlsZV9waXRj aCA9IFBBR0VfU0laRSAvIHRpbGVfaGVpZ2h0OworCQlpbmZvLT53aWR0aF9wYWdlc191diA9IERJ Vl9ST1VORF9VUChmYi0+cGl0Y2hlc1swXSwgdGlsZV9waXRjaCk7CisJCWluZm8tPmhlaWdodF9w YWdlc191diA9IERJVl9ST1VORF9VUChmYi0+aGVpZ2h0IC8gMiwKKwkJCQkJCSAgICAgdGlsZV9o ZWlnaHQpOworCQlpbmZvLT5zaXplX3V2ID0gaW5mby0+d2lkdGhfcGFnZXNfdXYgKiBpbmZvLT5o ZWlnaHRfcGFnZXNfdXYgKgorCQkJCVBBR0VfU0laRTsKKwl9CisKIAlyZXR1cm4gMDsKIH0KIAot LSAKMi41LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==