From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefan Agner Subject: Re: [PATCH v3 1/4] drm/mxsfb: Fix initial corrupt frame when activating display Date: Tue, 07 Aug 2018 20:29:43 +0200 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.kmu-office.ch (mail.kmu-office.ch [IPv6:2a02:418:6a02::a2]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7327D89FD7 for ; Tue, 7 Aug 2018 18:29:46 +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: Leonard Crestez Cc: Marek Vasut , Dong Aisheng , kernel@pengutronix.de, Anson Huang , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Mirela Rabulea , linux-imx@nxp.com, Robert Chiras , Fabio Estevam , Shawn Guo List-Id: dri-devel@lists.freedesktop.org T24gMDYuMDguMjAxOCAyMTozMSwgTGVvbmFyZCBDcmVzdGV6IHdyb3RlOgo+IExDRElGIHdpbGwg cmVwZWF0ZWRseSBkaXNwbGF5IGRhdGEgZnJvbSBDVVJfQlVGIGFuZCBzZXQgQ1VSX0JVRiB0bwo+ IE5FWFRfQlVGIHdoZW4gZG9uZS4gU2luY2Ugd2UgYXJlIG9ubHkgZXZlciB3cml0aW5nIHRvIE5F WFRfQlVGIHRoZQo+IGRpc3BsYXkgd2lsbCBzaG93IGFuIGluaXRpYWwgY29ycnVwdCBmcmFtZS4K PiAKPiBGaXggYnkgd3JpdGluZyB0aGUgRkIgcGFkZHIgdG8gYm90aCBDVVJfQlVGIGFuZCBORVhU X0JVRiB3aGVuCj4gYWN0aXZhdGluZyB0aGUgQ1JUQy4KClJlYWxseSBsaWtlIGhvdyB0aGlzIHBh dGNoIHNldCBldm9sdmVzISBPbmx5IHNvbWUgbWlub3IgdGhpbmcgYmVsb3cuLi4KCj4gCj4gU2ln bmVkLW9mZi1ieTogTGVvbmFyZCBDcmVzdGV6IDxsZW9uYXJkLmNyZXN0ZXpAbnhwLmNvbT4KPiAt LS0KPiAgZHJpdmVycy9ncHUvZHJtL214c2ZiL214c2ZiX2NydGMuYyB8IDQyICsrKysrKysrKysr KysrKysrKysrKy0tLS0tLS0tLQo+ICAxIGZpbGUgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwg MTMgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9teHNmYi9t eHNmYl9jcnRjLmMKPiBiL2RyaXZlcnMvZ3B1L2RybS9teHNmYi9teHNmYl9jcnRjLmMKPiBpbmRl eCAwYWJlNzc2NzViNzYuLmRiM2ZmNWJkZTEyMiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vbXhzZmIvbXhzZmJfY3J0Yy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL214c2ZiL214c2Zi X2NydGMuYwo+IEBAIC0xOTQsMTUgKzE5NCwzMSBAQCBzdGF0aWMgaW50IG14c2ZiX3Jlc2V0X2Js b2NrKHZvaWQgX19pb21lbSAqcmVzZXRfYWRkcikKPiAgCQlyZXR1cm4gcmV0Owo+ICAKPiAgCXJl dHVybiBjbGVhcl9wb2xsX2JpdChyZXNldF9hZGRyLCBNT0RVTEVfQ0xLR0FURSk7Cj4gIH0KPiAg Cj4gK3N0YXRpYyBkbWFfYWRkcl90IG14c2ZiX2dldF9mYl9wYWRkcihzdHJ1Y3QgbXhzZmJfZHJt X3ByaXZhdGUgKm14c2ZiKQo+ICt7Cj4gKwlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiA9IG14 c2ZiLT5waXBlLnBsYW5lLnN0YXRlLT5mYjsKPiArCXN0cnVjdCBkcm1fZ2VtX2NtYV9vYmplY3Qg KmdlbTsKPiArCj4gKwlpZiAoIWZiKQo+ICsJCXJldHVybiAwOwo+ICsKPiArCWdlbSA9IGRybV9m Yl9jbWFfZ2V0X2dlbV9vYmooZmIsIDApOwo+ICsJaWYgKCFnZW0pCj4gKwkJcmV0dXJuIDA7Cj4g Kwo+ICsJcmV0dXJuIGdlbS0+cGFkZHI7Cj4gK30KPiArCj4gIHN0YXRpYyB2b2lkIG14c2ZiX2Ny dGNfbW9kZV9zZXRfbm9mYihzdHJ1Y3QgbXhzZmJfZHJtX3ByaXZhdGUgKm14c2ZiKQo+ICB7Cj4g IAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbSA9ICZteHNmYi0+cGlwZS5jcnRjLnN0YXRlLT5h ZGp1c3RlZF9tb2RlOwo+ICAJY29uc3QgdTMyIGJ1c19mbGFncyA9IG14c2ZiLT5jb25uZWN0b3Iu ZGlzcGxheV9pbmZvLmJ1c19mbGFnczsKPiAgCXUzMiB2ZGN0cmwwLCB2c3luY19wdWxzZV9sZW4s IGhzeW5jX3B1bHNlX2xlbjsKPiArCWRtYV9hZGRyX3QgcGFkZHI7Cj4gIAlpbnQgZXJyOwo+ICAK PiAgCS8qCj4gIAkgKiBJdCBzZWVtcywgeW91IGNhbid0IHJlLXByb2dyYW0gdGhlIGNvbnRyb2xs ZXIgaWYgaXQgaXMgc3RpbGwKPiAgCSAqIHJ1bm5pbmcuIFRoaXMgbWF5IGxlYWQgdG8gc2hpZnRl ZCBwaWN0dXJlcyAoRklGTyBpc3N1ZT8pLCBzbwo+IEBAIC0yNjgsMTAgKzI4NCwxNiBAQCBzdGF0 aWMgdm9pZCBteHNmYl9jcnRjX21vZGVfc2V0X25vZmIoc3RydWN0Cj4gbXhzZmJfZHJtX3ByaXZh dGUgKm14c2ZiKQo+ICAJICAgICAgIG14c2ZiLT5iYXNlICsgTENEQ19WRENUUkwzKTsKPiAgCj4g IAl3cml0ZWwoU0VUX0RPVENMS19IX1ZBTElEX0RBVEFfQ05UKG0tPmhkaXNwbGF5KSwKPiAgCSAg ICAgICBteHNmYi0+YmFzZSArIExDRENfVkRDVFJMNCk7Cj4gIAo+ICsJLyogVXBkYXRlIGN1cl9i dWYgYXMgd2VsbCB0byBhdm9pZCBhbiBpbml0aWFsIGNvcnJ1cHQgZnJhbWUgKi8KPiArCXBhZGRy ID0gbXhzZmJfZ2V0X2ZiX3BhZGRyKG14c2ZiKTsKPiArCWlmIChwYWRkcikgewo+ICsJCXdyaXRl bChwYWRkciwgbXhzZmItPmJhc2UgKyBteHNmYi0+ZGV2ZGF0YS0+Y3VyX2J1Zik7Cj4gKwkJd3Jp dGVsKHBhZGRyLCBteHNmYi0+YmFzZSArIG14c2ZiLT5kZXZkYXRhLT5uZXh0X2J1Zik7Cj4gKwl9 CgpUcmFkaXRpb25hbGx5IG14c2ZiX2NydGNfbW9kZV9zZXRfbm9mYigpIHdhcyB1c2VkIGFzIGEg Y2FsbGJhY2sgdG8KbW9kZV9zZXRfbm9mYi4gQW5kIHRoYXQgY2FsbGJhY2sgc2hvdWxkIG5vdCBm aWRkbGUgd2l0aCB0aGUgZmIgKGFzIHRoZQpuYW1lIHNheXMpLgoKU28gSSByYXRoZXIgcHJlZmVy IHRvIG1vdmUgdGhlIG5ldyBiaXRzIHRvIG14c2ZiX2NydGNfZW5hYmxlKCksIGJldHdlZW4KbXhz ZmJfY3J0Y19tb2RlX3NldF9ub2ZiKCkgYW5kIG14c2ZiX2VuYWJsZV9jb250cm9sbGVyKCkuIEl0 IGlzIG9ubHkKY29zbWV0aWNzLCBidXQgSSdkIHJhdGhlciBwcmVmZXIgdG8gaGF2ZSBpdCBpbiB0 aGUgcmlnaHQgcGxhY2UuCgpDdXJyZW50bHkgdGhlIEFYSSBjbG9jayBpcyBkaXNhYmxlZCBiZXR3 ZWVuIHRob3NlIGZ1bmN0aW9ucy4uLiBJIHN1Z2dlc3QKdG8gZW5hYmxlIHRoZSBBWEkgY2xvY2sg b25jZSBpbiBteHNmYl9jcnRjX2VuYWJsZSgpLiBUaGlzIHB1dHMgYW4gZW5kIHRvCnRoZSB1bm5l Y2Vzc2FyeSBlbmFibGUvZGlzYWJsZS9lbmFibGUgc2VxdWVuY2UgaW4gbXhzZmJfY3J0Y19lbmFi bGUoKS4KClNvIEkgc3VnZ2VzdCB0byBjcmVhdGUgYSBwYXRjaCAiZHJtL214c2ZiOiBzaW1wbGlm eSBBWEkgY2xvY2sgaGFuZGxpbmciCgotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXhzZmIvbXhzZmJf Y3J0Yy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9teHNmYi9teHNmYl9jcnRjLmMKQEAgLTEyOSw3 ICsxMjksNiBAQCBzdGF0aWMgdm9pZCBteHNmYl9lbmFibGVfY29udHJvbGxlcihzdHJ1Y3QKbXhz ZmJfZHJtX3ByaXZhdGUgKm14c2ZiKQogICAgICAgIGlmIChteHNmYi0+Y2xrX2Rpc3BfYXhpKQog ICAgICAgICAgICAgICAgY2xrX3ByZXBhcmVfZW5hYmxlKG14c2ZiLT5jbGtfZGlzcF9heGkpOwog ICAgICAgIGNsa19wcmVwYXJlX2VuYWJsZShteHNmYi0+Y2xrKTsKLSAgICAgICBteHNmYl9lbmFi bGVfYXhpX2NsayhteHNmYik7CiAKICAgICAgICAvKiBJZiBpdCB3YXMgZGlzYWJsZWQsIHJlLWVu YWJsZSB0aGUgbW9kZSBhZ2FpbiAqLwogICAgICAgIHdyaXRlbChDVFJMX0RPVENMS19NT0RFLCBt eHNmYi0+YmFzZSArIExDRENfQ1RSTCArIFJFR19TRVQpOwpAQCAtMTU5LDggKzE1OCw2IEBAIHN0 YXRpYyB2b2lkIG14c2ZiX2Rpc2FibGVfY29udHJvbGxlcihzdHJ1Y3QKbXhzZmJfZHJtX3ByaXZh dGUgKm14c2ZiKQogICAgICAgIHJlZyAmPSB+VkRDVFJMNF9TWU5DX1NJR05BTFNfT047CiAgICAg ICAgd3JpdGVsKHJlZywgbXhzZmItPmJhc2UgKyBMQ0RDX1ZEQ1RSTDQpOwogCi0gICAgICAgbXhz ZmJfZGlzYWJsZV9heGlfY2xrKG14c2ZiKTsKLQogICAgICAgIGNsa19kaXNhYmxlX3VucHJlcGFy ZShteHNmYi0+Y2xrKTsKICAgICAgICBpZiAobXhzZmItPmNsa19kaXNwX2F4aSkKICAgICAgICAg ICAgICAgIGNsa19kaXNhYmxlX3VucHJlcGFyZShteHNmYi0+Y2xrX2Rpc3BfYXhpKTsKQEAgLTIw OCw3ICsyMDUsNiBAQCBzdGF0aWMgdm9pZCBteHNmYl9jcnRjX21vZGVfc2V0X25vZmIoc3RydWN0 Cm14c2ZiX2RybV9wcml2YXRlICpteHNmYikKICAgICAgICAgKiBydW5uaW5nLiBUaGlzIG1heSBs ZWFkIHRvIHNoaWZ0ZWQgcGljdHVyZXMgKEZJRk8gaXNzdWU/KSwgc28KICAgICAgICAgKiBmaXJz dCBzdG9wIHRoZSBjb250cm9sbGVyIGFuZCBkcmFpbiBpdHMgRklGT3MuCiAgICAgICAgICovCi0g ICAgICAgbXhzZmJfZW5hYmxlX2F4aV9jbGsobXhzZmIpOwogCiAgICAgICAgLyogTWFuZGF0b3J5 IGVMQ0RJRiByZXNldCBhcyBwZXIgdGhlIFJlZmVyZW5jZSBNYW51YWwgKi8KICAgICAgICBlcnIg PSBteHNmYl9yZXNldF9ibG9jayhteHNmYi0+YmFzZSk7CkBAIC0yNjksMTIgKzI2NSwxMSBAQCBz dGF0aWMgdm9pZCBteHNmYl9jcnRjX21vZGVfc2V0X25vZmIoc3RydWN0Cm14c2ZiX2RybV9wcml2 YXRlICpteHNmYikKIAogICAgICAgIHdyaXRlbChTRVRfRE9UQ0xLX0hfVkFMSURfREFUQV9DTlQo bS0+aGRpc3BsYXkpLAogICAgICAgICAgICAgICBteHNmYi0+YmFzZSArIExDRENfVkRDVFJMNCk7 Ci0KLSAgICAgICBteHNmYl9kaXNhYmxlX2F4aV9jbGsobXhzZmIpOwogfQogCiB2b2lkIG14c2Zi X2NydGNfZW5hYmxlKHN0cnVjdCBteHNmYl9kcm1fcHJpdmF0ZSAqbXhzZmIpCiB7CisgICAgICAg bXhzZmJfZW5hYmxlX2F4aV9jbGsobXhzZmIpOwogICAgICAgIG14c2ZiX2NydGNfbW9kZV9zZXRf bm9mYihteHNmYik7CiAgICAgICAgbXhzZmJfZW5hYmxlX2NvbnRyb2xsZXIobXhzZmIpOwogfQpA QCAtMjgyLDYgKzI3Nyw3IEBAIHZvaWQgbXhzZmJfY3J0Y19lbmFibGUoc3RydWN0IG14c2ZiX2Ry bV9wcml2YXRlCipteHNmYikKIHZvaWQgbXhzZmJfY3J0Y19kaXNhYmxlKHN0cnVjdCBteHNmYl9k cm1fcHJpdmF0ZSAqbXhzZmIpCiB7CiAgICAgICAgbXhzZmJfZGlzYWJsZV9jb250cm9sbGVyKG14 c2ZiKTsKKyAgICAgICBteHNmYl9kaXNhYmxlX2F4aV9jbGsobXhzZmIpOwogfQogCgpUaGVuIG1v dmUgdGhlIGFib3ZlIHNlY3Rpb24gYmV0d2VlbiBteHNmYl9jcnRjX21vZGVfc2V0X25vZmIoKSBh bmQKbXhzZmJfZW5hYmxlX2NvbnRyb2xsZXIoKS4KCi0tClN0ZWZhbgoKPiAgCW14c2ZiX2Rpc2Fi bGVfYXhpX2NsayhteHNmYik7Cj4gIH0KPiAgCj4gIHZvaWQgbXhzZmJfY3J0Y19lbmFibGUoc3Ry dWN0IG14c2ZiX2RybV9wcml2YXRlICpteHNmYikKPiAgewo+IEBAIC0yODcsMTYgKzMwOSwxMiBA QCB2b2lkIG14c2ZiX2NydGNfZGlzYWJsZShzdHJ1Y3QgbXhzZmJfZHJtX3ByaXZhdGUgKm14c2Zi KQo+ICB2b2lkIG14c2ZiX3BsYW5lX2F0b21pY191cGRhdGUoc3RydWN0IG14c2ZiX2RybV9wcml2 YXRlICpteHNmYiwKPiAgCQkJICAgICAgIHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlKQo+ ICB7Cj4gIAlzdHJ1Y3QgZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGUgKnBpcGUgPSAmbXhzZmItPnBp cGU7Cj4gIAlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSAmcGlwZS0+Y3J0YzsKPiAtCXN0cnVjdCBk cm1fZnJhbWVidWZmZXIgKmZiID0gcGlwZS0+cGxhbmUuc3RhdGUtPmZiOwo+ICAJc3RydWN0IGRy bV9wZW5kaW5nX3ZibGFua19ldmVudCAqZXZlbnQ7Cj4gLQlzdHJ1Y3QgZHJtX2dlbV9jbWFfb2Jq ZWN0ICpnZW07Cj4gLQo+IC0JaWYgKCFjcnRjKQo+IC0JCXJldHVybjsKPiArCWRtYV9hZGRyX3Qg cGFkZHI7Cj4gIAo+ICAJc3Bpbl9sb2NrX2lycSgmY3J0Yy0+ZGV2LT5ldmVudF9sb2NrKTsKPiAg CWV2ZW50ID0gY3J0Yy0+c3RhdGUtPmV2ZW50Owo+ICAJaWYgKGV2ZW50KSB7Cj4gIAkJY3J0Yy0+ c3RhdGUtPmV2ZW50ID0gTlVMTDsKPiBAQCAtMzA3LDE0ICszMjUsMTIgQEAgdm9pZCBteHNmYl9w bGFuZV9hdG9taWNfdXBkYXRlKHN0cnVjdAo+IG14c2ZiX2RybV9wcml2YXRlICpteHNmYiwKPiAg CQkJZHJtX2NydGNfc2VuZF92YmxhbmtfZXZlbnQoY3J0YywgZXZlbnQpOwo+ICAJCX0KPiAgCX0K PiAgCXNwaW5fdW5sb2NrX2lycSgmY3J0Yy0+ZGV2LT5ldmVudF9sb2NrKTsKPiAgCj4gLQlpZiAo IWZiKQo+IC0JCXJldHVybjsKPiAtCj4gLQlnZW0gPSBkcm1fZmJfY21hX2dldF9nZW1fb2JqKGZi LCAwKTsKPiAtCj4gLQlteHNmYl9lbmFibGVfYXhpX2NsayhteHNmYik7Cj4gLQl3cml0ZWwoZ2Vt LT5wYWRkciwgbXhzZmItPmJhc2UgKyBteHNmYi0+ZGV2ZGF0YS0+bmV4dF9idWYpOwo+IC0JbXhz ZmJfZGlzYWJsZV9heGlfY2xrKG14c2ZiKTsKPiArCXBhZGRyID0gbXhzZmJfZ2V0X2ZiX3BhZGRy KG14c2ZiKTsKPiArCWlmIChwYWRkcikgewo+ICsJCW14c2ZiX2VuYWJsZV9heGlfY2xrKG14c2Zi KTsKPiArCQl3cml0ZWwocGFkZHIsIG14c2ZiLT5iYXNlICsgbXhzZmItPmRldmRhdGEtPm5leHRf YnVmKTsKPiArCQlteHNmYl9kaXNhYmxlX2F4aV9jbGsobXhzZmIpOwo+ICsJfQo+ICB9Cl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWls aW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=