From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chandra Konduru Subject: [PATCH 15/15] drm/i915: Add 90/270 rotation for NV12 format. Date: Wed, 19 Aug 2015 18:02:36 -0700 Message-ID: <1440032556-9920-16-git-send-email-chandra.konduru@intel.com> References: <1440032556-9920-1-git-send-email-chandra.konduru@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id BF9B86EC5E for ; Wed, 19 Aug 2015 18:04:57 -0700 (PDT) In-Reply-To: <1440032556-9920-1-git-send-email-chandra.konduru@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 Cc: daniel.vetter@intel.com, ville.syrjala@intel.com List-Id: intel-gfx@lists.freedesktop.org QWRkaW5nIE5WMTIgOTAvMjcwIHJvdGF0aW9uIHN1cHBvcnQgZm9yIHByaW1hcnkgYW5kIHNwcml0 ZSBwbGFuZXMuCgp2MjoKLUZvciA5MC8yNzAgYWRqdXN0IHBpeGVsIGJvdW5kYXJ5IG9ubHkgaW4g WS1kaXJlY3Rpb24gKGJzcGVjKQoKdjM6Ci1SZWJhc2VkIChtZSkKClNpZ25lZC1vZmYtYnk6IENo YW5kcmEgS29uZHVydSA8Y2hhbmRyYS5rb25kdXJ1QGludGVsLmNvbT4KVGVzdGNhc2U6IGlndC9r bXNfbnYxMgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8ICAgMjgg KysrKysrKysrKystLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jICB8 ICAgNTYgKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2Vk LCA1NiBpbnNlcnRpb25zKCspLCAyOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMKaW5kZXggMjE1OGI4Zi4uMTlkMGY4YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYwpAQCAtMzA5Niw3ICszMDk2LDggQEAgc3RhdGljIHZvaWQgc2t5bGFrZV91 cGRhdGVfcHJpbWFyeV9wbGFuZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJaW50IHNyY194ID0g MCwgc3JjX3kgPSAwLCBzcmNfdyA9IDAsIHNyY19oID0gMDsKIAlpbnQgZHN0X3ggPSAwLCBkc3Rf eSA9IDAsIGRzdF93ID0gMCwgZHN0X2ggPSAwOwogCWludCBzY2FsZXJfaWQgPSAtMTsKLQl1MzIg YXV4X2Rpc3QgPSAwLCBhdXhfeF9vZmZzZXQgPSAwLCBhdXhfeV9vZmZzZXQgPSAwLCBhdXhfc3Ry aWRlID0gMDsKKwl1bnNpZ25lZCBsb25nIGF1eF9kaXN0ID0gMDsKKwl1MzIgYXV4X3hfb2Zmc2V0 ID0gMCwgYXV4X3lfb2Zmc2V0ID0gMCwgYXV4X3N0cmlkZSA9IDA7CiAJdTMyIHRpbGVfcm93X2Fk anVzdG1lbnQgPSAwOwogCXUzMiBocGhhc2UgPSAwLCB2cGhhc2UgPSAwOwogCkBAIC0zMTU1LDEy ICszMTU2LDE2IEBAIHN0YXRpYyB2b2lkIHNreWxha2VfdXBkYXRlX3ByaW1hcnlfcGxhbmUoc3Ry dWN0IGRybV9jcnRjICpjcnRjLAogCQl4X29mZnNldCA9IHN0cmlkZSAqIHRpbGVfaGVpZ2h0IC0g eSAtIHNyY19oOwogCQl5X29mZnNldCA9IHg7CiAJCXBsYW5lX3NpemUgPSAoc3JjX3cgLSAxKSA8 PCAxNiB8IChzcmNfaCAtIDEpOwotCQkvKgotCQkgKiBUQkQ6IEZvciBOVjEyIDkwLzI3MCByb3Rh dGlvbiwgWSBhbmQgVVYgc3VicGxhbmVzIHNob3VsZAotCQkgKiBiZSB0cmVhdGVkIGFzIHNlcGFy YXRlIHN1cmZhY2VzIGFuZCBHVFQgcmVtYXBwaW5nIGZvcgotCQkgKiByb3RhdGlvbiBzaG91bGQg YmUgZG9uZSBzZXBhcmF0ZWx5IGZvciBlYWNoIHN1YnBsYW5lLgotCQkgKiBFbmFibGUgc3VwcG9y dCBvbmNlIHNlcGVyYXRlIHJlbWFwcGluZ3MgYXJlIGF2YWlsYWJsZS4KLQkJICovCisKKwkJaWYg KGZiLT5waXhlbF9mb3JtYXQgPT0gRFJNX0ZPUk1BVF9OVjEyKSB7CisJCQl1MzIgdXZfdGlsZV9o ZWlnaHQgPSBpbnRlbF90aWxlX2hlaWdodChkZXYsIGZiLT5waXhlbF9mb3JtYXQsCisJCQkJCQlm Yi0+bW9kaWZpZXJbMF0sIDEpOworCQkJYXV4X3N0cmlkZSA9IERJVl9ST1VORF9VUChmYi0+aGVp Z2h0IC8gMiwgdXZfdGlsZV9oZWlnaHQpOworCQkJYXV4X2Rpc3QgPSBpbnRlbF9wbGFuZV9vYmpf b2Zmc2V0KHRvX2ludGVsX3BsYW5lKHBsYW5lKSwgb2JqLCAxKSAtCisJCQkJc3VyZl9hZGRyOwor CQkJYXV4X3hfb2Zmc2V0ID0gYXV4X3N0cmlkZSAqIHV2X3RpbGVfaGVpZ2h0IC0geSAvIDIgLSBm Yi0+aGVpZ2h0IC8gMjsKKwkJCWF1eF95X29mZnNldCA9IHggLyAyOworCQl9CiAJfSBlbHNlIHsK IAkJc3RyaWRlID0gZmItPnBpdGNoZXNbMF0gLyBzdHJpZGVfZGl2OwogCQl4X29mZnNldCA9IHg7 CkBAIC0xMTY5Nyw4ICsxMTcwMiwxMyBAQCBpbnQgaW50ZWxfcGxhbmVfYXRvbWljX2NhbGNfY2hh bmdlcyhzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAKIAkvKiBBZGp1c3QgKG1h Y3JvKXBpeGVsIGJvdW5kYXJ5ICovCiAJaWYgKGZiICYmIGludGVsX2Zvcm1hdF9pc195dXYoZmIt PnBpeGVsX2Zvcm1hdCkpIHsKLQkJdG9faW50ZWxfcGxhbmVfc3RhdGUocGxhbmVfc3RhdGUpLT5z cmMueDEgJj0gfjB4MTAwMDA7Ci0JCXRvX2ludGVsX3BsYW5lX3N0YXRlKHBsYW5lX3N0YXRlKS0+ c3JjLngyICY9IH4weDEwMDAwOworCQlpZiAoaW50ZWxfcm90YXRpb25fOTBfb3JfMjcwKHBsYW5l X3N0YXRlLT5yb3RhdGlvbikpIHsKKwkJCXRvX2ludGVsX3BsYW5lX3N0YXRlKHBsYW5lX3N0YXRl KS0+c3JjLnkxICY9IH4weDEwMDAwOworCQkJdG9faW50ZWxfcGxhbmVfc3RhdGUocGxhbmVfc3Rh dGUpLT5zcmMueTIgJj0gfjB4MTAwMDA7CisJCX0gZWxzZSB7CisJCQl0b19pbnRlbF9wbGFuZV9z dGF0ZShwbGFuZV9zdGF0ZSktPnNyYy54MSAmPSB+MHgxMDAwMDsKKwkJCXRvX2ludGVsX3BsYW5l X3N0YXRlKHBsYW5lX3N0YXRlKS0+c3JjLngyICY9IH4weDEwMDAwOworCQl9CiAJfQogCiAJaWYg KGNydGNfc3RhdGUgJiYgSU5URUxfSU5GTyhkZXYpLT5nZW4gPj0gOSAmJgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9zcHJpdGUuYwppbmRleCA5ZDFjNWI5Li4zNTIyY2IwIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9zcHJpdGUuYwpAQCAtMTg4LDcgKzE4OCw4IEBAIHNrbF91cGRhdGVfcGxhbmUoc3Ry dWN0IGRybV9wbGFuZSAqZHJtX3BsYW5lLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJaW50IHhf b2Zmc2V0LCB5X29mZnNldDsKIAlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSA9 IHRvX2ludGVsX2NydGMoY3J0YyktPmNvbmZpZzsKIAlpbnQgc2NhbGVyX2lkOwotCXUzMiBhdXhf ZGlzdCA9IDAsIGF1eF94X29mZnNldCA9IDAsIGF1eF95X29mZnNldCA9IDAsIGF1eF9zdHJpZGUg PSAwOworCXVuc2lnbmVkIGxvbmcgYXV4X2Rpc3QgPSAwOworCXUzMiBhdXhfeF9vZmZzZXQgPSAw LCBhdXhfeV9vZmZzZXQgPSAwLCBhdXhfc3RyaWRlID0gMDsKIAl1MzIgdGlsZV9yb3dfYWRqdXN0 bWVudCA9IDA7CiAJdTMyIGhwaGFzZSA9IDAsIHZwaGFzZSA9IDA7CiAKQEAgLTIzOCwxMiArMjM5 LDE0IEBAIHNrbF91cGRhdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqZHJtX3BsYW5lLCBzdHJ1 Y3QgZHJtX2NydGMgKmNydGMsCiAJCXhfb2Zmc2V0ID0gc3RyaWRlICogdGlsZV9oZWlnaHQgLSB5 IC0gKHNyY19oICsgMSk7CiAJCXlfb2Zmc2V0ID0geDsKIAotCQkvKgotCQkgKiBUQkQ6IEZvciBO VjEyIDkwLzI3MCByb3RhdGlvbiwgWSBhbmQgVVYgc3VicGxhbmVzIHNob3VsZAotCQkgKiBiZSB0 cmVhdGVkIGFzIHNlcGFyYXRlIHN1cmZhY2VzIGFuZCBHVFQgcmVtYXBwaW5nIGZvcgotCQkgKiBy b3RhdGlvbiBzaG91bGQgYmUgZG9uZSBzZXBhcmF0ZWx5IGZvciBlYWNoIHN1YnBsYW5lLgotCQkg KiBFbmFibGUgc3VwcG9ydCBvbmNlIHNlcGVyYXRlIHJlbWFwcGluZ3MgYXJlIGF2YWlsYWJsZS4K LQkJICovCisJCWlmIChmYi0+cGl4ZWxfZm9ybWF0ID09IERSTV9GT1JNQVRfTlYxMikgeworCQkJ dTMyIHV2X3RpbGVfaGVpZ2h0ID0gaW50ZWxfdGlsZV9oZWlnaHQoZGV2LCBmYi0+cGl4ZWxfZm9y bWF0LAorCQkJCQkJZmItPm1vZGlmaWVyWzBdLCAxKTsKKwkJCWF1eF9zdHJpZGUgPSBESVZfUk9V TkRfVVAoZmItPmhlaWdodCAvIDIsIHV2X3RpbGVfaGVpZ2h0KTsKKwkJCWF1eF9kaXN0ID0gaW50 ZWxfcGxhbmVfb2JqX29mZnNldChpbnRlbF9wbGFuZSwgb2JqLCAxKSAtIHN1cmZfYWRkcjsKKwkJ CWF1eF94X29mZnNldCA9IGF1eF9zdHJpZGUgKiB1dl90aWxlX2hlaWdodCAtIHkgLyAyIC0gZmIt PmhlaWdodCAvIDI7CisJCQlhdXhfeV9vZmZzZXQgPSB4IC8gMjsKKwkJfQogCX0gZWxzZSB7CiAJ CXN0cmlkZSA9IGZiLT5waXRjaGVzWzBdIC8gc3RyaWRlX2RpdjsKIAkJcGxhbmVfc2l6ZSA9IChz cmNfaCA8PCAxNikgfCBzcmNfdzsKQEAgLTkwMCwxOCArOTAzLDMzIEBAIGludGVsX2NoZWNrX3Nw cml0ZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAkJc3JjX2ggPSBkcm1fcmVjdF9o ZWlnaHQoc3JjKSA+PiAxNjsKIAogCQlpZiAoaW50ZWxfZm9ybWF0X2lzX3l1dihmYi0+cGl4ZWxf Zm9ybWF0KSkgewotCQkJc3JjX3ggJj0gfjE7Ci0JCQlzcmNfdyAmPSB+MTsKLQotCQkJLyoKLQkJ CSAqIE11c3Qga2VlcCBzcmMgYW5kIGRzdCB0aGUKLQkJCSAqIHNhbWUgaWYgd2UgY2FuJ3Qgc2Nh bGUuCi0JCQkgKi8KLQkJCWlmICghY2FuX3NjYWxlKQotCQkJCWNydGNfdyAmPSB+MTsKLQotCQkJ aWYgKGNydGNfdyA9PSAwKQotCQkJCXN0YXRlLT52aXNpYmxlID0gZmFsc2U7CisJCQlpZiAoaW50 ZWxfcm90YXRpb25fOTBfb3JfMjcwKHN0YXRlLT5iYXNlLnJvdGF0aW9uKSkgeworCQkJCXNyY195 ICY9IH4xOworCQkJCXNyY19oICY9IH4xOworCisJCQkJLyoKKwkJCQkgKiBNdXN0IGtlZXAgc3Jj IGFuZCBkc3QgdGhlCisJCQkJICogc2FtZSBpZiB3ZSBjYW4ndCBzY2FsZS4KKwkJCQkgKi8KKwkJ CQlpZiAoIWNhbl9zY2FsZSkKKwkJCQkJY3J0Y19oICY9IH4xOworCisJCQkJaWYgKGNydGNfaCA9 PSAwKQorCQkJCQlzdGF0ZS0+dmlzaWJsZSA9IGZhbHNlOworCQkJfSBlbHNlIHsKKwkJCQlzcmNf eCAmPSB+MTsKKwkJCQlzcmNfdyAmPSB+MTsKKworCQkJCS8qCisJCQkJICogTXVzdCBrZWVwIHNy YyBhbmQgZHN0IHRoZQorCQkJCSAqIHNhbWUgaWYgd2UgY2FuJ3Qgc2NhbGUuCisJCQkJICovCisJ CQkJaWYgKCFjYW5fc2NhbGUpCisJCQkJCWNydGNfdyAmPSB+MTsKKworCQkJCWlmIChjcnRjX3cg PT0gMCkKKwkJCQkJc3RhdGUtPnZpc2libGUgPSBmYWxzZTsKKwkJCX0KIAkJfQogCX0KIAotLSAK MS43LjkuNQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK