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 16:30 +0300 Message-ID: <3106559.U3hOoG4nef@avalon> References: <20170725080122.20548-2-daniel.vetter@ffwll.ch> <20170731124516.29595-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 9AA936E17C for ; Mon, 31 Jul 2017 13:29:56 +0000 (UTC) In-Reply-To: <20170731124516.29595-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 MTcgMTQ6NDU6MTYgRGFuaWVsIFZldHRlciB3cm90ZToKPiBJIHdhbnQvbmVlZCB0byByZXdvcmsg dGhlIGNvcmUgcHJvcGVydHkgaGFuZGxpbmcsIGFuZCB0aGlzIGhhY2sgaXMKPiBnZXR0aW5nIGlu IHRoZSB3YXkuIEJ1dCBzaW5jZSBpdCdzIGEgbm9uLXN0YW5kYXJkIHByb3BldHkgb25seSB1c2Vk IGJ5Cj4gbGVnYWN5IHVzZXJzcGFjZSB3ZSBrbm93IHRoYXQgdGhpcyB3aWxsIG9ubHkgZXZlcnkg YmUgY2FsbGVkIGZyb20KPiBpb2N0bCBjb2RlLiBBbmQgbmV2ZXIgb24gc29tZSBvdGhlciBmcmVl LXN0YW5kaW5nIHN0YXRlIHN0cnVjdCwgd2hlcmUKPiB0aGlzIG9sZCBoYWNrIHdvdWxkbid0IHdv cmsgZWl0aGVyLgo+IAo+IHYyOiBkb24ndCBmb3JnZXQgem9yZGVyIGFuZCBnZXRfcHJvcGVydHkh Cj4gCj4gdjM6IFNoYWRvdyB0aGUgbGVnYWN5IHN0YXRlIHRvIGF2b2lkIGxvY2tpbmcgaXNzdWVz IGluIGdldF9wcm9wZXJ0eQo+IChNYWFydGVuKS4KPiAKPiB2NDogUmV2aWV3IGZyb20gTGF1cmVu dAo+IC0gTW92ZSBzdHJ1Y3Qgb21hcF9jcnRjX3N0YXRlIGludG8gb21hcF9jcnRjLmMKPiAtIENs ZWFuIHVwIGNvbW1lbnRzLgo+IC0gRG9uJ3QgZm9yZ2V0IHRvIGNvcHkgdGhlIHNoYWRvd2VkIHN0 YXRlIG92ZXIgb24gZHVwbGljYXRlLgo+IAo+IENjOiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRl bi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgo+IENjOiBUb21pIFZhbGtlaW5lbiA8dG9taS52 YWxrZWluZW5AdGkuY29tCj4gQ2M6IExhdXJlbnQgUGluY2hhcnQgPGxhdXJlbnQucGluY2hhcnRA aWRlYXNvbmJvYXJkLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwu dmV0dGVyQGludGVsLmNvbT4KCkkgd2lzaCB3ZSBjb3VsZCBkbyBiZXR0ZXIsIGJ1dCBJIHRoaW5r IHRoYXQncyB0aGUgYmVzdCB3ZSBjYW4gYWNoaWV2ZSB3aXRob3V0IApyZW1vdmluZyB0aGUgaGFj ay4KClJldmlld2VkLWJ5OiBMYXVyZW50IFBpbmNoYXJ0IDxsYXVyZW50LnBpbmNoYXJ0QGlkZWFz b25ib2FyZC5jb20+Cgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2NydGMu YyB8IDk1ICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KPiAgMSBmaWxlIGNoYW5n ZWQsIDU5IGluc2VydGlvbnMoKyksIDM2IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2NydGMuYwo+IGIvZHJpdmVycy9ncHUvZHJtL29t YXBkcm0vb21hcF9jcnRjLmMgaW5kZXggMTRlOGE3NzM4YjA2Li4xNmQ4YjI5MTkyMWIKPiAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2NydGMuYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfY3J0Yy5jCj4gQEAgLTI2LDYgKzI2LDE2IEBACj4g Cj4gICNpbmNsdWRlICJvbWFwX2Rydi5oIgo+IAo+ICsjZGVmaW5lIHRvX29tYXBfY3J0Y19zdGF0 ZSh4KSBjb250YWluZXJfb2YoeCwgc3RydWN0IG9tYXBfY3J0Y19zdGF0ZSwgYmFzZSkKPiArCj4g K3N0cnVjdCBvbWFwX2NydGNfc3RhdGUgewo+ICsJLyogTXVzdCBiZSBmaXJzdC4gKi8KPiArCXN0 cnVjdCBkcm1fY3J0Y19zdGF0ZSBiYXNlOwo+ICsJLyogU2hhZG93IHZhbHVlcyBmb3IgbGVnYWN5 IHVzZXJzcGFjZSBzdXBwb3J0LiAqLwo+ICsJdW5zaWduZWQgaW50IHJvdGF0aW9uOwo+ICsJdW5z aWduZWQgaW50IHpwb3M7Cj4gK307Cj4gKwo+ICAjZGVmaW5lIHRvX29tYXBfY3J0Yyh4KSBjb250 YWluZXJfb2YoeCwgc3RydWN0IG9tYXBfY3J0YywgYmFzZSkKPiAKPiAgc3RydWN0IG9tYXBfY3J0 YyB7Cj4gQEAgLTQ5OCwzOSArNTA4LDM1IEBAIHN0YXRpYyB2b2lkIG9tYXBfY3J0Y19hdG9taWNf Zmx1c2goc3RydWN0IGRybV9jcnRjCj4gKmNydGMsIHNwaW5fdW5sb2NrX2lycSgmY3J0Yy0+ZGV2 LT5ldmVudF9sb2NrKTsKPiAgfQo+IAo+IC1zdGF0aWMgYm9vbCBvbWFwX2NydGNfaXNfcGxhbmVf cHJvcChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gLQlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9w ZXJ0eSkKPiAtewo+IC0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKPiAtCXN0 cnVjdCBvbWFwX2RybV9wcml2YXRlICpwcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAtCj4gLQly ZXR1cm4gcHJvcGVydHkgPT0gcHJpdi0+em9yZGVyX3Byb3AgfHwKPiAtCQlwcm9wZXJ0eSA9PSBj cnRjLT5wcmltYXJ5LT5yb3RhdGlvbl9wcm9wZXJ0eTsKPiAtfQo+IC0KPiAgc3RhdGljIGludCBv bWFwX2NydGNfYXRvbWljX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIAkJ CQkJIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUsCj4gIAkJCQkJIHN0cnVjdCBkcm1fcHJv cGVydHkgKnByb3BlcnR5LAo+ICAJCQkJCSB1aW50NjRfdCB2YWwpCj4gIHsKPiAtCWlmIChvbWFw X2NydGNfaXNfcGxhbmVfcHJvcChjcnRjLCBwcm9wZXJ0eSkpIHsKPiAtCQlzdHJ1Y3QgZHJtX3Bs YW5lX3N0YXRlICpwbGFuZV9zdGF0ZTsKPiAtCQlzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSA9IGNy dGMtPnByaW1hcnk7Cj4gLQo+IC0JCS8qCj4gLQkJICogRGVsZWdhdGUgcHJvcGVydHkgc2V0IHRv IHRoZSBwcmltYXJ5IHBsYW5lLiBHZXQgdGhlIHBsYW5lCj4gLQkJICogc3RhdGUgYW5kIHNldCB0 aGUgcHJvcGVydHkgZGlyZWN0bHkuCj4gLQkJICovCj4gLQo+IC0JCXBsYW5lX3N0YXRlID0gZHJt X2F0b21pY19nZXRfcGxhbmVfc3RhdGUoc3RhdGUtPnN0YXRlLCBwbGFuZSk7Cj4gLQkJaWYgKElT X0VSUihwbGFuZV9zdGF0ZSkpCj4gLQkJCXJldHVybiBQVFJfRVJSKHBsYW5lX3N0YXRlKTsKPiAr CXN0cnVjdCBvbWFwX2RybV9wcml2YXRlICpwcml2ID0gY3J0Yy0+ZGV2LT5kZXZfcHJpdmF0ZTsK PiArCXN0cnVjdCBvbWFwX2NydGNfc3RhdGUgKm9tYXBfc3RhdGUgPSB0b19vbWFwX2NydGNfc3Rh dGUoc3RhdGUpOwo+ICsJc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGU7Cj4gCj4g LQkJcmV0dXJuIGRybV9hdG9taWNfcGxhbmVfc2V0X3Byb3BlcnR5KHBsYW5lLCBwbGFuZV9zdGF0 ZSwKPiAtCQkJCXByb3BlcnR5LCB2YWwpOwo+ICsJLyoKPiArCSAqIERlbGVnYXRlIHByb3BlcnR5 IHNldCB0byB0aGUgcHJpbWFyeSBwbGFuZS4gR2V0IHRoZSBwbGFuZSBzdGF0ZSBhbmQKPiArCSAq IHNldCB0aGUgcHJvcGVydHkgZGlyZWN0bHksIGJ1dCBrZWVwIGEgc2hhZG93IGNvcHkgZm9yIHRo ZQo+ICsJICogYXRvbWljX2dldF9wcm9wZXJ0eSBjYWxsYmFjay4KPiArCSAqLwo+ICsJcGxhbmVf c3RhdGUgPSBkcm1fYXRvbWljX2dldF9wbGFuZV9zdGF0ZShzdGF0ZS0+c3RhdGUsIGNydGMtPnBy aW1hcnkpOwo+ICsJaWYgKElTX0VSUihwbGFuZV9zdGF0ZSkpCj4gKwkJcmV0dXJuIFBUUl9FUlIo cGxhbmVfc3RhdGUpOwo+ICsKPiArCWlmIChwcm9wZXJ0eSA9PSBjcnRjLT5wcmltYXJ5LT5yb3Rh dGlvbl9wcm9wZXJ0eSkgewo+ICsJCXBsYW5lX3N0YXRlLT5yb3RhdGlvbiA9IHZhbDsKPiArCQlv bWFwX3N0YXRlLT5yb3RhdGlvbiA9IHZhbDsKPiArCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gcHJp di0+em9yZGVyX3Byb3ApIHsKPiArCQlwbGFuZV9zdGF0ZS0+enBvcyA9IHZhbDsKPiArCQlvbWFw X3N0YXRlLT56cG9zID0gdmFsOwo+ICsJfSBlbHNlIHsKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiAg CX0KPiAKPiAtCXJldHVybiAtRUlOVkFMOwo+ICsJcmV0dXJuIDA7Cj4gIH0KPiAKPiAgc3RhdGlj IGludCBvbWFwX2NydGNfYXRvbWljX2dldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2NydGMgKmNydGMs Cj4gQEAgLTUzOCwyMCArNTQ0LDM3IEBAIHN0YXRpYyBpbnQgb21hcF9jcnRjX2F0b21pY19nZXRf cHJvcGVydHkoc3RydWN0Cj4gZHJtX2NydGMgKmNydGMsIHN0cnVjdCBkcm1fcHJvcGVydHkgKnBy b3BlcnR5LAo+ICAJCQkJCSB1aW50NjRfdCAqdmFsKQo+ICB7Cj4gLQlpZiAob21hcF9jcnRjX2lz X3BsYW5lX3Byb3AoY3J0YywgcHJvcGVydHkpKSB7Cj4gLQkJLyoKPiAtCQkgKiBEZWxlZ2F0ZSBw cm9wZXJ0eSBnZXQgdG8gdGhlIHByaW1hcnkgcGxhbmUuIFRoZQo+IC0JCSAqIGRybV9hdG9taWNf cGxhbmVfZ2V0X3Byb3BlcnR5KCkgZnVuY3Rpb24gaXNuJ3QgZXhwb3J0ZWQsIApidXQKPiAtCQkg KiBjYW4gYmUgY2FsbGVkIHRocm91Z2ggZHJtX29iamVjdF9wcm9wZXJ0eV9nZXRfdmFsdWUoKSBh cyAKdGhhdAo+IC0JCSAqIHdpbGwgY2FsbCBkcm1fYXRvbWljX2dldF9wcm9wZXJ0eSgpIGZvciBh dG9taWMgZHJpdmVycy4KPiAtCQkgKi8KPiAtCQlyZXR1cm4gZHJtX29iamVjdF9wcm9wZXJ0eV9n ZXRfdmFsdWUoJmNydGMtPnByaW1hcnktPmJhc2UsCj4gLQkJCQlwcm9wZXJ0eSwgdmFsKTsKPiAt CX0KPiArCXN0cnVjdCBvbWFwX2RybV9wcml2YXRlICpwcml2ID0gY3J0Yy0+ZGV2LT5kZXZfcHJp dmF0ZTsKPiArCXN0cnVjdCBvbWFwX2NydGNfc3RhdGUgKm9tYXBfc3RhdGUgPSB0b19vbWFwX2Ny dGNfc3RhdGUoc3RhdGUpOwo+ICsKPiArCWlmIChwcm9wZXJ0eSA9PSBjcnRjLT5wcmltYXJ5LT5y b3RhdGlvbl9wcm9wZXJ0eSkKPiArCQlyZXR1cm4gb21hcF9zdGF0ZS0+cm90YXRpb247Cj4gKwll bHNlIGlmIChwcm9wZXJ0eSA9PSBwcml2LT56b3JkZXJfcHJvcCkKPiArCQlyZXR1cm4gb21hcF9z dGF0ZS0+enBvczsKPiAKPiAgCXJldHVybiAtRUlOVkFMOwo+ICB9Cj4gCj4gK3N0YXRpYyBzdHJ1 Y3QgZHJtX2NydGNfc3RhdGUgKgo+ICtvbWFwX2NydGNfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBk cm1fY3J0YyAqY3J0YykKPiArewo+ICsJc3RydWN0IG9tYXBfY3J0Y19zdGF0ZSAqc3RhdGUsICpj dXJyZW50X3N0YXRlOwo+ICsKPiArCWlmIChXQVJOX09OKCFjcnRjLT5zdGF0ZSkpCj4gKwkJcmV0 dXJuIE5VTEw7Cj4gKwo+ICsJY3VycmVudF9zdGF0ZSA9IHRvX29tYXBfY3J0Y19zdGF0ZShjcnRj LT5zdGF0ZSk7Cj4gKwo+ICsJc3RhdGUgPSBrbWFsbG9jKHNpemVvZigqc3RhdGUpLCBHRlBfS0VS TkVMKTsKPiArCWlmIChzdGF0ZSkKPiArCQlfX2RybV9hdG9taWNfaGVscGVyX2NydGNfZHVwbGlj YXRlX3N0YXRlKGNydGMsICZzdGF0ZS0+YmFzZSk7Cj4gKwo+ICsJc3RhdGUtPnpwb3MgPSBjdXJy ZW50X3N0YXRlLT56cG9zOwo+ICsJc3RhdGUtPnJvdGF0aW9uID0gY3VycmVudF9zdGF0ZS0+cm90 YXRpb247Cj4gKwo+ICsJcmV0dXJuICZzdGF0ZS0+YmFzZTsKPiArfQo+ICsKPiAgc3RhdGljIGNv bnN0IHN0cnVjdCBkcm1fY3J0Y19mdW5jcyBvbWFwX2NydGNfZnVuY3MgPSB7Cj4gIAkucmVzZXQg PSBkcm1fYXRvbWljX2hlbHBlcl9jcnRjX3Jlc2V0LAo+ICAJLnNldF9jb25maWcgPSBkcm1fYXRv bWljX2hlbHBlcl9zZXRfY29uZmlnLAo+IEBAIC01NTksNyArNTgyLDcgQEAgc3RhdGljIGNvbnN0 IHN0cnVjdCBkcm1fY3J0Y19mdW5jcyBvbWFwX2NydGNfZnVuY3MgPSB7Cj4gIAkucGFnZV9mbGlw ID0gZHJtX2F0b21pY19oZWxwZXJfcGFnZV9mbGlwLAo+ICAJLmdhbW1hX3NldCA9IGRybV9hdG9t aWNfaGVscGVyX2xlZ2FjeV9nYW1tYV9zZXQsCj4gIAkuc2V0X3Byb3BlcnR5ID0gZHJtX2F0b21p Y19oZWxwZXJfY3J0Y19zZXRfcHJvcGVydHksCj4gLQkuYXRvbWljX2R1cGxpY2F0ZV9zdGF0ZSA9 IGRybV9hdG9taWNfaGVscGVyX2NydGNfZHVwbGljYXRlX3N0YXRlLAo+ICsJLmF0b21pY19kdXBs aWNhdGVfc3RhdGUgPSBvbWFwX2NydGNfZHVwbGljYXRlX3N0YXRlLAo+ICAJLmF0b21pY19kZXN0 cm95X3N0YXRlID0gZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kZXN0cm95X3N0YXRlLAo+ICAJLmF0 b21pY19zZXRfcHJvcGVydHkgPSBvbWFwX2NydGNfYXRvbWljX3NldF9wcm9wZXJ0eSwKPiAgCS5h dG9taWNfZ2V0X3Byb3BlcnR5ID0gb21hcF9jcnRjX2F0b21pY19nZXRfcHJvcGVydHksCgotLSAK UmVnYXJkcywKCkxhdXJlbnQgUGluY2hhcnQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2RyaS1kZXZlbAo=