From mboxrd@z Thu Jan 1 00:00:00 1970 From: ville.syrjala@linux.intel.com Subject: [PATCH v3 03/15] drm: Add support for optional per-plane rotation property Date: Mon, 26 Sep 2016 19:30:48 +0300 Message-ID: <1474907460-10717-4-git-send-email-ville.syrjala@linux.intel.com> References: <1474907460-10717-1-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1474907460-10717-1-git-send-email-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: dri-devel@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCk5v dCBhbGwgcGxhbmVzIG9uIHRoZSBzeXN0ZW0gbWF5IHN1cHBvcnQgdGhlIHNhbWUgcm90YXRpb25z L3JlZmxlY3Rpb25zLApzbyBtYWtlIGl0IHBvc3NpYmxlIHRvIGNyZWF0ZSBhIHNlcGFyYXRlIHBy b3BlcnR5IGZvciBlYWNoIHBsYW5lLgpUaGlzIHdheSB1c2Vyc3BhY2UgZ2V0cyB0b2xkIGV4YWN0 bHkgd2hpY2ggcm90YXRpb25zL3JlZmxlY3Rpb25zIGFyZQpwb3NzaWJsZSBmb3IgZWFjaCBwbGFu ZS4KCnYyOiBBZGQgZHJtX3BsYW5lX2NyZWF0ZV9yb3RhdGlvbl9wcm9wZXJ0eSgpIGhlbHBlcgp2 MzogRHJvcCB0aGUgQklUKCksIF9fYnVpbHRpbl9mZnMoeCkgLSAxLAogICAgTW9hciBXQVJOcyBm b3IgYmFkIHBhcmFtZXRlcnMKICAgIERlYWwgd2l0aCBzdXBlcmZsdW91cyBjb2RlIHNodWZmbGlu ZwoKU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4Lmlu dGVsLmNvbT4KUmV2aWV3ZWQtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNv LnVrPiAodjEpClJldmlld2VkLWJ5OiBKb29uYXMgTGFodGluZW4gPGpvb25hcy5sYWh0aW5lbkBs aW51eC5pbnRlbC5jb20+ICh2MikKLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jICAg IHwgIDYgKysrKy0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2JsZW5kLmMgICAgIHwgMzUgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVs cGVyLmMgfCAgNiArKysrKy0KIGluY2x1ZGUvZHJtL2RybV9ibGVuZC5oICAgICAgICAgfCAgMyAr KysKIGluY2x1ZGUvZHJtL2RybV9wbGFuZS5oICAgICAgICAgfCAgMiArKwogNSBmaWxlcyBjaGFu Z2VkLCA0OSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9kcm1fYXRvbWljLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCmlu ZGV4IDU4YjkwYzI0NzE1My4uYTc0N2JiMWQ0ODZmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vZHJtX2F0b21pYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKQEAgLTcw OSw3ICs3MDksOCBAQCBpbnQgZHJtX2F0b21pY19wbGFuZV9zZXRfcHJvcGVydHkoc3RydWN0IGRy bV9wbGFuZSAqcGxhbmUsCiAJCXN0YXRlLT5zcmNfdyA9IHZhbDsKIAl9IGVsc2UgaWYgKHByb3Bl cnR5ID09IGNvbmZpZy0+cHJvcF9zcmNfaCkgewogCQlzdGF0ZS0+c3JjX2ggPSB2YWw7Ci0JfSBl bHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWctPnJvdGF0aW9uX3Byb3BlcnR5KSB7CisJfSBlbHNl IGlmIChwcm9wZXJ0eSA9PSBjb25maWctPnJvdGF0aW9uX3Byb3BlcnR5IHx8CisJCSAgIHByb3Bl cnR5ID09IHBsYW5lLT5yb3RhdGlvbl9wcm9wZXJ0eSkgewogCQlpZiAoIWlzX3Bvd2VyX29mXzIo dmFsICYgRFJNX1JPVEFURV9NQVNLKSkKIAkJCXJldHVybiAtRUlOVkFMOwogCQlzdGF0ZS0+cm90 YXRpb24gPSB2YWw7CkBAIC03NjksNyArNzcwLDggQEAgZHJtX2F0b21pY19wbGFuZV9nZXRfcHJv cGVydHkoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJCSp2YWwgPSBzdGF0ZS0+c3JjX3c7CiAJ fSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWctPnByb3Bfc3JjX2gpIHsKIAkJKnZhbCA9IHN0 YXRlLT5zcmNfaDsKLQl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+cm90YXRpb25fcHJv cGVydHkpIHsKKwl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+cm90YXRpb25fcHJvcGVy dHkgfHwKKwkJICAgcHJvcGVydHkgPT0gcGxhbmUtPnJvdGF0aW9uX3Byb3BlcnR5KSB7CiAJCSp2 YWwgPSBzdGF0ZS0+cm90YXRpb247CiAJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBwbGFuZS0+enBv c19wcm9wZXJ0eSkgewogCQkqdmFsID0gc3RhdGUtPnpwb3M7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vZHJtX2JsZW5kLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2JsZW5kLmMKaW5kZXgg ODUxNzJhOTc3YmYzLi5lNTJhZWNlMzA5MDAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9k cm1fYmxlbmQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2JsZW5kLmMKQEAgLTE2Miw2ICsx NjIsNDEgQEAgc3RydWN0IGRybV9wcm9wZXJ0eSAqZHJtX21vZGVfY3JlYXRlX3JvdGF0aW9uX3By b3BlcnR5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiB9CiBFWFBPUlRfU1lNQk9MKGRybV9tb2Rl X2NyZWF0ZV9yb3RhdGlvbl9wcm9wZXJ0eSk7CiAKK2ludCBkcm1fcGxhbmVfY3JlYXRlX3JvdGF0 aW9uX3Byb3BlcnR5KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAorCQkJCSAgICAgICB1bnNpZ25l ZCBpbnQgcm90YXRpb24sCisJCQkJICAgICAgIHVuc2lnbmVkIGludCBzdXBwb3J0ZWRfcm90YXRp b25zKQoreworCXN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX3Byb3BfZW51bV9saXN0IHByb3BzW10g PSB7CisJCXsgX19idWlsdGluX2ZmcyhEUk1fUk9UQVRFXzApIC0gMSwgICAicm90YXRlLTAiIH0s CisJCXsgX19idWlsdGluX2ZmcyhEUk1fUk9UQVRFXzkwKSAtIDEsICAicm90YXRlLTkwIiB9LAor CQl7IF9fYnVpbHRpbl9mZnMoRFJNX1JPVEFURV8xODApIC0gMSwgInJvdGF0ZS0xODAiIH0sCisJ CXsgX19idWlsdGluX2ZmcyhEUk1fUk9UQVRFXzI3MCkgLSAxLCAicm90YXRlLTI3MCIgfSwKKwkJ eyBfX2J1aWx0aW5fZmZzKERSTV9SRUZMRUNUX1gpIC0gMSwgICJyZWZsZWN0LXgiIH0sCisJCXsg X19idWlsdGluX2ZmcyhEUk1fUkVGTEVDVF9ZKSAtIDEsICAicmVmbGVjdC15IiB9LAorCX07CisJ c3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcDsKKworCVdBUk5fT04oKHN1cHBvcnRlZF9yb3RhdGlv bnMgJiBEUk1fUk9UQVRFX01BU0spID09IDApOworCVdBUk5fT04oIWlzX3Bvd2VyX29mXzIocm90 YXRpb24gJiBEUk1fUk9UQVRFX01BU0spKTsKKwlXQVJOX09OKHJvdGF0aW9uICYgfnN1cHBvcnRl ZF9yb3RhdGlvbnMpOworCisJcHJvcCA9IGRybV9wcm9wZXJ0eV9jcmVhdGVfYml0bWFzayhwbGFu ZS0+ZGV2LCAwLCAicm90YXRpb24iLAorCQkJCQkgICBwcm9wcywgQVJSQVlfU0laRShwcm9wcyks CisJCQkJCSAgIHN1cHBvcnRlZF9yb3RhdGlvbnMpOworCWlmICghcHJvcCkKKwkJcmV0dXJuIC1F Tk9NRU07CisKKwlkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmcGxhbmUtPmJhc2UsIHByb3As IHJvdGF0aW9uKTsKKworCWlmIChwbGFuZS0+c3RhdGUpCisJCXBsYW5lLT5zdGF0ZS0+cm90YXRp b24gPSByb3RhdGlvbjsKKworCXBsYW5lLT5yb3RhdGlvbl9wcm9wZXJ0eSA9IHByb3A7CisKKwly ZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1CT0woZHJtX3BsYW5lX2NyZWF0ZV9yb3RhdGlvbl9wcm9w ZXJ0eSk7CisKIC8qKgogICogZHJtX3JvdGF0aW9uX3NpbXBsaWZ5KCkgLSBUcnkgdG8gc2ltcGxp ZnkgdGhlIHJvdGF0aW9uCiAgKiBAcm90YXRpb246IFJvdGF0aW9uIHRvIGJlIHNpbXBsaWZpZWQK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMgYi9kcml2ZXJzL2dw dS9kcm0vZHJtX2ZiX2hlbHBlci5jCmluZGV4IDAzNDE0YmRlMWYxNS4uNTRjYTM2NzVhNzQ1IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9kcm1fZmJfaGVscGVyLmMKQEAgLTM5NCw3ICszOTQsMTEgQEAgc3RhdGljIGludCBy ZXN0b3JlX2ZiZGV2X21vZGUoc3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlcikKIAkJaWYg KHBsYW5lLT50eXBlICE9IERSTV9QTEFORV9UWVBFX1BSSU1BUlkpCiAJCQlkcm1fcGxhbmVfZm9y Y2VfZGlzYWJsZShwbGFuZSk7CiAKLQkJaWYgKGRldi0+bW9kZV9jb25maWcucm90YXRpb25fcHJv cGVydHkpIHsKKwkJaWYgKHBsYW5lLT5yb3RhdGlvbl9wcm9wZXJ0eSkgeworCQkJZHJtX21vZGVf cGxhbmVfc2V0X29ial9wcm9wKHBsYW5lLAorCQkJCQkJICAgIHBsYW5lLT5yb3RhdGlvbl9wcm9w ZXJ0eSwKKwkJCQkJCSAgICBEUk1fUk9UQVRFXzApOworCQl9IGVsc2UgaWYgKGRldi0+bW9kZV9j b25maWcucm90YXRpb25fcHJvcGVydHkpIHsKIAkJCWRybV9tb2RlX3BsYW5lX3NldF9vYmpfcHJv cChwbGFuZSwKIAkJCQkJCSAgICBkZXYtPm1vZGVfY29uZmlnLnJvdGF0aW9uX3Byb3BlcnR5LAog CQkJCQkJICAgIERSTV9ST1RBVEVfMCk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fYmxl bmQuaCBiL2luY2x1ZGUvZHJtL2RybV9ibGVuZC5oCmluZGV4IGJiNDkzNDEwMzk2Yy4uZmQzNTE5 MjRlMWM1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fYmxlbmQuaAorKysgYi9pbmNsdWRl L2RybS9kcm1fYmxlbmQuaApAQCAtNTQsNiArNTQsOSBAQCBzdGF0aWMgaW5saW5lIGJvb2wgZHJt X3JvdGF0aW9uXzkwX29yXzI3MCh1bnNpZ25lZCBpbnQgcm90YXRpb24pCiAKIHN0cnVjdCBkcm1f cHJvcGVydHkgKmRybV9tb2RlX2NyZWF0ZV9yb3RhdGlvbl9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAogCQkJCQkJICAgICAgIHVuc2lnbmVkIGludCBzdXBwb3J0ZWRfcm90YXRpb25z KTsKK2ludCBkcm1fcGxhbmVfY3JlYXRlX3JvdGF0aW9uX3Byb3BlcnR5KHN0cnVjdCBkcm1fcGxh bmUgKnBsYW5lLAorCQkJCSAgICAgICB1bnNpZ25lZCBpbnQgcm90YXRpb24sCisJCQkJICAgICAg IHVuc2lnbmVkIGludCBzdXBwb3J0ZWRfcm90YXRpb25zKTsKIHVuc2lnbmVkIGludCBkcm1fcm90 YXRpb25fc2ltcGxpZnkodW5zaWduZWQgaW50IHJvdGF0aW9uLAogCQkJCSAgIHVuc2lnbmVkIGlu dCBzdXBwb3J0ZWRfcm90YXRpb25zKTsKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX3Bs YW5lLmggYi9pbmNsdWRlL2RybS9kcm1fcGxhbmUuaAppbmRleCA0M2NmMTkzZTU0ZDYuLjAyZDE4 ODIwNThlNSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX3BsYW5lLmgKKysrIGIvaW5jbHVk ZS9kcm0vZHJtX3BsYW5lLmgKQEAgLTM4Niw2ICszODYsNyBAQCBlbnVtIGRybV9wbGFuZV90eXBl IHsKICAqIEB0eXBlOiB0eXBlIG9mIHBsYW5lIChvdmVybGF5LCBwcmltYXJ5LCBjdXJzb3IpCiAg KiBAc3RhdGU6IGN1cnJlbnQgYXRvbWljIHN0YXRlIGZvciB0aGlzIHBsYW5lCiAgKiBAenBvc19w cm9wZXJ0eTogenBvcyBwcm9wZXJ0eSBmb3IgdGhpcyBwbGFuZQorICogQHJvdGF0aW9uX3Byb3Bl cnR5OiByb3RhdGlvbiBwcm9wZXJ0eSBmb3IgdGhpcyBwbGFuZQogICogQGhlbHBlcl9wcml2YXRl OiBtaWQtbGF5ZXIgcHJpdmF0ZSBkYXRhCiAgKi8KIHN0cnVjdCBkcm1fcGxhbmUgewpAQCAtNDMy LDYgKzQzMyw3IEBAIHN0cnVjdCBkcm1fcGxhbmUgewogCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUg KnN0YXRlOwogCiAJc3RydWN0IGRybV9wcm9wZXJ0eSAqenBvc19wcm9wZXJ0eTsKKwlzdHJ1Y3Qg ZHJtX3Byb3BlcnR5ICpyb3RhdGlvbl9wcm9wZXJ0eTsKIH07CiAKICNkZWZpbmUgb2JqX3RvX3Bs YW5lKHgpIGNvbnRhaW5lcl9vZih4LCBzdHJ1Y3QgZHJtX3BsYW5lLCBiYXNlKQotLSAKMi43LjQK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=