From mboxrd@z Thu Jan 1 00:00:00 1970 From: sonika.jindal@intel.com Subject: [PATCH 1/6] drm/i915: Add 180 degree sprite rotation support Date: Tue, 5 Aug 2014 11:26:52 +0530 Message-ID: <1407218217-3437-2-git-send-email-sonika.jindal@intel.com> References: <1407218217-3437-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: <1407218217-3437-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 L2ludGVsX3Nwcml0ZS5jIHwgICAzOCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KwogMyBmaWxlcyBjaGFuZ2VkLCA0MiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVn LmgKaW5kZXggZGMxMzk2MS4uMWVjZTBjMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9yZWcuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCkBAIC00 MjE4LDYgKzQyMTgsNyBAQCBlbnVtIHB1bml0X3Bvd2VyX3dlbGwgewogI2RlZmluZSAgIERWU19Z VVZfT1JERVJfVVlWWQkoMTw8MTYpCiAjZGVmaW5lICAgRFZTX1lVVl9PUkRFUl9ZVllVCSgyPDwx NikKICNkZWZpbmUgICBEVlNfWVVWX09SREVSX1ZZVVkJKDM8PDE2KQorI2RlZmluZSAgIERWU19S T1RBVEVfMTgwCSgxPDwxNSkKICNkZWZpbmUgICBEVlNfREVTVF9LRVkJCSgxPDwyKQogI2RlZmlu ZSAgIERWU19UUklDS0xFX0ZFRURfRElTQUJMRSAoMTw8MTQpCiAjZGVmaW5lICAgRFZTX1RJTEVE CQkoMTw8MTApCkBAIC00Mjg4LDYgKzQyODksNyBAQCBlbnVtIHB1bml0X3Bvd2VyX3dlbGwgewog I2RlZmluZSAgIFNQUklURV9ZVVZfT1JERVJfVVlWWQkJKDE8PDE2KQogI2RlZmluZSAgIFNQUklU RV9ZVVZfT1JERVJfWVZZVQkJKDI8PDE2KQogI2RlZmluZSAgIFNQUklURV9ZVVZfT1JERVJfVllV WQkJKDM8PDE2KQorI2RlZmluZSAgIFNQUklURV9ST1RBVEVfMTgwCQkoMTw8MTUpCiAjZGVmaW5l ICAgU1BSSVRFX1RSSUNLTEVfRkVFRF9ESVNBQkxFCSgxPDwxNCkKICNkZWZpbmUgICBTUFJJVEVf SU5UX0dBTU1BX0VOQUJMRQkoMTw8MTMpCiAjZGVmaW5lICAgU1BSSVRFX1RJTEVECQkJKDE8PDEw KQpAQCAtNDM2MSw2ICs0MzYzLDcgQEAgZW51bSBwdW5pdF9wb3dlcl93ZWxsIHsKICNkZWZpbmUg ICBTUF9ZVVZfT1JERVJfVVlWWQkJKDE8PDE2KQogI2RlZmluZSAgIFNQX1lVVl9PUkRFUl9ZVllV CQkoMjw8MTYpCiAjZGVmaW5lICAgU1BfWVVWX09SREVSX1ZZVVkJCSgzPDwxNikKKyNkZWZpbmUg ICBTUF9ST1RBVEVfMTgwCQkJKDE8PDE1KQogI2RlZmluZSAgIFNQX1RJTEVECQkJKDE8PDEwKQog I2RlZmluZSBfU1BBTElOT0ZGCQkoVkxWX0RJU1BMQVlfQkFTRSArIDB4NzIxODQpCiAjZGVmaW5l IF9TUEFTVFJJREUJCShWTFZfRElTUExBWV9CQVNFICsgMHg3MjE4OCkKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmgKaW5kZXggMjhkMTg1ZC4uYmQ5MTVmNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmgKQEAgLTQ0Nyw2ICs0NDcsNyBAQCBzdHJ1Y3QgaW50ZWxfcGxhbmUgewogCXVuc2lnbmVkIGlu dCBjcnRjX3csIGNydGNfaDsKIAl1aW50MzJfdCBzcmNfeCwgc3JjX3k7CiAJdWludDMyX3Qgc3Jj X3csIHNyY19oOworCXVuc2lnbmVkIGludCByb3RhdGlvbjsKIAogCS8qIFNpbmNlIHdlIG5lZWQg dG8gY2hhbmdlIHRoZSB3YXRlcm1hcmtzIGJlZm9yZS9hZnRlcgogCSAqIGVuYWJsaW5nL2Rpc2Fi bGluZyB0aGUgcGxhbmVzLCB3ZSBuZWVkIHRvIHN0b3JlIHRoZSBwYXJhbWV0ZXJzIGhlcmUKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKaW5kZXggZDM0YTU2OS4uZjRkMTBjNCAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKQEAgLTE2NCw2ICsxNjQsNyBAQCB2bHZfdXBkYXRl X3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKmRwbGFuZSwgc3RydWN0IGRybV9jcnRjICpjcnRjLAog CXNwcmN0bCAmPSB+U1BfUElYRk9STUFUX01BU0s7CiAJc3ByY3RsICY9IH5TUF9ZVVZfQllURV9P UkRFUl9NQVNLOwogCXNwcmN0bCAmPSB+U1BfVElMRUQ7CisJc3ByY3RsICY9IH5TUF9ST1RBVEVf MTgwOwogCiAJc3dpdGNoIChmYi0+cGl4ZWxfZm9ybWF0KSB7CiAJY2FzZSBEUk1fRk9STUFUX1lV WVY6CkBAIC0yMzYsNiArMjM3LDE0IEBAIHZsdl91cGRhdGVfcGxhbmUoc3RydWN0IGRybV9wbGFu ZSAqZHBsYW5lLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJCQkJCQkJZmItPnBpdGNoZXNbMF0p OwogCWxpbmVhcl9vZmZzZXQgLT0gc3Byc3VyZl9vZmZzZXQ7CiAKKwlpZiAoaW50ZWxfcGxhbmUt PnJvdGF0aW9uID09IEJJVChEUk1fUk9UQVRFXzE4MCkpIHsKKwkJc3ByY3RsIHw9IFNQX1JPVEFU RV8xODA7CisKKwkJeCArPSBzcmNfdzsKKwkJeSArPSBzcmNfaDsKKwkJbGluZWFyX29mZnNldCAr PSBzcmNfaCAqIGZiLT5waXRjaGVzWzBdICsgc3JjX3cgKiBwaXhlbF9zaXplOworCX0KKwogCWF0 b21pY191cGRhdGUgPSBpbnRlbF9waXBlX3VwZGF0ZV9zdGFydChpbnRlbF9jcnRjLCAmc3RhcnRf dmJsX2NvdW50KTsKIAogCWludGVsX3VwZGF0ZV9wcmltYXJ5X3BsYW5lKGludGVsX2NydGMpOwpA QCAtMzY1LDYgKzM3NCw3IEBAIGl2Yl91cGRhdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxh bmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAlzcHJjdGwgJj0gflNQUklURV9SR0JfT1JERVJf UkdCWDsKIAlzcHJjdGwgJj0gflNQUklURV9ZVVZfQllURV9PUkRFUl9NQVNLOwogCXNwcmN0bCAm PSB+U1BSSVRFX1RJTEVEOworCXNwcmN0bCAmPSB+U1BSSVRFX1JPVEFURV8xODA7CiAKIAlzd2l0 Y2ggKGZiLT5waXhlbF9mb3JtYXQpIHsKIAljYXNlIERSTV9GT1JNQVRfWEJHUjg4ODg6CkBAIC00 MjcsNiArNDM3LDE4IEBAIGl2Yl91cGRhdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUs IHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJCQkJICAgICAgIHBpeGVsX3NpemUsIGZiLT5waXRj aGVzWzBdKTsKIAlsaW5lYXJfb2Zmc2V0IC09IHNwcnN1cmZfb2Zmc2V0OwogCisJaWYgKGludGVs X3BsYW5lLT5yb3RhdGlvbiA9PSBCSVQoRFJNX1JPVEFURV8xODApKSB7CisJCXNwcmN0bCB8PSBT UFJJVEVfUk9UQVRFXzE4MDsKKworCQkvKiBIU1cgYW5kIEJEVyBkb2VzIHRoaXMgYXV0b21hZ2lj YWxseSBpbiBoYXJkd2FyZSAqLworCQlpZiAoIUlTX0hBU1dFTEwoZGV2KSAmJiAhSVNfQlJPQURX RUxMKGRldikpIHsKKwkJCXggKz0gc3JjX3c7CisJCQl5ICs9IHNyY19oOworCQkJbGluZWFyX29m ZnNldCArPSBzcmNfaCAqIGZiLT5waXRjaGVzWzBdICsKKwkJCQlzcmNfdyAqIHBpeGVsX3NpemU7 CisJCX0KKwl9CisKIAlhdG9taWNfdXBkYXRlID0gaW50ZWxfcGlwZV91cGRhdGVfc3RhcnQoaW50 ZWxfY3J0YywgJnN0YXJ0X3ZibF9jb3VudCk7CiAKIAlpbnRlbF91cGRhdGVfcHJpbWFyeV9wbGFu ZShpbnRlbF9jcnRjKTsKQEAgLTU3Miw2ICs1OTQsNyBAQCBpbGtfdXBkYXRlX3BsYW5lKHN0cnVj dCBkcm1fcGxhbmUgKnBsYW5lLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJZHZzY250ciAmPSB+ RFZTX1JHQl9PUkRFUl9YQkdSOwogCWR2c2NudHIgJj0gfkRWU19ZVVZfQllURV9PUkRFUl9NQVNL OwogCWR2c2NudHIgJj0gfkRWU19USUxFRDsKKwlkdnNjbnRyICY9IH5EVlNfUk9UQVRFXzE4MDsK IAogCXN3aXRjaCAoZmItPnBpeGVsX2Zvcm1hdCkgewogCWNhc2UgRFJNX0ZPUk1BVF9YQkdSODg4 ODoKQEAgLTYyOSw2ICs2NTIsMTQgQEAgaWxrX3VwZGF0ZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5l ICpwbGFuZSwgc3RydWN0IGRybV9jcnRjICpjcnRjLAogCQkJCQkgICAgICAgcGl4ZWxfc2l6ZSwg ZmItPnBpdGNoZXNbMF0pOwogCWxpbmVhcl9vZmZzZXQgLT0gZHZzc3VyZl9vZmZzZXQ7CiAKKwlp ZiAoaW50ZWxfcGxhbmUtPnJvdGF0aW9uID09IEJJVChEUk1fUk9UQVRFXzE4MCkpIHsKKwkJZHZz Y250ciB8PSBEVlNfUk9UQVRFXzE4MDsKKworCQl4ICs9IHNyY193OworCQl5ICs9IHNyY19oOwor CQlsaW5lYXJfb2Zmc2V0ICs9IHNyY19oICogZmItPnBpdGNoZXNbMF0gKyBzcmNfdyAqIHBpeGVs X3NpemU7CisJfQorCiAJYXRvbWljX3VwZGF0ZSA9IGludGVsX3BpcGVfdXBkYXRlX3N0YXJ0KGlu dGVsX2NydGMsICZzdGFydF92YmxfY291bnQpOwogCiAJaW50ZWxfdXBkYXRlX3ByaW1hcnlfcGxh bmUoaW50ZWxfY3J0Yyk7CkBAIC04OTYsNiArOTI3LDkgQEAgaW50ZWxfdXBkYXRlX3BsYW5lKHN0 cnVjdCBkcm1fcGxhbmUgKnBsYW5lLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJbWF4X3NjYWxl ID0gaW50ZWxfcGxhbmUtPm1heF9kb3duc2NhbGUgPDwgMTY7CiAJbWluX3NjYWxlID0gaW50ZWxf cGxhbmUtPmNhbl9zY2FsZSA/IDEgOiAoMSA8PCAxNik7CiAKKwlkcm1fcmVjdF9yb3RhdGUoJnNy YywgZmItPndpZHRoIDw8IDE2LCBmYi0+aGVpZ2h0IDw8IDE2LAorCQkJaW50ZWxfcGxhbmUtPnJv dGF0aW9uKTsKKwogCWhzY2FsZSA9IGRybV9yZWN0X2NhbGNfaHNjYWxlX3JlbGF4ZWQoJnNyYywg JmRzdCwgbWluX3NjYWxlLCBtYXhfc2NhbGUpOwogCUJVR19PTihoc2NhbGUgPCAwKTsKIApAQCAt OTM0LDYgKzk2OCw5IEBAIGludGVsX3VwZGF0ZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFu ZSwgc3RydWN0IGRybV9jcnRjICpjcnRjLAogCQkJCSAgICAgZHJtX3JlY3Rfd2lkdGgoJmRzdCkg KiBoc2NhbGUgLSBkcm1fcmVjdF93aWR0aCgmc3JjKSwKIAkJCQkgICAgIGRybV9yZWN0X2hlaWdo dCgmZHN0KSAqIHZzY2FsZSAtIGRybV9yZWN0X2hlaWdodCgmc3JjKSk7CiAKKwkJZHJtX3JlY3Rf cm90YXRlX2ludigmc3JjLCBmYi0+d2lkdGggPDwgMTYsIGZiLT5oZWlnaHQgPDwgMTYsCisJCQkJ ICAgIGludGVsX3BsYW5lLT5yb3RhdGlvbik7CisKIAkJLyogc2FuaXR5IGNoZWNrIHRvIG1ha2Ug c3VyZSB0aGUgc3JjIHZpZXdwb3J0IHdhc24ndCBlbmxhcmdlZCAqLwogCQlXQVJOX09OKHNyYy54 MSA8IChpbnQpIHNyY194IHx8CiAJCQlzcmMueTEgPCAoaW50KSBzcmNfeSB8fApAQCAtMTMxMSw2 ICsxMzQ4LDcgQEAgaW50ZWxfcGxhbmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBlbnVt IHBpcGUgcGlwZSwgaW50IHBsYW5lKQogCiAJaW50ZWxfcGxhbmUtPnBpcGUgPSBwaXBlOwogCWlu dGVsX3BsYW5lLT5wbGFuZSA9IHBsYW5lOworCWludGVsX3BsYW5lLT5yb3RhdGlvbiA9IEJJVChE Uk1fUk9UQVRFXzApOwogCXBvc3NpYmxlX2NydGNzID0gKDEgPDwgcGlwZSk7CiAJcmV0ID0gZHJt X3BsYW5lX2luaXQoZGV2LCAmaW50ZWxfcGxhbmUtPmJhc2UsIHBvc3NpYmxlX2NydGNzLAogCQkJ ICAgICAmaW50ZWxfcGxhbmVfZnVuY3MsCi0tIAoxLjcuMTAuNAoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK