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: Tue, 01 Aug 2017 13:20:59 +0300 Message-ID: <2563110.xQjJWl2ggy@avalon> References: <20170725080122.20548-2-daniel.vetter@ffwll.ch> <20170731154235.6402-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 [IPv6:2001:4b98:dc2:45:216:3eff:febb:480d]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2F2BF6EB13 for ; Tue, 1 Aug 2017 10:20:49 +0000 (UTC) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Maarten Lankhorst Cc: Daniel Vetter , Tomi Valkeinen , DRI Development , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org SGkgTWFhcnRlbiwKCk9uIFR1ZXNkYXkgMDEgQXVnIDIwMTcgMDc6NTk6MTMgTWFhcnRlbiBMYW5r aG9yc3Qgd3JvdGU6Cj4gT3AgMzEtMDctMTcgb20gMTc6NDIgc2NocmVlZiBEYW5pZWwgVmV0dGVy Ogo+ID4gSSB3YW50L25lZWQgdG8gcmV3b3JrIHRoZSBjb3JlIHByb3BlcnR5IGhhbmRsaW5nLCBh bmQgdGhpcyBoYWNrIGlzCj4gPiBnZXR0aW5nIGluIHRoZSB3YXkuIEJ1dCBzaW5jZSBpdCdzIGEg bm9uLXN0YW5kYXJkIHByb3BldHkgb25seSB1c2VkIGJ5Cj4gPiBsZWdhY3kgdXNlcnNwYWNlIHdl IGtub3cgdGhhdCB0aGlzIHdpbGwgb25seSBldmVyeSBiZSBjYWxsZWQgZnJvbQo+ID4gaW9jdGwg Y29kZS4gQW5kIG5ldmVyIG9uIHNvbWUgb3RoZXIgZnJlZS1zdGFuZGluZyBzdGF0ZSBzdHJ1Y3Qs IHdoZXJlCj4gPiB0aGlzIG9sZCBoYWNrIHdvdWxkbid0IHdvcmsgZWl0aGVyLgo+ID4gCj4gPiB2 MjogZG9uJ3QgZm9yZ2V0IHpvcmRlciBhbmQgZ2V0X3Byb3BlcnR5IQo+ID4gCj4gPiB2MzogU2hh ZG93IHRoZSBsZWdhY3kgc3RhdGUgdG8gYXZvaWQgbG9ja2luZyBpc3N1ZXMgaW4gZ2V0X3Byb3Bl cnR5Cj4gPiAoTWFhcnRlbikuCj4gPiAKPiA+IHY0OiBSZXZpZXcgZnJvbSBMYXVyZW50Cj4gPiAt IE1vdmUgc3RydWN0IG9tYXBfY3J0Y19zdGF0ZSBpbnRvIG9tYXBfY3J0Yy5jCj4gPiAtIENsZWFu IHVwIGNvbW1lbnRzLgo+ID4gLSBEb24ndCBmb3JnZXQgdG8gY29weSB0aGUgc2hhZG93ZWQgc3Rh dGUgb3ZlciBvbiBkdXBsaWNhdGUuCj4gPiAKPiA+IHY1OiBEb24ndCBmb3JnZXQgdG8gdXBkYXRl IHRoZSByZXNldCBoYW5kbGVyIChNYWFydGVuKS4KPiA+IAo+ID4gUmV2aWV3ZWQtYnk6IExhdXJl bnQgUGluY2hhcnQgPGxhdXJlbnQucGluY2hhcnRAaWRlYXNvbmJvYXJkLmNvbT4gKHY0KQo+ID4g Q2M6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+ Cj4gPiBDYzogVG9taSBWYWxrZWluZW4gPHRvbWkudmFsa2VpbmVuQHRpLmNvbQo+ID4gQ2M6IExh dXJlbnQgUGluY2hhcnQgPGxhdXJlbnQucGluY2hhcnRAaWRlYXNvbmJvYXJkLmNvbT4KPiA+IFNp Z25lZC1vZmYtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgo+ID4g LS0tCj4gPiAKPiA+ICBkcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2NydGMuYyB8IDEwOSAr KysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCj4gPiAgMSBmaWxlIGNoYW5nZWQsIDcyIGlu c2VydGlvbnMoKyksIDM3IGRlbGV0aW9ucygtKQo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL29tYXBkcm0vb21hcF9jcnRjLmMKPiA+IGIvZHJpdmVycy9ncHUvZHJtL29tYXBk cm0vb21hcF9jcnRjLmMgaW5kZXggMTRlOGE3NzM4YjA2Li45MDE0MDg1YzMzZGYKPiA+IDEwMDY0 NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9jcnRjLmMKPiA+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfY3J0Yy5jCgpbc25pcF0KCj4gPiAgc3RhdGlj IGludCBvbWFwX2NydGNfYXRvbWljX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2NydGMgKmNydGMs Cj4gPiAgCQkJCQkgc3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0ZSwKPiA+ICAJCQkJCSBzdHJ1 Y3QgZHJtX3Byb3BlcnR5ICpwcm9wZXJ0eSwKPiA+ICAJCQkJCSB1aW50NjRfdCB2YWwpCj4gPiAg ewo+ID4gLQlpZiAob21hcF9jcnRjX2lzX3BsYW5lX3Byb3AoY3J0YywgcHJvcGVydHkpKSB7Cj4g PiAtCQlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZTsKPiA+IC0JCXN0cnVjdCBk cm1fcGxhbmUgKnBsYW5lID0gY3J0Yy0+cHJpbWFyeTsKPiA+IC0KPiA+IC0JCS8qCj4gPiAtCQkg KiBEZWxlZ2F0ZSBwcm9wZXJ0eSBzZXQgdG8gdGhlIHByaW1hcnkgcGxhbmUuIEdldCB0aGUgcGxh bmUKPiA+IC0JCSAqIHN0YXRlIGFuZCBzZXQgdGhlIHByb3BlcnR5IGRpcmVjdGx5Lgo+ID4gLQkJ ICovCj4gPiAtCj4gPiAtCQlwbGFuZV9zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X3BsYW5lX3N0YXRl KHN0YXRlLT5zdGF0ZSwgcGxhbmUpOwo+ID4gLQkJaWYgKElTX0VSUihwbGFuZV9zdGF0ZSkpCj4g PiAtCQkJcmV0dXJuIFBUUl9FUlIocGxhbmVfc3RhdGUpOwo+ID4gKwlzdHJ1Y3Qgb21hcF9kcm1f cHJpdmF0ZSAqcHJpdiA9IGNydGMtPmRldi0+ZGV2X3ByaXZhdGU7Cj4gPiArCXN0cnVjdCBvbWFw X2NydGNfc3RhdGUgKm9tYXBfc3RhdGUgPSB0b19vbWFwX2NydGNfc3RhdGUoc3RhdGUpOwo+ID4g KwlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZTsKPiA+IAo+ID4gLQkJcmV0dXJu IGRybV9hdG9taWNfcGxhbmVfc2V0X3Byb3BlcnR5KHBsYW5lLCBwbGFuZV9zdGF0ZSwKPiA+IC0J CQkJcHJvcGVydHksIHZhbCk7Cj4gPiArCS8qCj4gPiArCSAqIERlbGVnYXRlIHByb3BlcnR5IHNl dCB0byB0aGUgcHJpbWFyeSBwbGFuZS4gR2V0IHRoZSBwbGFuZSBzdGF0ZSBhbmQKPiA+ICsJICog c2V0IHRoZSBwcm9wZXJ0eSBkaXJlY3RseSwgYnV0IGtlZXAgYSBzaGFkb3cgY29weSBmb3IgdGhl Cj4gPiArCSAqIGF0b21pY19nZXRfcHJvcGVydHkgY2FsbGJhY2suCj4gPiArCSAqLwo+ID4gKwlw bGFuZV9zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X3BsYW5lX3N0YXRlKHN0YXRlLT5zdGF0ZSwgY3J0 Yy0+cHJpbWFyeSk7Cj4gPiArCWlmIChJU19FUlIocGxhbmVfc3RhdGUpKQo+ID4gKwkJcmV0dXJu IFBUUl9FUlIocGxhbmVfc3RhdGUpOwo+ID4gKwo+ID4gKwlpZiAocHJvcGVydHkgPT0gY3J0Yy0+ cHJpbWFyeS0+cm90YXRpb25fcHJvcGVydHkpIHsKPiA+ICsJCXBsYW5lX3N0YXRlLT5yb3RhdGlv biA9IHZhbDsKPiA+ICsJCW9tYXBfc3RhdGUtPnJvdGF0aW9uID0gdmFsOwo+ID4gKwl9IGVsc2Ug aWYgKHByb3BlcnR5ID09IHByaXYtPnpvcmRlcl9wcm9wKSB7Cj4gPiArCQlwbGFuZV9zdGF0ZS0+ enBvcyA9IHZhbDsKPiA+ICsJCW9tYXBfc3RhdGUtPnpwb3MgPSB2YWw7Cj4gCj4gV2l0aCBhdG9t aWMgd2Ugc2hvdWxkIHRyeSB0byBhbHdheXMgbWFrZSB0aGUgZ2V0cHJvcCB2YWx1ZXMgYWNjdXJh dGUsIG9yCj4gY29tcG9zaXRvcnMgbWlnaHQgaGF2ZSB0cm91YmxlcyByZXN0b3JpbmcuCj4gCj4g SSB3b3VsZCB1cGRhdGUgdGhlIHNoYWRvdyB2YWx1ZXMgaW4gb21hcF9jcnRjX2F0b21pY19jaGVj ayB0aHJvdWdoCj4gb21hcF9jcnRjX2F0b21pY19jaGVjayBpbnN0ZWFkLCB3aXRoIHNvbWV0aGlu ZyBsaWtlIHRoaXM6Cj4gCj4gKyAgICAgICBwcmlfc3RhdGUgPSBkcm1fYXRvbWljX2dldF9uZXdf cGxhbmVfc3RhdGUoY3J0Yy0+cHJpbWFyeSwKPiBzdGF0ZS0+c3RhdGUpOwo+ICsgICAgICAgaWYg KHByaV9zdGF0ZSkgewo+ICsgICAgICAgICAgICAgICBzdHJ1Y3Qgb21hcF9jcnRjX3N0YXRlICpv bWFwX2NydGNfc3RhdGUgPQo+ICsgICAgICAgICAgICAgICAgICAgICAgIHRvX29tYXBfY3J0Y19z dGF0ZShzdGF0ZSk7Cj4gKwo+ICsgICAgICAgICAgICAgICBvbWFwX2NydGNfc3RhdGUtPnpwb3Mg PSBwcmlfc3RhdGUtPnpwb3M7Cj4gKyAgICAgICAgICAgICAgIG9tYXBfY3J0Y19zdGF0ZS0+cm90 YXRpb24gPSBwcmlfc3RhdGUtPnJvdGF0aW9uOwo+ICsgICAgICAgfQo+IAo+IFRoYXQgd2F5IGV2 ZW4gd2hlbiB1cGRhdGluZyB0aGUgcHJvcGVydHkgdGhyb3VnaCB0aGUgcHJpbWFyeSBwbGFuZSwg aXQgZ2V0cwo+IHJlZmxlY3RlZCBjb3JyZWN0bHkuIEZvciBleGFtcGxlIHdoZW4gdnQgc3dpdGNo aW5nIHdpdGggZmJkZXYuCgpMZXQncyBub3QgbWFrZSBpdCBvdmVyLWNvbXBsaWNhdGVkLiBUaGlz IGhhY2sgaXMgb25seSBuZWVkZWQgZm8gdGhlIGxlZ2FjeSBYIApPTUFQIG1vZGVzZXR0aW5nIGRy aXZlci4gVGhlIENSVEMgenBvcyBhbmQgcm90YXRpb24gcHJvcGVydGllcyBzaG91bGQgbm90IGJl IAp1c2VkIHRocm91Z2ggdGhlIGF0b21pYyBBUEkuCgo+ID4gKwl9IGVsc2Ugewo+ID4gKwkJcmV0 dXJuIC1FSU5WQUw7Cj4gPiAgCX0KPiA+IAo+ID4gLQlyZXR1cm4gLUVJTlZBTDsKPiA+ICsJcmV0 dXJuIDA7Cj4gPiAgfQoKLS0gClJlZ2FyZHMsCgpMYXVyZW50IFBpbmNoYXJ0CgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBs aXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK