From mboxrd@z Thu Jan 1 00:00:00 1970 From: ville.syrjala@linux.intel.com Subject: [PATCH v2 07/15] drm/omap: Use per-plane rotation property Date: Mon, 26 Sep 2016 19:30:52 +0300 Message-ID: <1474907460-10717-8-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, Tomi Valkeinen List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClRo ZSBnbG9iYWwgbW9kZV9jb25maWcucm90YXRpb25fcHJvcGVydHkgaXMgZ29pbmcgYXdheSwgc3dp dGNoIG92ZXIgdG8KcGVyLXBsYW5lIHJvdGF0aW9uX3Byb3BlcnR5LgoKTm90IHN1cmUgSSBnb3Qg dGhlIGFubm95aW5nIGNydGMgcm90YXRpb25fcHJvcGVydHkgaGFuZGxpbmcgcmlnaHQuCk1pZ2h0 IHdvcmssIG9yIG1pZ3RoIG5vdC4KCnYyOiBEcm9wIHRoZSBCSVQoKQogICAgRG9uJ3QgY3JlYXRl IHJvdGF0aW9uIHByb3BlcnR5IHR3aWNlIGZvciBlYWNoIHByaW1hcnkgcGxhbmUKCkNjOiBUb21p IFZhbGtlaW5lbiA8dG9taS52YWxrZWluZW5AdGkuY29tPgpDYzogUm9iIENsYXJrIDxyb2JkY2xh cmtAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmph bGFAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfY3J0 Yy5jICB8IDEzICsrKystLS0tLQogZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9kcnYuYyAg IHwgNTIgKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9k cm0vb21hcGRybS9vbWFwX3BsYW5lLmMgfCAxMyArKysrKystLS0KIDMgZmlsZXMgY2hhbmdlZCwg NDAgaW5zZXJ0aW9ucygrKSwgMzggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL29tYXBkcm0vb21hcF9jcnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFw X2NydGMuYwppbmRleCAxODBmNjQ0ZTg2MWUuLjE2YzY5MWRiYzM3MiAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9jcnRjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL29t YXBkcm0vb21hcF9jcnRjLmMKQEAgLTQzOCwxMyArNDM4LDE0IEBAIHN0YXRpYyB2b2lkIG9tYXBf Y3J0Y19hdG9taWNfZmx1c2goc3RydWN0IGRybV9jcnRjICpjcnRjLAogCX0KIH0KIAotc3RhdGlj IGJvb2wgb21hcF9jcnRjX2lzX3BsYW5lX3Byb3Aoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKK3N0 YXRpYyBib29sIG9tYXBfY3J0Y19pc19wbGFuZV9wcm9wKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywK IAlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wZXJ0eSkKIHsKKwlzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2ID0gY3J0Yy0+ZGV2OwogCXN0cnVjdCBvbWFwX2RybV9wcml2YXRlICpwcml2ID0gZGV2LT5k ZXZfcHJpdmF0ZTsKIAogCXJldHVybiBwcm9wZXJ0eSA9PSBwcml2LT56b3JkZXJfcHJvcCB8fAot CQlwcm9wZXJ0eSA9PSBkZXYtPm1vZGVfY29uZmlnLnJvdGF0aW9uX3Byb3BlcnR5OworCQlwcm9w ZXJ0eSA9PSBjcnRjLT5wcmltYXJ5LT5yb3RhdGlvbl9wcm9wZXJ0eTsKIH0KIAogc3RhdGljIGlu dCBvbWFwX2NydGNfYXRvbWljX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCkBA IC00NTIsOSArNDUzLDcgQEAgc3RhdGljIGludCBvbWFwX2NydGNfYXRvbWljX3NldF9wcm9wZXJ0 eShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJCQkJCSBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9w ZXJ0eSwKIAkJCQkJIHVpbnQ2NF90IHZhbCkKIHsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0g Y3J0Yy0+ZGV2OwotCi0JaWYgKG9tYXBfY3J0Y19pc19wbGFuZV9wcm9wKGRldiwgcHJvcGVydHkp KSB7CisJaWYgKG9tYXBfY3J0Y19pc19wbGFuZV9wcm9wKGNydGMsIHByb3BlcnR5KSkgewogCQlz dHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZTsKIAkJc3RydWN0IGRybV9wbGFuZSAq cGxhbmUgPSBjcnRjLT5wcmltYXJ5OwogCkBAIC00NzksOSArNDc4LDcgQEAgc3RhdGljIGludCBv bWFwX2NydGNfYXRvbWljX2dldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJCQkJ CSBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wZXJ0eSwKIAkJCQkJIHVpbnQ2NF90ICp2YWwpCiB7 Ci0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKLQotCWlmIChvbWFwX2NydGNf aXNfcGxhbmVfcHJvcChkZXYsIHByb3BlcnR5KSkgeworCWlmIChvbWFwX2NydGNfaXNfcGxhbmVf cHJvcChjcnRjLCBwcm9wZXJ0eSkpIHsKIAkJLyoKIAkJICogRGVsZWdhdGUgcHJvcGVydHkgZ2V0 IHRvIHRoZSBwcmltYXJ5IHBsYW5lLiBUaGUKIAkJICogZHJtX2F0b21pY19wbGFuZV9nZXRfcHJv cGVydHkoKSBmdW5jdGlvbiBpc24ndCBleHBvcnRlZCwgYnV0CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vb21hcGRybS9vbWFwX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21h cF9kcnYuYwppbmRleCBhZTdmOWMwOTlhYTAuLjA1Y2QyY2Y2N2VhMyAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vb21h cGRybS9vbWFwX2Rydi5jCkBAIC0yOTIsMTYgKzI5Miw2IEBAIHN0YXRpYyBpbnQgb21hcF9tb2Rl c2V0X2luaXRfcHJvcGVydGllcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogewogCXN0cnVjdCBv bWFwX2RybV9wcml2YXRlICpwcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAotCWlmIChwcml2LT5o YXNfZG1tKSB7Ci0JCWRldi0+bW9kZV9jb25maWcucm90YXRpb25fcHJvcGVydHkgPQotCQkJZHJt X21vZGVfY3JlYXRlX3JvdGF0aW9uX3Byb3BlcnR5KGRldiwKLQkJCQlEUk1fUk9UQVRFXzAgfCBE Uk1fUk9UQVRFXzkwIHwKLQkJCQlEUk1fUk9UQVRFXzE4MCB8IERSTV9ST1RBVEVfMjcwIHwKLQkJ CQlEUk1fUkVGTEVDVF9YIHwgRFJNX1JFRkxFQ1RfWSk7Ci0JCWlmICghZGV2LT5tb2RlX2NvbmZp Zy5yb3RhdGlvbl9wcm9wZXJ0eSkKLQkJCXJldHVybiAtRU5PTUVNOwotCX0KLQogCXByaXYtPnpv cmRlcl9wcm9wID0gZHJtX3Byb3BlcnR5X2NyZWF0ZV9yYW5nZShkZXYsIDAsICJ6b3JkZXIiLCAw LCAzKTsKIAlpZiAoIXByaXYtPnpvcmRlcl9wcm9wKQogCQlyZXR1cm4gLUVOT01FTTsKQEAgLTc1 MiwyNCArNzQyLDMyIEBAIHN0YXRpYyB2b2lkIGRldl9sYXN0Y2xvc2Uoc3RydWN0IGRybV9kZXZp Y2UgKmRldikKIAogCURCRygibGFzdGNsb3NlOiBkZXY9JXAiLCBkZXYpOwogCi0JaWYgKGRldi0+ bW9kZV9jb25maWcucm90YXRpb25fcHJvcGVydHkpIHsKLQkJLyogbmVlZCB0byByZXN0b3JlIGRl ZmF1bHQgcm90YXRpb24gc3RhdGUuLiBub3Qgc3VyZQotCQkgKiBpZiB0aGVyZSBpcyBhIGNsZWFu ZXIgd2F5IHRvIHJlc3RvcmUgcHJvcGVydGllcyB0bwotCQkgKiBkZWZhdWx0IHN0YXRlPyAgTWF5 YmUgYSBmbGFnIHRoYXQgcHJvcGVydGllcyBzaG91bGQKLQkJICogYXV0b21hdGljYWxseSBiZSBy ZXN0b3JlZCB0byBkZWZhdWx0IHN0YXRlIG9uCi0JCSAqIGxhc3RjbG9zZT8KLQkJICovCi0JCWZv ciAoaSA9IDA7IGkgPCBwcml2LT5udW1fY3J0Y3M7IGkrKykgewotCQkJZHJtX29iamVjdF9wcm9w ZXJ0eV9zZXRfdmFsdWUoJnByaXYtPmNydGNzW2ldLT5iYXNlLAotCQkJCQlkZXYtPm1vZGVfY29u ZmlnLnJvdGF0aW9uX3Byb3BlcnR5LAotCQkJCQlEUk1fUk9UQVRFXzApOwotCQl9CisJLyogbmVl ZCB0byByZXN0b3JlIGRlZmF1bHQgcm90YXRpb24gc3RhdGUuLiBub3Qgc3VyZQorCSAqIGlmIHRo ZXJlIGlzIGEgY2xlYW5lciB3YXkgdG8gcmVzdG9yZSBwcm9wZXJ0aWVzIHRvCisJICogZGVmYXVs dCBzdGF0ZT8gIE1heWJlIGEgZmxhZyB0aGF0IHByb3BlcnRpZXMgc2hvdWxkCisJICogYXV0b21h dGljYWxseSBiZSByZXN0b3JlZCB0byBkZWZhdWx0IHN0YXRlIG9uCisJICogbGFzdGNsb3NlPwor CSAqLworCWZvciAoaSA9IDA7IGkgPCBwcml2LT5udW1fY3J0Y3M7IGkrKykgeworCQlzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMgPSBwcml2LT5jcnRjc1tpXTsKIAotCQlmb3IgKGkgPSAwOyBpIDwgcHJp di0+bnVtX3BsYW5lczsgaSsrKSB7Ci0JCQlkcm1fb2JqZWN0X3Byb3BlcnR5X3NldF92YWx1ZSgm cHJpdi0+cGxhbmVzW2ldLT5iYXNlLAotCQkJCQlkZXYtPm1vZGVfY29uZmlnLnJvdGF0aW9uX3By b3BlcnR5LAotCQkJCQlEUk1fUk9UQVRFXzApOwotCQl9CisJCWlmICghY3J0Yy0+cHJpbWFyeS0+ cm90YXRpb25fcHJvcGVydHkpCisJCQljb250aW51ZTsKKworCQlkcm1fb2JqZWN0X3Byb3BlcnR5 X3NldF92YWx1ZSgmY3J0Yy0+YmFzZSwKKwkJCQkJICAgICAgY3J0Yy0+cHJpbWFyeS0+cm90YXRp b25fcHJvcGVydHksCisJCQkJCSAgICAgIERSTV9ST1RBVEVfMCk7CisJfQorCisJZm9yIChpID0g MDsgaSA8IHByaXYtPm51bV9wbGFuZXM7IGkrKykgeworCQlzdHJ1Y3QgZHJtX3BsYW5lICpwbGFu ZSA9IHByaXYtPnBsYW5lc1tpXTsKKworCQlpZiAoIXBsYW5lLT5yb3RhdGlvbl9wcm9wZXJ0eSkK KwkJCWNvbnRpbnVlOworCisJCWRybV9vYmplY3RfcHJvcGVydHlfc2V0X3ZhbHVlKCZwbGFuZS0+ YmFzZSwKKwkJCQkJICAgICAgcGxhbmUtPnJvdGF0aW9uX3Byb3BlcnR5LAorCQkJCQkgICAgICBE Uk1fUk9UQVRFXzApOwogCX0KIAogCWlmIChwcml2LT5mYmRldikgewpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9wbGFuZS5jIGIvZHJpdmVycy9ncHUvZHJtL29tYXBk cm0vb21hcF9wbGFuZS5jCmluZGV4IDZkZGFhNWVhNGI2Yi4uYjI3MmY4MTA5ODllIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX3BsYW5lLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL29tYXBkcm0vb21hcF9wbGFuZS5jCkBAIC0yMTEsOSArMjExLDE2IEBAIHZvaWQgb21h cF9wbGFuZV9pbnN0YWxsX3Byb3BlcnRpZXMoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJc3Ry dWN0IG9tYXBfZHJtX3ByaXZhdGUgKnByaXYgPSBkZXYtPmRldl9wcml2YXRlOwogCiAJaWYgKHBy aXYtPmhhc19kbW0pIHsKLQkJc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcCA9IGRldi0+bW9kZV9j b25maWcucm90YXRpb25fcHJvcGVydHk7Ci0KLQkJZHJtX29iamVjdF9hdHRhY2hfcHJvcGVydHko b2JqLCBwcm9wLCBEUk1fUk9UQVRFXzApOworCQlpZiAoIXBsYW5lLT5yb3RhdGlvbl9wcm9wZXJ0 eSkKKwkJCWRybV9wbGFuZV9jcmVhdGVfcm90YXRpb25fcHJvcGVydHkocGxhbmUsCisJCQkJCQkJ ICAgRFJNX1JPVEFURV8wLAorCQkJCQkJCSAgIERSTV9ST1RBVEVfMCB8IERSTV9ST1RBVEVfOTAg fAorCQkJCQkJCSAgIERSTV9ST1RBVEVfMTgwIHwgRFJNX1JPVEFURV8yNzAgfAorCQkJCQkJCSAg IERSTV9SRUZMRUNUX1ggfCBEUk1fUkVGTEVDVF9ZKTsKKworCQlpZiAocGxhbmUtPnJvdGF0aW9u X3Byb3BlcnR5ICYmIG9iaiAhPSAmcGxhbmUtPmJhc2UpCisJCQlkcm1fb2JqZWN0X2F0dGFjaF9w cm9wZXJ0eShvYmosIHBsYW5lLT5yb3RhdGlvbl9wcm9wZXJ0eSwKKwkJCQkJCSAgIERSTV9ST1RB VEVfMCk7CiAJfQogCiAJZHJtX29iamVjdF9hdHRhY2hfcHJvcGVydHkob2JqLCBwcml2LT56b3Jk ZXJfcHJvcCwgMCk7Ci0tIAoyLjcuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaW50ZWwtZ2Z4Cg==