From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thierry Reding Subject: [PATCH 3/7] drm/tegra: dc: Support rotation property Date: Thu, 17 May 2018 17:41:28 +0200 Message-ID: <20180517154132.10058-4-thierry.reding@gmail.com> References: <20180517154132.10058-1-thierry.reding@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180517154132.10058-1-thierry.reding@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Thierry Reding Cc: linux-tegra@vger.kernel.org, Dmitry Osipenko , dri-devel@lists.freedesktop.org, Mikko Perttunen List-Id: linux-tegra@vger.kernel.org RnJvbTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KCkN1cnJlbnRseSBvbmx5 IHRoZSBEUk1fTU9ERV9SRUZMRUNUX1kgcm90YXRpb24gaXMgc3VwcG9ydGVkLiBUaGUgZHJpdmVy CmFscmVhZHkgc3VwcG9ydHMgcmVmbGVjdGlvbiBvbiB0aGUgWSBheGlzIHZpYSBhIGN1c3RvbSBm bGFnIHdoaWNoIGlzIG5vdAp2ZXJ5IHVzZWZ1bCBiZWNhdXNlIGl0IHJlcXVpcmVzIGN1c3RvbSB1 c2Vyc3BhY2UuIFJlcGxhY2UgdGhhdCBmbGFnIGJ5IGEKc3RhbmRhcmQgcm90YXRpb24gcHJvcGVy dHkgdGhhdCBzdXBwb3J0cyAwIGRlZ3JlZSByb3RhdGlvbiBhbmQgWSBheGlzCnJlZmxlY3Rpb24u CgpTaWduZWQtb2ZmLWJ5OiBUaGllcnJ5IFJlZGluZyA8dHJlZGluZ0BudmlkaWEuY29tPgotLS0K IGRyaXZlcnMvZ3B1L2RybS90ZWdyYS9kYy5jICAgIHwgMTggKysrKysrKysrKysrKysrKystCiBk cml2ZXJzL2dwdS9kcm0vdGVncmEvZHJtLmggICB8ICAxIC0KIGRyaXZlcnMvZ3B1L2RybS90ZWdy YS9mYi5jICAgIHwgMTAgLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL3RlZ3JhL3BsYW5lLmMg fCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vdGVncmEvcGxhbmUuaCB8ICAyICsrCiA1IGZpbGVzIGNo YW5nZWQsIDIwIGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS90ZWdyYS9kYy5jIGIvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RjLmMKaW5k ZXggOWY4M2E2NWI1ZWE5Li5lMmU1NzQyMDJjYTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS90ZWdyYS9kYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9kYy5jCkBAIC00NTEsNiAr NDUxLDcgQEAgc3RhdGljIGludCB0ZWdyYV9wbGFuZV9hdG9taWNfY2hlY2soc3RydWN0IGRybV9w bGFuZSAqcGxhbmUsCiAJCQkJICAgIHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlKQogewog CXN0cnVjdCB0ZWdyYV9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUgPSB0b190ZWdyYV9wbGFuZV9z dGF0ZShzdGF0ZSk7CisJdW5zaWduZWQgaW50IHJvdGF0aW9uID0gRFJNX01PREVfUk9UQVRFXzAg fCBEUk1fTU9ERV9SRUZMRUNUX1k7CiAJc3RydWN0IHRlZ3JhX2JvX3RpbGluZyAqdGlsaW5nID0g JnBsYW5lX3N0YXRlLT50aWxpbmc7CiAJc3RydWN0IHRlZ3JhX3BsYW5lICp0ZWdyYSA9IHRvX3Rl Z3JhX3BsYW5lKHBsYW5lKTsKIAlzdHJ1Y3QgdGVncmFfZGMgKmRjID0gdG9fdGVncmFfZGMoc3Rh dGUtPmNydGMpOwpAQCAtNDk4LDYgKzQ5OSwxMyBAQCBzdGF0aWMgaW50IHRlZ3JhX3BsYW5lX2F0 b21pY19jaGVjayhzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAkJcmV0dXJuIC1FSU5WQUw7CiAJ fQogCisJcm90YXRpb24gPSBkcm1fcm90YXRpb25fc2ltcGxpZnkoc3RhdGUtPnJvdGF0aW9uLCBy b3RhdGlvbik7CisKKwlpZiAocm90YXRpb24gJiBEUk1fTU9ERV9SRUZMRUNUX1kpCisJCXBsYW5l X3N0YXRlLT5ib3R0b21fdXAgPSB0cnVlOworCWVsc2UKKwkJcGxhbmVfc3RhdGUtPmJvdHRvbV91 cCA9IGZhbHNlOworCiAJLyoKIAkgKiBUZWdyYSBkb2Vzbid0IHN1cHBvcnQgZGlmZmVyZW50IHN0 cmlkZXMgZm9yIFUgYW5kIFYgcGxhbmVzIHNvIHdlCiAJICogZXJyb3Igb3V0IGlmIHRoZSB1c2Vy IHRyaWVzIHRvIGRpc3BsYXkgYSBmcmFtZWJ1ZmZlciB3aXRoIHN1Y2ggYQpAQCAtNTU4LDcgKzU2 Niw3IEBAIHN0YXRpYyB2b2lkIHRlZ3JhX3BsYW5lX2F0b21pY191cGRhdGUoc3RydWN0IGRybV9w bGFuZSAqcGxhbmUsCiAJd2luZG93LmRzdC53ID0gZHJtX3JlY3Rfd2lkdGgoJnBsYW5lLT5zdGF0 ZS0+ZHN0KTsKIAl3aW5kb3cuZHN0LmggPSBkcm1fcmVjdF9oZWlnaHQoJnBsYW5lLT5zdGF0ZS0+ ZHN0KTsKIAl3aW5kb3cuYml0c19wZXJfcGl4ZWwgPSBmYi0+Zm9ybWF0LT5jcHBbMF0gKiA4Owot CXdpbmRvdy5ib3R0b21fdXAgPSB0ZWdyYV9mYl9pc19ib3R0b21fdXAoZmIpOworCXdpbmRvdy5i b3R0b21fdXAgPSBzdGF0ZS0+Ym90dG9tX3VwOwogCiAJLyogY29weSBmcm9tIHN0YXRlICovCiAJ d2luZG93Lnpwb3MgPSBwbGFuZS0+c3RhdGUtPm5vcm1hbGl6ZWRfenBvczsKQEAgLTY0Myw2ICs2 NTEsMTQgQEAgc3RhdGljIHN0cnVjdCBkcm1fcGxhbmUgKnRlZ3JhX3ByaW1hcnlfcGxhbmVfY3Jl YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sCiAJaWYgKGRjLT5zb2MtPnN1cHBvcnRzX2JsZW5k aW5nKQogCQlkcm1fcGxhbmVfY3JlYXRlX3pwb3NfcHJvcGVydHkoJnBsYW5lLT5iYXNlLCAwLCAw LCAyNTUpOwogCisJZXJyID0gZHJtX3BsYW5lX2NyZWF0ZV9yb3RhdGlvbl9wcm9wZXJ0eSgmcGxh bmUtPmJhc2UsCisJCQkJCQkgRFJNX01PREVfUk9UQVRFXzAsCisJCQkJCQkgRFJNX01PREVfUk9U QVRFXzAgfAorCQkJCQkJIERSTV9NT0RFX1JFRkxFQ1RfWSk7CisJaWYgKGVyciA8IDApCisJCWRl dl9lcnIoZGMtPmRldiwgImZhaWxlZCB0byBjcmVhdGUgcm90YXRpb24gcHJvcGVydHk6ICVkXG4i LAorCQkJZXJyKTsKKwogCXJldHVybiAmcGxhbmUtPmJhc2U7CiB9CiAKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS90ZWdyYS9kcm0uaCBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9kcm0uaApp bmRleCA0ZjQxYWFlYzg1MzAuLjg0OTMwZDEzZTI4ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL3RlZ3JhL2RybS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9kcm0uaApAQCAtMTc3 LDcgKzE3Nyw2IEBAIGludCBkcm1fZHBfYXV4X3RyYWluKHN0cnVjdCBkcm1fZHBfYXV4ICphdXgs IHN0cnVjdCBkcm1fZHBfbGluayAqbGluaywKIC8qIGZyb20gZmIuYyAqLwogc3RydWN0IHRlZ3Jh X2JvICp0ZWdyYV9mYl9nZXRfcGxhbmUoc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZnJhbWVidWZm ZXIsCiAJCQkJICAgIHVuc2lnbmVkIGludCBpbmRleCk7Ci1ib29sIHRlZ3JhX2ZiX2lzX2JvdHRv bV91cChzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmcmFtZWJ1ZmZlcik7CiBpbnQgdGVncmFfZmJf Z2V0X3RpbGluZyhzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmcmFtZWJ1ZmZlciwKIAkJCXN0cnVj dCB0ZWdyYV9ib190aWxpbmcgKnRpbGluZyk7CiBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICp0ZWdy YV9mYl9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRybSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS90ZWdyYS9mYi5jIGIvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2ZiLmMKaW5kZXggZTY5 NDM0OTA5YTQyLi4zNTgyN2M3Mjk0NjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS90ZWdy YS9mYi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9mYi5jCkBAIC0zOCwxNiArMzgsNiBA QCBzdHJ1Y3QgdGVncmFfYm8gKnRlZ3JhX2ZiX2dldF9wbGFuZShzdHJ1Y3QgZHJtX2ZyYW1lYnVm ZmVyICpmcmFtZWJ1ZmZlciwKIAlyZXR1cm4gZmItPnBsYW5lc1tpbmRleF07CiB9CiAKLWJvb2wg dGVncmFfZmJfaXNfYm90dG9tX3VwKHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZyYW1lYnVmZmVy KQotewotCXN0cnVjdCB0ZWdyYV9mYiAqZmIgPSB0b190ZWdyYV9mYihmcmFtZWJ1ZmZlcik7Ci0K LQlpZiAoZmItPnBsYW5lc1swXS0+ZmxhZ3MgJiBURUdSQV9CT19CT1RUT01fVVApCi0JCXJldHVy biB0cnVlOwotCi0JcmV0dXJuIGZhbHNlOwotfQotCiBpbnQgdGVncmFfZmJfZ2V0X3RpbGluZyhz dHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmcmFtZWJ1ZmZlciwKIAkJCXN0cnVjdCB0ZWdyYV9ib190 aWxpbmcgKnRpbGluZykKIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9wbGFu ZS5jIGIvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL3BsYW5lLmMKaW5kZXggMTc2ZWY0NmM2MTVjLi4y NzE3MjliMmM2NTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9wbGFuZS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9wbGFuZS5jCkBAIC01Myw2ICs1Myw3IEBAIHRlZ3Jh X3BsYW5lX2F0b21pY19kdXBsaWNhdGVfc3RhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpCiAJ Y29weS0+dGlsaW5nID0gc3RhdGUtPnRpbGluZzsKIAljb3B5LT5mb3JtYXQgPSBzdGF0ZS0+Zm9y bWF0OwogCWNvcHktPnN3YXAgPSBzdGF0ZS0+c3dhcDsKKwljb3B5LT5ib3R0b21fdXAgPSBzdGF0 ZS0+Ym90dG9tX3VwOwogCWNvcHktPm9wYXF1ZSA9IHN0YXRlLT5vcGFxdWU7CiAKIAlmb3IgKGkg PSAwOyBpIDwgMzsgaSsrKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL3BsYW5l LmggYi9kcml2ZXJzL2dwdS9kcm0vdGVncmEvcGxhbmUuaAppbmRleCA2OTM4NzE5ZTdlNWQuLjg2 N2I5YzMyYjFiNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL3BsYW5lLmgKKysr IGIvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL3BsYW5lLmgKQEAgLTQxLDYgKzQxLDggQEAgc3RydWN0 IHRlZ3JhX3BsYW5lX3N0YXRlIHsKIAl1MzIgZm9ybWF0OwogCXUzMiBzd2FwOwogCisJYm9vbCBi b3R0b21fdXA7CisKIAkvKiB1c2VkIGZvciBsZWdhY3kgYmxlbmRpbmcgc3VwcG9ydCBvbmx5ICov CiAJYm9vbCBvcGFxdWU7CiAJYm9vbCBkZXBlbmRlbnRbM107Ci0tIAoyLjE3LjAKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5n IGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=