From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: [PATCH] drm/omap: Rework the rotation-on-crtc hack Date: Mon, 31 Jul 2017 14:57:33 +0300 Message-ID: <31291963.BFqn2rOcCK@avalon> References: <20170725080122.20548-2-daniel.vetter@ffwll.ch> <20170731105419.6505-1-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from galahad.ideasonboard.com (galahad.ideasonboard.com [185.26.127.97]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3749989864 for ; Mon, 31 Jul 2017 11:57:23 +0000 (UTC) In-Reply-To: <20170731105419.6505-1-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter Cc: Daniel Vetter , Tomi Valkeinen , DRI Development List-Id: dri-devel@lists.freedesktop.org SGkgRGFuaWVsLAoKVGhhbmsgeW91IGZvciB0aGUgcGF0Y2guCgpPbiBNb25kYXkgMzEgSnVsIDIw MTcgMTI6NTQ6MTkgRGFuaWVsIFZldHRlciB3cm90ZToKPiBJIHdhbnQvbmVlZCB0byByZXdvcmsg dGhlIGNvcmUgcHJvcGVydHkgaGFuZGxpbmcsIGFuZCB0aGlzIGhhY2sgaXMKPiBnZXR0aW5nIGlu IHRoZSB3YXkuIEJ1dCBzaW5jZSBpdCdzIGEgbm9uLXN0YW5kYXJkIHByb3BldHkgb25seSB1c2Vk IGJ5CgpzL3Byb3BldHkvcHJvcGVydHkvCgo+IGxlZ2FjeSB1c2Vyc3BhY2Ugd2Uga25vdyB0aGF0 IHRoaXMgd2lsbCBvbmx5IGV2ZXJ5IGJlIGNhbGxlZCBmcm9tCj4gaW9jdGwgY29kZS4gQW5kIG5l dmVyIG9uIHNvbWUgb3RoZXIgZnJlZS1zdGFuZGluZyBzdGF0ZSBzdHJ1Y3QsIHdoZXJlCj4gdGhp cyBvbGQgaGFjayB3b3VsZG4ndCB3b3JrIGVpdGhlci4KPiAKPiB2MjogZG9uJ3QgZm9yZ2V0IHpv cmRlciBhbmQgZ2V0X3Byb3BlcnR5IQo+IAo+IHYzOiBTaGFkb3cgdGhlIGxlZ2FjeSBzdGF0ZSB0 byBhdm9pZCBsb2NraW5nIGlzc3VlcyBpbiBnZXRfcHJvcGVydHkKPiAoTWFhcnRlbikuCj4gCj4g Q2M6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+ Cj4gQ2M6IFRvbWkgVmFsa2VpbmVuIDx0b21pLnZhbGtlaW5lbkB0aS5jb20KPiBDYzogTGF1cmVu dCBQaW5jaGFydCA8bGF1cmVudC5waW5jaGFydEBpZGVhc29uYm9hcmQuY29tPgo+IFNpZ25lZC1v ZmYtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgo+IC0tLQo+ICBk cml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2NydGMuYyB8IDg0ICsrKysrKysrKysrKysrKysr Ky0tLS0tLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9kcnYuaCAg fCAgOSArKysrCj4gIDIgZmlsZXMgY2hhbmdlZCwgNTcgaW5zZXJ0aW9ucygrKSwgMzYgZGVsZXRp b25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfY3J0 Yy5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2NydGMuYyBpbmRleCAxNGU4YTc3 MzhiMDYuLmZjOGIyNTc0OGYxMAo+IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9vbWFw ZHJtL29tYXBfY3J0Yy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9jcnRj LmMKPiBAQCAtNDk4LDM5ICs0OTgsMzQgQEAgc3RhdGljIHZvaWQgb21hcF9jcnRjX2F0b21pY19m bHVzaChzdHJ1Y3QgZHJtX2NydGMKPiAqY3J0Yywgc3Bpbl91bmxvY2tfaXJxKCZjcnRjLT5kZXYt PmV2ZW50X2xvY2spOwo+ICB9Cj4gCj4gLXN0YXRpYyBib29sIG9tYXBfY3J0Y19pc19wbGFuZV9w cm9wKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAtCXN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3Bl cnR5KQo+IC17Cj4gLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2Owo+IC0Jc3Ry dWN0IG9tYXBfZHJtX3ByaXZhdGUgKnByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+IC0KPiAtCXJl dHVybiBwcm9wZXJ0eSA9PSBwcml2LT56b3JkZXJfcHJvcCB8fAo+IC0JCXByb3BlcnR5ID09IGNy dGMtPnByaW1hcnktPnJvdGF0aW9uX3Byb3BlcnR5Owo+IC19Cj4gLQo+ICBzdGF0aWMgaW50IG9t YXBfY3J0Y19hdG9taWNfc2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgCQkJ CQkgc3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0ZSwKPiAgCQkJCQkgc3RydWN0IGRybV9wcm9w ZXJ0eSAqcHJvcGVydHksCj4gIAkJCQkJIHVpbnQ2NF90IHZhbCkKPiAgewo+IC0JaWYgKG9tYXBf Y3J0Y19pc19wbGFuZV9wcm9wKGNydGMsIHByb3BlcnR5KSkgewo+IC0JCXN0cnVjdCBkcm1fcGxh bmVfc3RhdGUgKnBsYW5lX3N0YXRlOwo+IC0JCXN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lID0gY3J0 Yy0+cHJpbWFyeTsKPiAtCj4gLQkJLyoKPiAtCQkgKiBEZWxlZ2F0ZSBwcm9wZXJ0eSBzZXQgdG8g dGhlIHByaW1hcnkgcGxhbmUuIEdldCB0aGUgcGxhbmUKPiAtCQkgKiBzdGF0ZSBhbmQgc2V0IHRo ZSBwcm9wZXJ0eSBkaXJlY3RseS4KPiAtCQkgKi8KPiAtCj4gLQkJcGxhbmVfc3RhdGUgPSBkcm1f YXRvbWljX2dldF9wbGFuZV9zdGF0ZShzdGF0ZS0+c3RhdGUsIHBsYW5lKTsKPiAtCQlpZiAoSVNf RVJSKHBsYW5lX3N0YXRlKSkKPiAtCQkJcmV0dXJuIFBUUl9FUlIocGxhbmVfc3RhdGUpOwo+ICsJ c3RydWN0IG9tYXBfZHJtX3ByaXZhdGUgKnByaXYgPSBjcnRjLT5kZXYtPmRldl9wcml2YXRlOwo+ ICsJc3RydWN0IG9tYXBfY3J0Y19zdGF0ZSAqb21hcF9zdGF0ZSA9IHRvX29tYXBfY3J0Y19zdGF0 ZShzdGF0ZSk7Cj4gKwlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZTsKPiAKPiAt CQlyZXR1cm4gZHJtX2F0b21pY19wbGFuZV9zZXRfcHJvcGVydHkocGxhbmUsIHBsYW5lX3N0YXRl LAo+IC0JCQkJcHJvcGVydHksIHZhbCk7Cj4gKwkvKgo+ICsJICogRGVsZWdhdGUgcHJvcGVydHkg c2V0IHRvIHRoZSBwcmltYXJ5IHBsYW5lLiBHZXQgdGhlIHBsYW5lCj4gKwkgKiBzdGF0ZSBhbmQg c2V0IHRoZSBwcm9wZXJ0eSBkaXJlY3RseS4KCk5pdHBpY2tpbmcsIHlvdSBjYW4gcmVmb3JtYXQg dGhlIGNvbW1lbnQgdG8gZ28gdG93YXJkcyB0aGUgODAgY29sdW1ucyBsaW1pdC4KCj4gKwkgKi8K PiArCXBsYW5lX3N0YXRlID0gZHJtX2F0b21pY19nZXRfcGxhbmVfc3RhdGUoc3RhdGUtPnN0YXRl LCBjcnRjLT5wcmltYXJ5KTsKPiArCWlmIChJU19FUlIocGxhbmVfc3RhdGUpKQo+ICsJCXJldHVy biBQVFJfRVJSKHBsYW5lX3N0YXRlKTsKPiArCj4gKwlpZiAocHJvcGVydHkgPT0gY3J0Yy0+cHJp bWFyeS0+cm90YXRpb25fcHJvcGVydHkpIHsKPiArCQlwbGFuZV9zdGF0ZS0+cm90YXRpb24gPSB2 YWw7Cj4gKwkJb21hcF9zdGF0ZS0+cm90YXRpb24gPSB2YWw7Cj4gKwl9IGVsc2UgaWYgKHByb3Bl cnR5ID09IHByaXYtPnpvcmRlcl9wcm9wKSB7Cj4gKwkJcGxhbmVfc3RhdGUtPnpwb3MgPSB2YWw7 Cj4gKwkJb21hcF9zdGF0ZS0+enBvcyA9IHZhbDsKPiArCX0gZWxzZSB7Cj4gKwkJcmV0dXJuIC1F SU5WQUw7Cj4gIAl9Cj4gCj4gLQlyZXR1cm4gLUVJTlZBTDsKPiArCXJldHVybiAwOwo+ICB9Cj4g Cj4gIHN0YXRpYyBpbnQgb21hcF9jcnRjX2F0b21pY19nZXRfcHJvcGVydHkoc3RydWN0IGRybV9j cnRjICpjcnRjLAo+IEBAIC01MzgsMjAgKzUzMywzNyBAQCBzdGF0aWMgaW50IG9tYXBfY3J0Y19h dG9taWNfZ2V0X3Byb3BlcnR5KHN0cnVjdAo+IGRybV9jcnRjICpjcnRjLCBzdHJ1Y3QgZHJtX3By b3BlcnR5ICpwcm9wZXJ0eSwKPiAgCQkJCQkgdWludDY0X3QgKnZhbCkKPiAgewo+IC0JaWYgKG9t YXBfY3J0Y19pc19wbGFuZV9wcm9wKGNydGMsIHByb3BlcnR5KSkgewo+IC0JCS8qCj4gLQkJICog RGVsZWdhdGUgcHJvcGVydHkgZ2V0IHRvIHRoZSBwcmltYXJ5IHBsYW5lLiBUaGUKPiAtCQkgKiBk cm1fYXRvbWljX3BsYW5lX2dldF9wcm9wZXJ0eSgpIGZ1bmN0aW9uIGlzbid0IGV4cG9ydGVkLCAK YnV0Cj4gLQkJICogY2FuIGJlIGNhbGxlZCB0aHJvdWdoIGRybV9vYmplY3RfcHJvcGVydHlfZ2V0 X3ZhbHVlKCkgYXMgCnRoYXQKPiAtCQkgKiB3aWxsIGNhbGwgZHJtX2F0b21pY19nZXRfcHJvcGVy dHkoKSBmb3IgYXRvbWljIGRyaXZlcnMuCj4gLQkJICovCj4gLQkJcmV0dXJuIGRybV9vYmplY3Rf cHJvcGVydHlfZ2V0X3ZhbHVlKCZjcnRjLT5wcmltYXJ5LT5iYXNlLAo+IC0JCQkJcHJvcGVydHks IHZhbCk7Cj4gLQl9Cj4gKwlzdHJ1Y3Qgb21hcF9kcm1fcHJpdmF0ZSAqcHJpdiA9IGNydGMtPmRl di0+ZGV2X3ByaXZhdGU7Cj4gKwlzdHJ1Y3Qgb21hcF9jcnRjX3N0YXRlICpvbWFwX3N0YXRlID0g dG9fb21hcF9jcnRjX3N0YXRlKHN0YXRlKTsKPiArCj4gKwkvKgo+ICsJICogUmVtYXAgdG8gdGhl IHBsYW5lIHJvdGF0aW9uL3pvcmRlciBwcm9wZXJ0eS4gV2UgY2FuIHBlZWsgYXQgdGhlIApwbGFu ZQo+ICsJICogc3RhdGUgZGlyZWN0bHkgc2luY2UgaG9sZGluZyB0aGUgY3J0YyBsb2NrcyBnaXZl cyB5b3UgYSByZWFkLWxvY2sgCm9uCj4gKwkgKiB0aGUgcGxhbmUgc3RhdGUuCgpJc24ndCB0aGlz IGNvbW1lbnQgb3V0ZGF0ZWQgPwoKPiArCSAqLwo+ICsJaWYgKHByb3BlcnR5ID09IGNydGMtPnBy aW1hcnktPnJvdGF0aW9uX3Byb3BlcnR5KQo+ICsJCXJldHVybiBvbWFwX3N0YXRlLT5yb3RhdGlv bjsKPiArCWVsc2UgaWYgKHByb3BlcnR5ID09IHByaXYtPnpvcmRlcl9wcm9wKQo+ICsJCXJldHVy biBvbWFwX3N0YXRlLT56cG9zOwo+IAo+ICAJcmV0dXJuIC1FSU5WQUw7Cj4gIH0KPiAKPiArc3Rh dGljIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqCj4gK29tYXBfY3J0Y19kdXBsaWNhdGVfc3RhdGUo c3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICt7Cj4gKwlzdHJ1Y3Qgb21hcF9jcnRjX3N0YXRlICpz dGF0ZTsKPiArCj4gKwlpZiAoV0FSTl9PTighY3J0Yy0+c3RhdGUpKQo+ICsJCXJldHVybiBOVUxM Owo+ICsKPiArCXN0YXRlID0ga21hbGxvYyhzaXplb2YoKnN0YXRlKSwgR0ZQX0tFUk5FTCk7Cj4g KwlpZiAoc3RhdGUpCj4gKwkJX19kcm1fYXRvbWljX2hlbHBlcl9jcnRjX2R1cGxpY2F0ZV9zdGF0 ZShjcnRjLCAmc3RhdGUtPmJhc2UpOwoKTm8gbmVlZCB0byBjb3B5IHRoZSB6cG9zIGFuZCByb3Rh dGlvbiBmaWVsZHMgPwoKPiArCXJldHVybiAmc3RhdGUtPmJhc2U7Cj4gK30KPiArCj4gIHN0YXRp YyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfZnVuY3Mgb21hcF9jcnRjX2Z1bmNzID0gewo+ICAJLnJl c2V0ID0gZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNldCwKPiAgCS5zZXRfY29uZmlnID0gZHJt X2F0b21pY19oZWxwZXJfc2V0X2NvbmZpZywKPiBAQCAtNTU5LDcgKzU3MSw3IEBAIHN0YXRpYyBj b25zdCBzdHJ1Y3QgZHJtX2NydGNfZnVuY3Mgb21hcF9jcnRjX2Z1bmNzID0gewo+ICAJLnBhZ2Vf ZmxpcCA9IGRybV9hdG9taWNfaGVscGVyX3BhZ2VfZmxpcCwKPiAgCS5nYW1tYV9zZXQgPSBkcm1f YXRvbWljX2hlbHBlcl9sZWdhY3lfZ2FtbWFfc2V0LAo+ICAJLnNldF9wcm9wZXJ0eSA9IGRybV9h dG9taWNfaGVscGVyX2NydGNfc2V0X3Byb3BlcnR5LAo+IC0JLmF0b21pY19kdXBsaWNhdGVfc3Rh dGUgPSBkcm1fYXRvbWljX2hlbHBlcl9jcnRjX2R1cGxpY2F0ZV9zdGF0ZSwKPiArCS5hdG9taWNf ZHVwbGljYXRlX3N0YXRlID0gb21hcF9jcnRjX2R1cGxpY2F0ZV9zdGF0ZSwKPiAgCS5hdG9taWNf ZGVzdHJveV9zdGF0ZSA9IGRybV9hdG9taWNfaGVscGVyX2NydGNfZGVzdHJveV9zdGF0ZSwKPiAg CS5hdG9taWNfc2V0X3Byb3BlcnR5ID0gb21hcF9jcnRjX2F0b21pY19zZXRfcHJvcGVydHksCj4g IAkuYXRvbWljX2dldF9wcm9wZXJ0eSA9IG9tYXBfY3J0Y19hdG9taWNfZ2V0X3Byb3BlcnR5LAo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Rydi5oCj4gYi9kcml2 ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Rydi5oIGluZGV4IDRiZDFlOTA3MGIzMS4uMTE3MDNj MTc0Y2Q4Cj4gMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9kcnYu aAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZHJ2LmgKPiBAQCAtMTE1LDYg KzExNSwxNSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgb21hcF9mYmRldl9mcmVlKHN0cnVjdCBkcm1f ZGV2aWNlCj4gKmRldikgfQo+ICAjZW5kaWYKPiAKPiArc3RydWN0IG9tYXBfY3J0Y19zdGF0ZSB7 Cj4gKwkvKiBtdXN0IGJlIGZpcnN0ICovCgpDYXBpdGFsaXppbmcgY29tbWVudHMgd291bGQgYmUg YXBwcmVjaWF0ZWQgOi0pCgo+ICsJc3RydWN0IGRybV9jcnRjX3N0YXRlIGJhc2U7Cj4gKwkvKiBz aGFkb3cgdmFsdWVzIGZvciBsZWdhY3kgdXNlcnNwYWNlIHN1cHBvcnQgKi8KPiArCXVuc2lnbmVk IGludCByb3RhdGlvbjsKPiArCXVuc2lnbmVkIGludCB6cG9zOwo+ICt9Owo+ICsjZGVmaW5lIHRv X29tYXBfY3J0Y19zdGF0ZSh4KSBjb250YWluZXJfb2YoeCwgc3RydWN0IG9tYXBfY3J0Y19zdGF0 ZSwgYmFzZSkKCkNvdWxkIHlvdSBwbGVhc2UgZGVmaW5lIHRoaXMgc3RydWN0dXJlIGluIG9tYXBf Y3J0Yy5jLCBhcyBpdCdzIGludGVybmFsIHRvIHRoZSAKQ1JUQyBoYW5kbGluZyBjb2RlID8KCj4g IHN0cnVjdCB2aWRlb21vZGUgKm9tYXBfY3J0Y190aW1pbmdzKHN0cnVjdCBkcm1fY3J0YyAqY3J0 Yyk7Cj4gIGVudW0gb21hcF9jaGFubmVsIG9tYXBfY3J0Y19jaGFubmVsKHN0cnVjdCBkcm1fY3J0 YyAqY3J0Yyk7Cj4gIHZvaWQgb21hcF9jcnRjX3ByZV9pbml0KHZvaWQpOwoKLS0gClJlZ2FyZHMs CgpMYXVyZW50IFBpbmNoYXJ0CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9k cmktZGV2ZWwK