From mboxrd@z Thu Jan 1 00:00:00 1970 From: sonika.jindal@intel.com Subject: [PATCH] drm/i915: Add rotation support for cursor plane Date: Mon, 15 Sep 2014 13:13:48 +0530 Message-ID: <1410767028-19227-1-git-send-email-sonika.jindal@intel.com> References: <1410766511-18879-2-git-send-email-sonika.jindal@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 981DD6E2D4 for ; Mon, 15 Sep 2014 00:48:39 -0700 (PDT) In-Reply-To: <1410766511-18879-2-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 List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClRo ZSBjdXJzb3IgcGxhbmUgYWxzbyBzdXBwb3J0cyAxODAgZGVncmVlIHJvdGF0aW9uLiBBZGQgYSBu ZXcKImN1cnNvci1yb3RhdGlvbiIgcHJvcGVydHkgb24gdGhlIGNydGMgd2hpY2ggY29udHJvbHMg dGhpcy4KClVubGlrZSBzcHJpdGVzLCB0aGUgY3Vyc29yIGhhcyBhIGZpeGVkIHNpemUsIHNvIGlm IHlvdSBoYXZlIGEgc21hbGwKY3Vyc29yIGltYWdlIHdpdGggdGhlIHJlc3Qgb2YgdGhlIGJvIGZp bGxlZCBieSB0cmFuc3BhcmVudCBwaXhlbHMsCnNpbXBseSBmbGlwcGluZyB0aGUgcm90YXRpb24g cHJvcGVydHkgd2lsbCBjYXVzZSB0aGUgdmlzaWJsZSBwYXJ0Cm9mIHRoZSBjdXJzb3IgdG8gc2hp ZnQuIFRoaXMgaXMgc29tZXRoaW5nIHRvIGtlZXAgaW4gbWluZCB3aGVuCnVzaW5nIGN1cnNvciBy b3RhdGlvbi4KCnYyOiBGaXggZ2VuNC92bHYgYnkgb2Zmc2V0dGluZyB0aGUgYmFzZSBhZGRyZXNz IGFwcHJvcHJpYXRlbHkKCnYzOiBSZW1vdmluZyBjdXJzb3Itcm90YXRpb24gcHJvcGVydHkgYW5k IHVzaW5nIHJvdGF0aW9uIHByb3BlcnR5IG9uIGN1cnNvcgpwbGFuZS4KdjQ6IENoYW5naW5nIHRo ZSBhdXRob3IgbmFtZSBiYWNrIHRvIFZpbGxlLgoKVGVzdGNhc2U6IGttc19yb3RhdGlvbl9jcmMK CkNjOiBTYWdhciBLYW1ibGUgPHNhZ2FyLmEua2FtYmxlQGludGVsLmNvbT4KU2lnbmVkLW9mZi1i eTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KU2lnbmVk LW9mZi1ieTogU29uaWthIEppbmRhbCA8c29uaWthLmppbmRhbEBpbnRlbC5jb20+Ci0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgICAgIHwgICAgMSArCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAgIDI2ICsrKysrKysrKysrKysrKysrKysrKysrKyst CiAyIGZpbGVzIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9yZWcuaAppbmRleCAxNWMwZWFhLi41YTlmYWI5IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcmVnLmgKQEAgLTQxNjIsNiArNDE2Miw3IEBAIGVudW0gcHVuaXRfcG93ZXJfd2VsbCB7CiAj ZGVmaW5lICAgTUNVUlNPUl9QSVBFX0EJMHgwMAogI2RlZmluZSAgIE1DVVJTT1JfUElQRV9CCSgx IDw8IDI4KQogI2RlZmluZSAgIE1DVVJTT1JfR0FNTUFfRU5BQkxFICAoMSA8PCAyNikKKyNkZWZp bmUgICBDVVJTT1JfUk9UQVRFXzE4MAkoMTw8MTUpCiAjZGVmaW5lICAgQ1VSU09SX1RSSUNLTEVf RkVFRF9ESVNBQkxFCSgxIDw8IDE0KQogI2RlZmluZSBfQ1VSQUJBU0UJCTB4NzAwODQKICNkZWZp bmUgX0NVUkFQT1MJCTB4NzAwODgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRl eCAxMjJhYzZlLi44YzgzYmNjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBA IC04MjQ3LDYgKzgyNDcsOSBAQCBzdGF0aWMgdm9pZCBpOXh4X3VwZGF0ZV9jdXJzb3Ioc3RydWN0 IGRybV9jcnRjICpjcnRjLCB1MzIgYmFzZSkKIAlpZiAoSVNfSEFTV0VMTChkZXYpIHx8IElTX0JS T0FEV0VMTChkZXYpKQogCQljbnRsIHw9IENVUlNPUl9QSVBFX0NTQ19FTkFCTEU7CiAKKwlpZiAo dG9faW50ZWxfcGxhbmUoY3J0Yy0+Y3Vyc29yKS0+cm90YXRpb24gPT0gQklUKERSTV9ST1RBVEVf MTgwKSkKKwkJY250bCB8PSBDVVJTT1JfUk9UQVRFXzE4MDsKKwogCWlmIChpbnRlbF9jcnRjLT5j dXJzb3JfY250bCAhPSBjbnRsKSB7CiAJCUk5MTVfV1JJVEUoQ1VSQ05UUihwaXBlKSwgY250bCk7 CiAJCVBPU1RJTkdfUkVBRChDVVJDTlRSKHBpcGUpKTsKQEAgLTgzMDIsNiArODMwNSwxMyBAQCBz dGF0aWMgdm9pZCBpbnRlbF9jcnRjX3VwZGF0ZV9jdXJzb3Ioc3RydWN0IGRybV9jcnRjICpjcnRj LAogCiAJSTkxNV9XUklURShDVVJQT1MocGlwZSksIHBvcyk7CiAKKwkvKiBJTEsrIGRvIHRoaXMg YXV0b21hZ2ljYWxseSAqLworCWlmIChIQVNfR01DSF9ESVNQTEFZKGRldikgJiYKKwkJdG9faW50 ZWxfcGxhbmUoY3J0Yy0+Y3Vyc29yKS0+cm90YXRpb24gPT0gQklUKERSTV9ST1RBVEVfMTgwKSkg eworCQliYXNlICs9IChpbnRlbF9jcnRjLT5jdXJzb3JfaGVpZ2h0ICoKKwkJCWludGVsX2NydGMt PmN1cnNvcl93aWR0aCAtIDEpICogNDsKKwl9CisKIAlpZiAoSVNfODQ1RyhkZXYpIHx8IElTX0k4 NjVHKGRldikpCiAJCWk4NDVfdXBkYXRlX2N1cnNvcihjcnRjLCBiYXNlKTsKIAllbHNlCkBAIC04 NDUzLDcgKzg0NjMsNiBAQCBzdGF0aWMgaW50IGludGVsX2NydGNfY3Vyc29yX3NldF9vYmooc3Ry dWN0IGRybV9jcnRjICpjcnRjLAogCW11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwog CiAJb2xkX3dpZHRoID0gaW50ZWxfY3J0Yy0+Y3Vyc29yX3dpZHRoOwotCiAJaW50ZWxfY3J0Yy0+ Y3Vyc29yX2FkZHIgPSBhZGRyOwogCWludGVsX2NydGMtPmN1cnNvcl9ibyA9IG9iajsKIAlpbnRl bF9jcnRjLT5jdXJzb3Jfd2lkdGggPSB3aWR0aDsKQEAgLTEyMDc0LDYgKzEyMDgzLDcgQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfZnVuY3MgaW50ZWxfY3Vyc29yX3BsYW5lX2Z1bmNz ID0gewogCS51cGRhdGVfcGxhbmUgPSBpbnRlbF9jdXJzb3JfcGxhbmVfdXBkYXRlLAogCS5kaXNh YmxlX3BsYW5lID0gaW50ZWxfY3Vyc29yX3BsYW5lX2Rpc2FibGUsCiAJLmRlc3Ryb3kgPSBpbnRl bF9wbGFuZV9kZXN0cm95LAorCS5zZXRfcHJvcGVydHkgPSBpbnRlbF9wbGFuZV9zZXRfcHJvcGVy dHksCiB9OwogCiBzdGF0aWMgc3RydWN0IGRybV9wbGFuZSAqaW50ZWxfY3Vyc29yX3BsYW5lX2Ny ZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LApAQCAtMTIwODksMTIgKzEyMDk5LDI2IEBAIHN0 YXRpYyBzdHJ1Y3QgZHJtX3BsYW5lICppbnRlbF9jdXJzb3JfcGxhbmVfY3JlYXRlKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsCiAJY3Vyc29yLT5tYXhfZG93bnNjYWxlID0gMTsKIAljdXJzb3ItPnBp cGUgPSBwaXBlOwogCWN1cnNvci0+cGxhbmUgPSBwaXBlOworCWN1cnNvci0+cm90YXRpb24gPSBC SVQoRFJNX1JPVEFURV8wKTsKIAogCWRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChkZXYsICZjdXJz b3ItPmJhc2UsIDAsCiAJCQkJICZpbnRlbF9jdXJzb3JfcGxhbmVfZnVuY3MsCiAJCQkJIGludGVs X2N1cnNvcl9mb3JtYXRzLAogCQkJCSBBUlJBWV9TSVpFKGludGVsX2N1cnNvcl9mb3JtYXRzKSwK IAkJCQkgRFJNX1BMQU5FX1RZUEVfQ1VSU09SKTsKKworCWlmIChJTlRFTF9JTkZPKGRldiktPmdl biA+PSA0KSB7CisJCWlmICghZGV2LT5tb2RlX2NvbmZpZy5yb3RhdGlvbl9wcm9wZXJ0eSkKKwkJ CWRldi0+bW9kZV9jb25maWcucm90YXRpb25fcHJvcGVydHkgPQorCQkJCWRybV9tb2RlX2NyZWF0 ZV9yb3RhdGlvbl9wcm9wZXJ0eShkZXYsCisJCQkJCQkJQklUKERSTV9ST1RBVEVfMCkgfAorCQkJ CQkJCUJJVChEUk1fUk9UQVRFXzE4MCkpOworCQlpZiAoZGV2LT5tb2RlX2NvbmZpZy5yb3RhdGlv bl9wcm9wZXJ0eSkKKwkJCWRybV9vYmplY3RfYXR0YWNoX3Byb3BlcnR5KCZjdXJzb3ItPmJhc2Uu YmFzZSwKKwkJCQlkZXYtPm1vZGVfY29uZmlnLnJvdGF0aW9uX3Byb3BlcnR5LAorCQkJCWN1cnNv ci0+cm90YXRpb24pOworCX0KKwogCXJldHVybiAmY3Vyc29yLT5iYXNlOwogfQogCi0tIAoxLjcu MTAuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK