From mboxrd@z Thu Jan 1 00:00:00 1970 From: sonika.jindal@intel.com Subject: [v2 07/11] drm/i915: Add 180 degree sprite rotation support Date: Fri, 4 Jul 2014 15:13:59 +0530 Message-ID: <1404467043-5072-8-git-send-email-sonika.jindal@intel.com> References: <1404467043-5072-1-git-send-email-sonika.jindal@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1404467043-5072-1-git-send-email-sonika.jindal@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: Sagar Kamble , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhIGF0IGxpbnV4LmludGVsLmNvbT4K ClRoZSBzcHJpdGUgcGxhbmVzIChpbiBmYWN0IGFsbCBkaXNwbGF5IHBsYW5lcyBzdGFydGluZyBm cm9tIGdlbjQpCnN1cHBvcnQgMTgwIGRlZ3JlZSByb3RhdGlvbi4gQWRkIHRoZSByZWxldmFudCBs b3cgbGV2ZWwgYml0cyB0byB0aGUKc3ByaXRlIGNvZGUgdG8gbWFrZSB1c2Ugb2YgdGhhdCBmZWF0 dXJlLgoKVGhlIHVwcGVyIGxheWVycyBhcmUgbm90IHlldCBwbHVnZ2VkIGluLgoKdjI6IEhTVyBo YW5kbGVzIHRoZSByb3RhdGVkIGJ1ZmZlciBvZmZzZXQgYXV0b21hZ2ljYWxseQoKdjM6IEJEVyBh bHNvIGhhbmRsZXMgdGhlIHJvdGF0ZWQgYnVmZmVyIG9mZnNldCBhdXRvbWFnaWNhbGx5CgpUZXN0 Y2FzZTogaWd0L2ttc19yb3RhdGlvbl9jcmMKQ2M6IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4 LmludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogU2FnYXIgS2FtYmxlIDxzYWdhci5hLmthbWJsZUBp bnRlbC5jb20+ClJldmlld2VkLWJ5OiBJbXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5jb20+Ci0t LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgICAgfCAgICAzICsrKwogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgfCAgICAxICsKIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3Nwcml0ZS5jIHwgICAzNyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKwogMyBmaWxlcyBjaGFuZ2VkLCA0MSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf cmVnLmgKaW5kZXggMzQ4ODU2Ny4uYzcwYzgwNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9yZWcuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCkBA IC00MTcxLDYgKzQxNzEsNyBAQCBlbnVtIHB1bml0X3Bvd2VyX3dlbGwgewogI2RlZmluZSAgIERW U19ZVVZfT1JERVJfVVlWWQkoMTw8MTYpCiAjZGVmaW5lICAgRFZTX1lVVl9PUkRFUl9ZVllVCSgy PDwxNikKICNkZWZpbmUgICBEVlNfWVVWX09SREVSX1ZZVVkJKDM8PDE2KQorI2RlZmluZSAgIERW U19ST1RBVEVfMTgwCSgxPDwxNSkKICNkZWZpbmUgICBEVlNfREVTVF9LRVkJCSgxPDwyKQogI2Rl ZmluZSAgIERWU19UUklDS0xFX0ZFRURfRElTQUJMRSAoMTw8MTQpCiAjZGVmaW5lICAgRFZTX1RJ TEVECQkoMTw8MTApCkBAIC00MjQxLDYgKzQyNDIsNyBAQCBlbnVtIHB1bml0X3Bvd2VyX3dlbGwg ewogI2RlZmluZSAgIFNQUklURV9ZVVZfT1JERVJfVVlWWQkJKDE8PDE2KQogI2RlZmluZSAgIFNQ UklURV9ZVVZfT1JERVJfWVZZVQkJKDI8PDE2KQogI2RlZmluZSAgIFNQUklURV9ZVVZfT1JERVJf VllVWQkJKDM8PDE2KQorI2RlZmluZSAgIFNQUklURV9ST1RBVEVfMTgwCQkoMTw8MTUpCiAjZGVm aW5lICAgU1BSSVRFX1RSSUNLTEVfRkVFRF9ESVNBQkxFCSgxPDwxNCkKICNkZWZpbmUgICBTUFJJ VEVfSU5UX0dBTU1BX0VOQUJMRQkoMTw8MTMpCiAjZGVmaW5lICAgU1BSSVRFX1RJTEVECQkJKDE8 PDEwKQpAQCAtNDMxNCw2ICs0MzE2LDcgQEAgZW51bSBwdW5pdF9wb3dlcl93ZWxsIHsKICNkZWZp bmUgICBTUF9ZVVZfT1JERVJfVVlWWQkJKDE8PDE2KQogI2RlZmluZSAgIFNQX1lVVl9PUkRFUl9Z VllVCQkoMjw8MTYpCiAjZGVmaW5lICAgU1BfWVVWX09SREVSX1ZZVVkJCSgzPDwxNikKKyNkZWZp bmUgICBTUF9ST1RBVEVfMTgwCQkJKDE8PDE1KQogI2RlZmluZSAgIFNQX1RJTEVECQkJKDE8PDEw KQogI2RlZmluZSBfU1BBTElOT0ZGCQkoVkxWX0RJU1BMQVlfQkFTRSArIDB4NzIxODQpCiAjZGVm aW5lIF9TUEFTVFJJREUJCShWTFZfRElTUExBWV9CQVNFICsgMHg3MjE4OCkKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHJ2LmgKaW5kZXggYWI1OTYyYi4uNjdiMWM1OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmgKQEAgLTQzNyw2ICs0MzcsNyBAQCBzdHJ1Y3QgaW50ZWxfcGxhbmUgewogCXVuc2lnbmVk IGludCBjcnRjX3csIGNydGNfaDsKIAl1aW50MzJfdCBzcmNfeCwgc3JjX3k7CiAJdWludDMyX3Qg c3JjX3csIHNyY19oOworCXVuc2lnbmVkIGludCByb3RhdGlvbjsKIAogCS8qIFNpbmNlIHdlIG5l ZWQgdG8gY2hhbmdlIHRoZSB3YXRlcm1hcmtzIGJlZm9yZS9hZnRlcgogCSAqIGVuYWJsaW5nL2Rp c2FibGluZyB0aGUgcGxhbmVzLCB3ZSBuZWVkIHRvIHN0b3JlIHRoZSBwYXJhbWV0ZXJzIGhlcmUK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKaW5kZXggNDA0MzM1ZC4uNTRkNDIyNCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKQEAgLTE2Myw2ICsxNjMsNyBAQCB2bHZfdXBk YXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKmRwbGFuZSwgc3RydWN0IGRybV9jcnRjICpjcnRj LAogCXNwcmN0bCAmPSB+U1BfUElYRk9STUFUX01BU0s7CiAJc3ByY3RsICY9IH5TUF9ZVVZfQllU RV9PUkRFUl9NQVNLOwogCXNwcmN0bCAmPSB+U1BfVElMRUQ7CisJc3ByY3RsICY9IH5TUF9ST1RB VEVfMTgwOwogCiAJc3dpdGNoIChmYi0+cGl4ZWxfZm9ybWF0KSB7CiAJY2FzZSBEUk1fRk9STUFU X1lVWVY6CkBAIC0yMzQsNiArMjM1LDE0IEBAIHZsdl91cGRhdGVfcGxhbmUoc3RydWN0IGRybV9w bGFuZSAqZHBsYW5lLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJCQkJCQkJZmItPnBpdGNoZXNb MF0pOwogCWxpbmVhcl9vZmZzZXQgLT0gc3Byc3VyZl9vZmZzZXQ7CiAKKwlpZiAoaW50ZWxfcGxh bmUtPnJvdGF0aW9uID09IEJJVChEUk1fUk9UQVRFXzE4MCkpIHsKKwkJc3ByY3RsIHw9IFNQX1JP VEFURV8xODA7CisKKwkJeCArPSBzcmNfdzsKKwkJeSArPSBzcmNfaDsKKwkJbGluZWFyX29mZnNl dCArPSBzcmNfaCAqIGZiLT5waXRjaGVzWzBdICsgc3JjX3cgKiBwaXhlbF9zaXplOworCX0KKwog CWF0b21pY191cGRhdGUgPSBpbnRlbF9waXBlX3VwZGF0ZV9zdGFydChpbnRlbF9jcnRjLCAmc3Rh cnRfdmJsX2NvdW50KTsKIAogCWludGVsX3VwZGF0ZV9wcmltYXJ5X3BsYW5lKGludGVsX2NydGMp OwpAQCAtMzYzLDYgKzM3Miw3IEBAIGl2Yl91cGRhdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAq cGxhbmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAlzcHJjdGwgJj0gflNQUklURV9SR0JfT1JE RVJfUkdCWDsKIAlzcHJjdGwgJj0gflNQUklURV9ZVVZfQllURV9PUkRFUl9NQVNLOwogCXNwcmN0 bCAmPSB+U1BSSVRFX1RJTEVEOworCXNwcmN0bCAmPSB+U1BSSVRFX1JPVEFURV8xODA7CiAKIAlz d2l0Y2ggKGZiLT5waXhlbF9mb3JtYXQpIHsKIAljYXNlIERSTV9GT1JNQVRfWEJHUjg4ODg6CkBA IC00MjQsNiArNDM0LDE3IEBAIGl2Yl91cGRhdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxh bmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJCQkJICAgICAgIHBpeGVsX3NpemUsIGZiLT5w aXRjaGVzWzBdKTsKIAlsaW5lYXJfb2Zmc2V0IC09IHNwcnN1cmZfb2Zmc2V0OwogCisJaWYgKGlu dGVsX3BsYW5lLT5yb3RhdGlvbiA9PSBCSVQoRFJNX1JPVEFURV8xODApKSB7CisJCXNwcmN0bCB8 PSBTUFJJVEVfUk9UQVRFXzE4MDsKKworCQkvKiBIU1cgYW5kIEJEVyBkb2VzIHRoaXMgYXV0b21h Z2ljYWxseSBpbiBoYXJkd2FyZSAqLworCQlpZiAoIUlTX0hBU1dFTEwoZGV2KSAmJiAhSVNfQlJP QURXRUxMKGRldikpIHsKKwkJCXggKz0gc3JjX3c7CisJCQl5ICs9IHNyY19oOworCQkJbGluZWFy X29mZnNldCArPSBzcmNfaCAqIGZiLT5waXRjaGVzWzBdICsgc3JjX3cgKiBwaXhlbF9zaXplOwor CQl9CisJfQorCiAJYXRvbWljX3VwZGF0ZSA9IGludGVsX3BpcGVfdXBkYXRlX3N0YXJ0KGludGVs X2NydGMsICZzdGFydF92YmxfY291bnQpOwogCiAJaW50ZWxfdXBkYXRlX3ByaW1hcnlfcGxhbmUo aW50ZWxfY3J0Yyk7CkBAIC01NjksNiArNTkwLDcgQEAgaWxrX3VwZGF0ZV9wbGFuZShzdHJ1Y3Qg ZHJtX3BsYW5lICpwbGFuZSwgc3RydWN0IGRybV9jcnRjICpjcnRjLAogCWR2c2NudHIgJj0gfkRW U19SR0JfT1JERVJfWEJHUjsKIAlkdnNjbnRyICY9IH5EVlNfWVVWX0JZVEVfT1JERVJfTUFTSzsK IAlkdnNjbnRyICY9IH5EVlNfVElMRUQ7CisJZHZzY250ciAmPSB+RFZTX1JPVEFURV8xODA7CiAK IAlzd2l0Y2ggKGZiLT5waXhlbF9mb3JtYXQpIHsKIAljYXNlIERSTV9GT1JNQVRfWEJHUjg4ODg6 CkBAIC02MjUsNiArNjQ3LDE0IEBAIGlsa191cGRhdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAq cGxhbmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJCQkJICAgICAgIHBpeGVsX3NpemUsIGZi LT5waXRjaGVzWzBdKTsKIAlsaW5lYXJfb2Zmc2V0IC09IGR2c3N1cmZfb2Zmc2V0OwogCisJaWYg KGludGVsX3BsYW5lLT5yb3RhdGlvbiA9PSBCSVQoRFJNX1JPVEFURV8xODApKSB7CisJCWR2c2Nu dHIgfD0gRFZTX1JPVEFURV8xODA7CisKKwkJeCArPSBzcmNfdzsKKwkJeSArPSBzcmNfaDsKKwkJ bGluZWFyX29mZnNldCArPSBzcmNfaCAqIGZiLT5waXRjaGVzWzBdICsgc3JjX3cgKiBwaXhlbF9z aXplOworCX0KKwogCWF0b21pY191cGRhdGUgPSBpbnRlbF9waXBlX3VwZGF0ZV9zdGFydChpbnRl bF9jcnRjLCAmc3RhcnRfdmJsX2NvdW50KTsKIAogCWludGVsX3VwZGF0ZV9wcmltYXJ5X3BsYW5l KGludGVsX2NydGMpOwpAQCAtODgzLDYgKzkxMyw5IEBAIGludGVsX3VwZGF0ZV9wbGFuZShzdHJ1 Y3QgZHJtX3BsYW5lICpwbGFuZSwgc3RydWN0IGRybV9jcnRjICpjcnRjLAogCW1heF9zY2FsZSA9 IGludGVsX3BsYW5lLT5tYXhfZG93bnNjYWxlIDw8IDE2OwogCW1pbl9zY2FsZSA9IGludGVsX3Bs YW5lLT5jYW5fc2NhbGUgPyAxIDogKDEgPDwgMTYpOwogCisJZHJtX3JlY3Rfcm90YXRlKCZzcmMs IGZiLT53aWR0aCA8PCAxNiwgZmItPmhlaWdodCA8PCAxNiwKKwkJCWludGVsX3BsYW5lLT5yb3Rh dGlvbik7CisKIAloc2NhbGUgPSBkcm1fcmVjdF9jYWxjX2hzY2FsZV9yZWxheGVkKCZzcmMsICZk c3QsIG1pbl9zY2FsZSwgbWF4X3NjYWxlKTsKIAlCVUdfT04oaHNjYWxlIDwgMCk7CiAKQEAgLTky MSw2ICs5NTQsOSBAQCBpbnRlbF91cGRhdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUs IHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJCQkgICAgIGRybV9yZWN0X3dpZHRoKCZkc3QpICog aHNjYWxlIC0gZHJtX3JlY3Rfd2lkdGgoJnNyYyksCiAJCQkJICAgICBkcm1fcmVjdF9oZWlnaHQo JmRzdCkgKiB2c2NhbGUgLSBkcm1fcmVjdF9oZWlnaHQoJnNyYykpOwogCisJCWRybV9yZWN0X3Jv dGF0ZV9pbnYoJnNyYywgZmItPndpZHRoIDw8IDE2LCBmYi0+aGVpZ2h0IDw8IDE2LAorCQkJCSAg ICBpbnRlbF9wbGFuZS0+cm90YXRpb24pOworCiAJCS8qIHNhbml0eSBjaGVjayB0byBtYWtlIHN1 cmUgdGhlIHNyYyB2aWV3cG9ydCB3YXNuJ3QgZW5sYXJnZWQgKi8KIAkJV0FSTl9PTihzcmMueDEg PCAoaW50KSBzcmNfeCB8fAogCQkJc3JjLnkxIDwgKGludCkgc3JjX3kgfHwKQEAgLTEyOTYsNiAr MTMzMiw3IEBAIGludGVsX3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgZW51bSBw aXBlIHBpcGUsIGludCBwbGFuZSkKIAogCWludGVsX3BsYW5lLT5waXBlID0gcGlwZTsKIAlpbnRl bF9wbGFuZS0+cGxhbmUgPSBwbGFuZTsKKwlpbnRlbF9wbGFuZS0+cm90YXRpb24gPSBCSVQoRFJN X1JPVEFURV8wKTsKIAlwb3NzaWJsZV9jcnRjcyA9ICgxIDw8IHBpcGUpOwogCXJldCA9IGRybV9w bGFuZV9pbml0KGRldiwgJmludGVsX3BsYW5lLT5iYXNlLCBwb3NzaWJsZV9jcnRjcywKIAkJCSAg ICAgJmludGVsX3BsYW5lX2Z1bmNzLAotLSAKMS43LjEwLjQKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==