From mboxrd@z Thu Jan 1 00:00:00 1970 From: sonika.jindal@intel.com Subject: [v3 07/13] drm/i915: Add 180 degree sprite rotation support Date: Tue, 8 Jul 2014 10:31:57 +0530 Message-ID: <1404795723-9630-8-git-send-email-sonika.jindal@intel.com> References: <1404795723-9630-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: <1404795723-9630-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: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClRo ZSBzcHJpdGUgcGxhbmVzIChpbiBmYWN0IGFsbCBkaXNwbGF5IHBsYW5lcyBzdGFydGluZyBmcm9t IGdlbjQpCnN1cHBvcnQgMTgwIGRlZ3JlZSByb3RhdGlvbi4gQWRkIHRoZSByZWxldmFudCBsb3cg bGV2ZWwgYml0cyB0byB0aGUKc3ByaXRlIGNvZGUgdG8gbWFrZSB1c2Ugb2YgdGhhdCBmZWF0dXJl LgoKVGhlIHVwcGVyIGxheWVycyBhcmUgbm90IHlldCBwbHVnZ2VkIGluLgoKdjI6IEhTVyBoYW5k bGVzIHRoZSByb3RhdGVkIGJ1ZmZlciBvZmZzZXQgYXV0b21hZ2ljYWxseQoKdjM6IEJEVyBhbHNv IGhhbmRsZXMgdGhlIHJvdGF0ZWQgYnVmZmVyIG9mZnNldCBhdXRvbWFnaWNhbGx5CgpUZXN0Y2Fz ZTogaWd0L2ttc19yb3RhdGlvbl9jcmMKQ2M6IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4Lmlu dGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogU2FnYXIgS2FtYmxlIDxzYWdhci5hLmthbWJsZUBpbnRl bC5jb20+ClJldmlld2VkLWJ5OiBJbXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5jb20+Ci0tLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgICAgfCAgICAzICsrKwogZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgfCAgICAxICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3Nwcml0ZS5jIHwgICAzNyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KwogMyBmaWxlcyBjaGFuZ2VkLCA0MSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVn LmgKaW5kZXggMzQ4ODU2Ny4uYzcwYzgwNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9yZWcuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCkBAIC00 MTcxLDYgKzQxNzEsNyBAQCBlbnVtIHB1bml0X3Bvd2VyX3dlbGwgewogI2RlZmluZSAgIERWU19Z VVZfT1JERVJfVVlWWQkoMTw8MTYpCiAjZGVmaW5lICAgRFZTX1lVVl9PUkRFUl9ZVllVCSgyPDwx NikKICNkZWZpbmUgICBEVlNfWVVWX09SREVSX1ZZVVkJKDM8PDE2KQorI2RlZmluZSAgIERWU19S T1RBVEVfMTgwCSgxPDwxNSkKICNkZWZpbmUgICBEVlNfREVTVF9LRVkJCSgxPDwyKQogI2RlZmlu ZSAgIERWU19UUklDS0xFX0ZFRURfRElTQUJMRSAoMTw8MTQpCiAjZGVmaW5lICAgRFZTX1RJTEVE CQkoMTw8MTApCkBAIC00MjQxLDYgKzQyNDIsNyBAQCBlbnVtIHB1bml0X3Bvd2VyX3dlbGwgewog I2RlZmluZSAgIFNQUklURV9ZVVZfT1JERVJfVVlWWQkJKDE8PDE2KQogI2RlZmluZSAgIFNQUklU RV9ZVVZfT1JERVJfWVZZVQkJKDI8PDE2KQogI2RlZmluZSAgIFNQUklURV9ZVVZfT1JERVJfVllV WQkJKDM8PDE2KQorI2RlZmluZSAgIFNQUklURV9ST1RBVEVfMTgwCQkoMTw8MTUpCiAjZGVmaW5l ICAgU1BSSVRFX1RSSUNLTEVfRkVFRF9ESVNBQkxFCSgxPDwxNCkKICNkZWZpbmUgICBTUFJJVEVf SU5UX0dBTU1BX0VOQUJMRQkoMTw8MTMpCiAjZGVmaW5lICAgU1BSSVRFX1RJTEVECQkJKDE8PDEw KQpAQCAtNDMxNCw2ICs0MzE2LDcgQEAgZW51bSBwdW5pdF9wb3dlcl93ZWxsIHsKICNkZWZpbmUg ICBTUF9ZVVZfT1JERVJfVVlWWQkJKDE8PDE2KQogI2RlZmluZSAgIFNQX1lVVl9PUkRFUl9ZVllV CQkoMjw8MTYpCiAjZGVmaW5lICAgU1BfWVVWX09SREVSX1ZZVVkJCSgzPDwxNikKKyNkZWZpbmUg ICBTUF9ST1RBVEVfMTgwCQkJKDE8PDE1KQogI2RlZmluZSAgIFNQX1RJTEVECQkJKDE8PDEwKQog I2RlZmluZSBfU1BBTElOT0ZGCQkoVkxWX0RJU1BMQVlfQkFTRSArIDB4NzIxODQpCiAjZGVmaW5l IF9TUEFTVFJJREUJCShWTFZfRElTUExBWV9CQVNFICsgMHg3MjE4OCkKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmgKaW5kZXggYWI1OTYyYi4uNjdiMWM1OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmgKQEAgLTQzNyw2ICs0MzcsNyBAQCBzdHJ1Y3QgaW50ZWxfcGxhbmUgewogCXVuc2lnbmVkIGlu dCBjcnRjX3csIGNydGNfaDsKIAl1aW50MzJfdCBzcmNfeCwgc3JjX3k7CiAJdWludDMyX3Qgc3Jj X3csIHNyY19oOworCXVuc2lnbmVkIGludCByb3RhdGlvbjsKIAogCS8qIFNpbmNlIHdlIG5lZWQg dG8gY2hhbmdlIHRoZSB3YXRlcm1hcmtzIGJlZm9yZS9hZnRlcgogCSAqIGVuYWJsaW5nL2Rpc2Fi bGluZyB0aGUgcGxhbmVzLCB3ZSBuZWVkIHRvIHN0b3JlIHRoZSBwYXJhbWV0ZXJzIGhlcmUKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKaW5kZXggNDA0MzM1ZC4uNTRkNDIyNCAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKQEAgLTE2Myw2ICsxNjMsNyBAQCB2bHZfdXBkYXRl X3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKmRwbGFuZSwgc3RydWN0IGRybV9jcnRjICpjcnRjLAog CXNwcmN0bCAmPSB+U1BfUElYRk9STUFUX01BU0s7CiAJc3ByY3RsICY9IH5TUF9ZVVZfQllURV9P UkRFUl9NQVNLOwogCXNwcmN0bCAmPSB+U1BfVElMRUQ7CisJc3ByY3RsICY9IH5TUF9ST1RBVEVf MTgwOwogCiAJc3dpdGNoIChmYi0+cGl4ZWxfZm9ybWF0KSB7CiAJY2FzZSBEUk1fRk9STUFUX1lV WVY6CkBAIC0yMzQsNiArMjM1LDE0IEBAIHZsdl91cGRhdGVfcGxhbmUoc3RydWN0IGRybV9wbGFu ZSAqZHBsYW5lLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJCQkJCQkJZmItPnBpdGNoZXNbMF0p OwogCWxpbmVhcl9vZmZzZXQgLT0gc3Byc3VyZl9vZmZzZXQ7CiAKKwlpZiAoaW50ZWxfcGxhbmUt PnJvdGF0aW9uID09IEJJVChEUk1fUk9UQVRFXzE4MCkpIHsKKwkJc3ByY3RsIHw9IFNQX1JPVEFU RV8xODA7CisKKwkJeCArPSBzcmNfdzsKKwkJeSArPSBzcmNfaDsKKwkJbGluZWFyX29mZnNldCAr PSBzcmNfaCAqIGZiLT5waXRjaGVzWzBdICsgc3JjX3cgKiBwaXhlbF9zaXplOworCX0KKwogCWF0 b21pY191cGRhdGUgPSBpbnRlbF9waXBlX3VwZGF0ZV9zdGFydChpbnRlbF9jcnRjLCAmc3RhcnRf dmJsX2NvdW50KTsKIAogCWludGVsX3VwZGF0ZV9wcmltYXJ5X3BsYW5lKGludGVsX2NydGMpOwpA QCAtMzYzLDYgKzM3Miw3IEBAIGl2Yl91cGRhdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxh bmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAlzcHJjdGwgJj0gflNQUklURV9SR0JfT1JERVJf UkdCWDsKIAlzcHJjdGwgJj0gflNQUklURV9ZVVZfQllURV9PUkRFUl9NQVNLOwogCXNwcmN0bCAm PSB+U1BSSVRFX1RJTEVEOworCXNwcmN0bCAmPSB+U1BSSVRFX1JPVEFURV8xODA7CiAKIAlzd2l0 Y2ggKGZiLT5waXhlbF9mb3JtYXQpIHsKIAljYXNlIERSTV9GT1JNQVRfWEJHUjg4ODg6CkBAIC00 MjQsNiArNDM0LDE3IEBAIGl2Yl91cGRhdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUs IHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJCQkJICAgICAgIHBpeGVsX3NpemUsIGZiLT5waXRj aGVzWzBdKTsKIAlsaW5lYXJfb2Zmc2V0IC09IHNwcnN1cmZfb2Zmc2V0OwogCisJaWYgKGludGVs X3BsYW5lLT5yb3RhdGlvbiA9PSBCSVQoRFJNX1JPVEFURV8xODApKSB7CisJCXNwcmN0bCB8PSBT UFJJVEVfUk9UQVRFXzE4MDsKKworCQkvKiBIU1cgYW5kIEJEVyBkb2VzIHRoaXMgYXV0b21hZ2lj YWxseSBpbiBoYXJkd2FyZSAqLworCQlpZiAoIUlTX0hBU1dFTEwoZGV2KSAmJiAhSVNfQlJPQURX RUxMKGRldikpIHsKKwkJCXggKz0gc3JjX3c7CisJCQl5ICs9IHNyY19oOworCQkJbGluZWFyX29m ZnNldCArPSBzcmNfaCAqIGZiLT5waXRjaGVzWzBdICsgc3JjX3cgKiBwaXhlbF9zaXplOworCQl9 CisJfQorCiAJYXRvbWljX3VwZGF0ZSA9IGludGVsX3BpcGVfdXBkYXRlX3N0YXJ0KGludGVsX2Ny dGMsICZzdGFydF92YmxfY291bnQpOwogCiAJaW50ZWxfdXBkYXRlX3ByaW1hcnlfcGxhbmUoaW50 ZWxfY3J0Yyk7CkBAIC01NjksNiArNTkwLDcgQEAgaWxrX3VwZGF0ZV9wbGFuZShzdHJ1Y3QgZHJt X3BsYW5lICpwbGFuZSwgc3RydWN0IGRybV9jcnRjICpjcnRjLAogCWR2c2NudHIgJj0gfkRWU19S R0JfT1JERVJfWEJHUjsKIAlkdnNjbnRyICY9IH5EVlNfWVVWX0JZVEVfT1JERVJfTUFTSzsKIAlk dnNjbnRyICY9IH5EVlNfVElMRUQ7CisJZHZzY250ciAmPSB+RFZTX1JPVEFURV8xODA7CiAKIAlz d2l0Y2ggKGZiLT5waXhlbF9mb3JtYXQpIHsKIAljYXNlIERSTV9GT1JNQVRfWEJHUjg4ODg6CkBA IC02MjUsNiArNjQ3LDE0IEBAIGlsa191cGRhdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxh bmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJCQkJICAgICAgIHBpeGVsX3NpemUsIGZiLT5w aXRjaGVzWzBdKTsKIAlsaW5lYXJfb2Zmc2V0IC09IGR2c3N1cmZfb2Zmc2V0OwogCisJaWYgKGlu dGVsX3BsYW5lLT5yb3RhdGlvbiA9PSBCSVQoRFJNX1JPVEFURV8xODApKSB7CisJCWR2c2NudHIg fD0gRFZTX1JPVEFURV8xODA7CisKKwkJeCArPSBzcmNfdzsKKwkJeSArPSBzcmNfaDsKKwkJbGlu ZWFyX29mZnNldCArPSBzcmNfaCAqIGZiLT5waXRjaGVzWzBdICsgc3JjX3cgKiBwaXhlbF9zaXpl OworCX0KKwogCWF0b21pY191cGRhdGUgPSBpbnRlbF9waXBlX3VwZGF0ZV9zdGFydChpbnRlbF9j cnRjLCAmc3RhcnRfdmJsX2NvdW50KTsKIAogCWludGVsX3VwZGF0ZV9wcmltYXJ5X3BsYW5lKGlu dGVsX2NydGMpOwpAQCAtODgzLDYgKzkxMyw5IEBAIGludGVsX3VwZGF0ZV9wbGFuZShzdHJ1Y3Qg ZHJtX3BsYW5lICpwbGFuZSwgc3RydWN0IGRybV9jcnRjICpjcnRjLAogCW1heF9zY2FsZSA9IGlu dGVsX3BsYW5lLT5tYXhfZG93bnNjYWxlIDw8IDE2OwogCW1pbl9zY2FsZSA9IGludGVsX3BsYW5l LT5jYW5fc2NhbGUgPyAxIDogKDEgPDwgMTYpOwogCisJZHJtX3JlY3Rfcm90YXRlKCZzcmMsIGZi LT53aWR0aCA8PCAxNiwgZmItPmhlaWdodCA8PCAxNiwKKwkJCWludGVsX3BsYW5lLT5yb3RhdGlv bik7CisKIAloc2NhbGUgPSBkcm1fcmVjdF9jYWxjX2hzY2FsZV9yZWxheGVkKCZzcmMsICZkc3Qs IG1pbl9zY2FsZSwgbWF4X3NjYWxlKTsKIAlCVUdfT04oaHNjYWxlIDwgMCk7CiAKQEAgLTkyMSw2 ICs5NTQsOSBAQCBpbnRlbF91cGRhdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsIHN0 cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJCQkgICAgIGRybV9yZWN0X3dpZHRoKCZkc3QpICogaHNj YWxlIC0gZHJtX3JlY3Rfd2lkdGgoJnNyYyksCiAJCQkJICAgICBkcm1fcmVjdF9oZWlnaHQoJmRz dCkgKiB2c2NhbGUgLSBkcm1fcmVjdF9oZWlnaHQoJnNyYykpOwogCisJCWRybV9yZWN0X3JvdGF0 ZV9pbnYoJnNyYywgZmItPndpZHRoIDw8IDE2LCBmYi0+aGVpZ2h0IDw8IDE2LAorCQkJCSAgICBp bnRlbF9wbGFuZS0+cm90YXRpb24pOworCiAJCS8qIHNhbml0eSBjaGVjayB0byBtYWtlIHN1cmUg dGhlIHNyYyB2aWV3cG9ydCB3YXNuJ3QgZW5sYXJnZWQgKi8KIAkJV0FSTl9PTihzcmMueDEgPCAo aW50KSBzcmNfeCB8fAogCQkJc3JjLnkxIDwgKGludCkgc3JjX3kgfHwKQEAgLTEyOTYsNiArMTMz Miw3IEBAIGludGVsX3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgZW51bSBwaXBl IHBpcGUsIGludCBwbGFuZSkKIAogCWludGVsX3BsYW5lLT5waXBlID0gcGlwZTsKIAlpbnRlbF9w bGFuZS0+cGxhbmUgPSBwbGFuZTsKKwlpbnRlbF9wbGFuZS0+cm90YXRpb24gPSBCSVQoRFJNX1JP VEFURV8wKTsKIAlwb3NzaWJsZV9jcnRjcyA9ICgxIDw8IHBpcGUpOwogCXJldCA9IGRybV9wbGFu ZV9pbml0KGRldiwgJmludGVsX3BsYW5lLT5iYXNlLCBwb3NzaWJsZV9jcnRjcywKIAkJCSAgICAg JmludGVsX3BsYW5lX2Z1bmNzLAotLSAKMS43LjEwLjQKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==