From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yakir Yang Subject: Re: [PATCH] drm/analogix_dp: Ensure the panel is properly prepared/unprepared Date: Mon, 1 Aug 2016 11:28:15 +0800 Message-ID: <579EC1CF.9000302@rock-chips.com> References: <1469819791-31860-1-git-send-email-seanpaul@chromium.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1469819791-31860-1-git-send-email-seanpaul@chromium.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Sean Paul Cc: k.kozlowski@samsung.com, linux-samsung-soc@vger.kernel.org, linux-rockchip@lists.infradead.org, yzq@rock-chips.com, jingoohan1@gmail.com, emil.l.velikov@gmail.com, dianders@chromium.org, dri-devel@lists.freedesktop.org, tfiga@chromium.org, javier@osg.samsung.com, daniel.vetter@ffwll.ch, marcheu@chromium.org, treding@nvidia.com, linux-kernel@vger.kernel.org List-Id: linux-rockchip.vger.kernel.org U2VhbiwKCk9uIDA3LzMwLzIwMTYgMDM6MTYgQU0sIFNlYW4gUGF1bCB3cm90ZToKPiBJbnN0ZWFk IG9mIGp1c3QgcHJlcGFyaW5nIHRoZSBwYW5lbCBvbiBiaW5kLCBhY3R1YWxseSBwcmVwYXJlL3Vu cHJlcGFyZQo+IGR1cmluZyBtb2Rlc2V0L2Rpc2FibGUuIFRoZSBwYW5lbCBtdXN0IGJlIHByZXBh cmVkIGluIG9yZGVyIHRvIHJlYWQgaHBkCj4gc3RhdHVzLCBzbyB3ZSBuZWVkIHRvIHJlZmNvdW50 IHRoZSBwcmVwYXJlcyBpbiBvcmRlciB0byBlbnN1cmUgd2UgZG9uJ3QKPiBhY2NpZGVudGFsbHkg dHVybiB0aGUgcGFuZWwgb2ZmIGF0IHRoZSB3cm9uZyB0aW1lLgo+Cj4gU2lnbmVkLW9mZi1ieTog U2VhbiBQYXVsIDxzZWFucGF1bEBjaHJvbWl1bS5vcmc+Cj4gLS0tCj4KPgo+IEhpIFlha2lyLAo+ IFRoaXMgaXMgd2hhdCBJIHdhcyB0YWxraW5nIGFib3V0IHVwdGhyZWFkLiBJJ3ZlIHRlc3RlZCBp dCBhbmQgaXQgc2VlbXMgdG8gYmUgd29ya2luZy4KPgo+IFdoYXQgZG8geW91IHRoaW5rPwoKVGhh bmtzIGZvciB5b3VyIHBhdGNoLCBhbmQgaXQgd29ya3MuIEJ1dCBJIGhhdmUgaW50cm9kdWNlZCB0 d28gCnF1ZXN0aW9ucywgYW5kIEkgaGF2ZW4ndCBmb3VuZCBhIHdheSB0byBmaXhlZCB0aGVtLgoK PiBTZWFuCj4KPgo+Cj4gZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC9hbmFsb2dpeF9k cF9jb3JlLmMgfCA0OCArKysrKysrKysrKysrKysrKy0tLS0tCj4gICAxIGZpbGUgY2hhbmdlZCwg MzcgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC9hbmFsb2dpeF9kcF9jb3JlLmMgYi9kcml2ZXJzL2dw dS9kcm0vYnJpZGdlL2FuYWxvZ2l4L2FuYWxvZ2l4X2RwX2NvcmUuYwo+IGluZGV4IDMyNzE1ZGEu LjdiNzY0YTQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC9h bmFsb2dpeF9kcF9jb3JlLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4 L2FuYWxvZ2l4X2RwX2NvcmUuYwo+IEBAIC05NjAsMTEgKzk2MCwyNyBAQCBlbnVtIGRybV9jb25u ZWN0b3Jfc3RhdHVzCj4gICBhbmFsb2dpeF9kcF9kZXRlY3Qoc3RydWN0IGRybV9jb25uZWN0b3Ig KmNvbm5lY3RvciwgYm9vbCBmb3JjZSkKPiAgIHsKPiAgIAlzdHJ1Y3QgYW5hbG9naXhfZHBfZGV2 aWNlICpkcCA9IHRvX2RwKGNvbm5lY3Rvcik7Cj4gKwllbnVtIGRybV9jb25uZWN0b3Jfc3RhdHVz IHN0YXR1cyA9IGNvbm5lY3Rvcl9zdGF0dXNfZGlzY29ubmVjdGVkOwo+ICsJaW50IHJldDsKPiAg IAo+IC0JaWYgKGFuYWxvZ2l4X2RwX2RldGVjdF9ocGQoZHApKQo+IC0JCXJldHVybiBjb25uZWN0 b3Jfc3RhdHVzX2Rpc2Nvbm5lY3RlZDsKPiArCWlmIChkcC0+cGxhdF9kYXRhLT5wYW5lbCAmJiBk cC0+ZHBtc19tb2RlICE9IERSTV9NT0RFX0RQTVNfT04pIHsKPiArCQlyZXQgPSBkcm1fcGFuZWxf cHJlcGFyZShkcC0+cGxhdF9kYXRhLT5wYW5lbCk7Cj4gKwkJaWYgKHJldCkgewo+ICsJCQlEUk1f RVJST1IoImZhaWxlZCB0byBzZXR1cCBwYW5lbCAoJWQpXG4iLCByZXQpOwo+ICsJCQlyZXR1cm4g Y29ubmVjdG9yX3N0YXR1c19kaXNjb25uZWN0ZWQ7Cj4gKwkJfQo+ICsJfQo+ICsKPiArCWlmICgh YW5hbG9naXhfZHBfZGV0ZWN0X2hwZChkcCkpCj4gKwkJc3RhdHVzID0gY29ubmVjdG9yX3N0YXR1 c19jb25uZWN0ZWQ7Cj4gKwo+ICsJaWYgKGRwLT5wbGF0X2RhdGEtPnBhbmVsICYmIGRwLT5kcG1z X21vZGUgIT0gRFJNX01PREVfRFBNU19PTikgewo+ICsJCXJldCA9IGRybV9wYW5lbF91bnByZXBh cmUoZHAtPnBsYXRfZGF0YS0+cGFuZWwpOwo+ICsJCWlmIChyZXQpCj4gKwkJCURSTV9FUlJPUigi ZmFpbGVkIHRvIHNldHVwIHRoZSBwYW5lbCByZXQgPSAlZFxuIiwgcmV0KTsKPiArCX0KPiAgIAo+ IC0JcmV0dXJuIGNvbm5lY3Rvcl9zdGF0dXNfY29ubmVjdGVkOwo+ICsJcmV0dXJuIHN0YXR1czsK CjEuIFBhbmVsIHdvdWxkIGZsaWNrZXIgYXQgc3lzdGVtIGJvb3QgdGltZS4gWW91ciBwYXRjaCB3 b3VsZCBmbGFzaCB0aGUgCnBhbmVsIHBvd2VyIGluIGNvbm5lY3Rvci0+ZGV0ZWN0KCkgZnVuY3Rp b24gd2hlbiBkcC0+ZHBtc19tb2RlIGlzbid0IApEUk1fTU9ERV9EUE1TX09GRi4gU28gd2hlbiB1 c2Vyc3BhY2Uga2VlcCBkZXRlY3QgdGhlIGNvbm5lY3RvciBzdGF0dXMgaW4gCmJvb3QgdGltZSwg d2UgY291bGQgc2VlIHBhbmVsIHdvdWxkIGZsaWNrZXIgKGxpZ2h0IHVwIGZvciBhIHdoaWxlLCBh bmQgCnR1cm4gb2ZmIGFnYWluLCBhbmQga2VlcCBsb29wIGZvciBzZXZlcmFsIHRpbWUpLiBJIGhh dmUgY29waWVkIHNvbWUgCmtlcm5lbCBsb2dzOgoKClsgICAxMS4wNjUyNjddIFlLSyAtLS0tLS0t LS0gYW5hbG9naXhfZHBfZGV0ZWN0OjEwNTIKWyAgIDExLjcyOTU5Nl0gWUtLIC0tLS0tLS0tLSBh bmFsb2dpeF9kcF9nZXRfbW9kZXM6MTAxNgpbICAgMTEuNzM3NjA4XSByb2NrY2hpcC1kcCBmZjk3 MDAwMC5lZHA6IAphbmFsb2dpeF9kcF9yZWFkX2J5dGVzX2Zyb21fZHBjZDogQXV4IFRyYW5zYWN0 aW9uIGZhaWwhClsgICAxMS43NDkyMjldIHJvY2tjaGlwLWRwIGZmOTcwMDAwLmVkcDogCmFuYWxv Z2l4X2RwX3JlYWRfYnl0ZXNfZnJvbV9kcGNkOiBBdXggVHJhbnNhY3Rpb24gZmFpbCEKWyAgIDEx Ljc2MDc5OV0gcm9ja2NoaXAtZHAgZmY5NzAwMDAuZWRwOiAKYW5hbG9naXhfZHBfcmVhZF9ieXRl c19mcm9tX2RwY2Q6IEF1eCBUcmFuc2FjdGlvbiBmYWlsIQpbICAgMTMuMzE1OTYyXSBZS0sgLS0t LS0tLS0tIGFuYWxvZ2l4X2RwX2RldGVjdDoxMDUyClsgICAxMy45ODQ3MDJdIFlLSyAtLS0tLS0t LS0gYW5hbG9naXhfZHBfZ2V0X21vZGVzOjEwMTYKWyAgIDEzLjk5Mjk3N10gcm9ja2NoaXAtZHAg ZmY5NzAwMDAuZWRwOiAKYW5hbG9naXhfZHBfcmVhZF9ieXRlc19mcm9tX2RwY2Q6IEF1eCBUcmFu c2FjdGlvbiBmYWlsIQpbICAgMTQuMDA0NDE0XSByb2NrY2hpcC1kcCBmZjk3MDAwMC5lZHA6IAph bmFsb2dpeF9kcF9yZWFkX2J5dGVzX2Zyb21fZHBjZDogQXV4IFRyYW5zYWN0aW9uIGZhaWwhClsg ICAxNC4wMTU4NDJdIHJvY2tjaGlwLWRwIGZmOTcwMDAwLmVkcDogCmFuYWxvZ2l4X2RwX3JlYWRf Ynl0ZXNfZnJvbV9kcGNkOiBBdXggVHJhbnNhY3Rpb24gZmFpbCEKWyAgIDE0LjE4MzEwOV0gWUtL IC0tLS0tLS0tLSBhbmFsb2dpeF9kcF9icmlkZ2VfcHJlX2VuYWJsZToxMTQ3ClsgICAxNC4zMDYz MDFdIHJvY2tjaGlwLWRwIGZmOTcwMDAwLmVkcDogTGluayBUcmFpbmluZyBDbG9jayBSZWNvdmVy eSAKc3VjY2VzcwpbICAgMTQuMzE5MTMwXSByb2NrY2hpcC1kcCBmZjk3MDAwMC5lZHA6IExpbmsg VHJhaW5pbmcgc3VjY2VzcyEKWyAgIDE0LjMyNjM4OF0gcm9ja2NoaXAtZHAgZmY5NzAwMDAuZWRw OiB3YWl0IFNZU19DVExfMi4KWyAgIDE0LjQzNzI0N10gcm9ja2NoaXAtZHAgZmY5NzAwMDAuZWRw OiBUaW1lb3V0IG9mIHZpZGVvIHN0cmVhbWNsayBvawpbICAgMTQuNDQzNTg1XSByb2NrY2hpcC1k cCBmZjk3MDAwMC5lZHA6IHVuYWJsZSB0byBjb25maWcgdmlkZW8KCgo+ICAgfQo+ICAgCj4gICBz dGF0aWMgdm9pZCBhbmFsb2dpeF9kcF9jb25uZWN0b3JfZGVzdHJveShzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29ubmVjdG9yKQo+IEBAIC0xMDM1LDYgKzEwNTEsMTggQEAgc3RhdGljIGludCBhbmFs b2dpeF9kcF9icmlkZ2VfYXR0YWNoKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UpCj4gICAJcmV0 dXJuIDA7Cj4gICB9Cj4gICAKPiArc3RhdGljIHZvaWQgYW5hbG9naXhfZHBfYnJpZGdlX3ByZV9l bmFibGUoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSkKPiArewo+ICsJc3RydWN0IGFuYWxvZ2l4 X2RwX2RldmljZSAqZHAgPSBicmlkZ2UtPmRyaXZlcl9wcml2YXRlOwo+ICsJaW50IHJldDsKPiAr Cj4gKwlpZiAoZHAtPnBsYXRfZGF0YS0+cGFuZWwpIHsKPiArCQlyZXQgPSBkcm1fcGFuZWxfcHJl cGFyZShkcC0+cGxhdF9kYXRhLT5wYW5lbCk7Cj4gKwkJaWYgKHJldCkKPiArCQkJRFJNX0VSUk9S KCJmYWlsZWQgdG8gc2V0dXAgdGhlIHBhbmVsIHJldCA9ICVkXG4iLCByZXQpOwo+ICsJfQoKMi4g RHJpdmVyIHdvdWxkIGZhaWxlZCB0byByZWFkIEVESUQgaW4gc29tZSBjYXNlLiBQYW5lbCB3b3Vs ZCBvbmx5IGJlIApwb3dlcmVkIHVwIGluIGJyaWRnZS0+cHJlX2VuYWJsZSgpIGZ1bmN0aW9uIHdo aWNoIGxhdGVyIHRoYW4gCmNvbm5lY3Rvci0+Z2V0X21vZGVzKCkgZnVuY3Rpb24sIGFuZCB0aGlz IHdvdWxkIGNhdXNlZCBEUENEIHRyYW5zZmVyIApmYWlsZWQgaW4gYW5hbG9naXhfZHBfaGFuZGxl X2VkaWQoKS4gVGhpcyBzZWVtIHdvbid0IGNhdXNlZCB0b28gYmlnIAppc3N1ZSwgY2F1c2UgdXNl cnNwYWNlIHdvdWxkIHJlYWQgRURJRCBhZ2FpbiBhZnRlciBicmlkZ2UvZW5jb2RlciBpcyAKZW5h YmxlZC4gQnV0IGl0J3MgYmV0dGVyIHRvIGF2b2lkIHRoaXMgcG90ZW50aWFsIGJ1Zy4KCgpbICAg MTEuMDY1MjY3XSBZS0sgLS0tLS0tLS0tIGFuYWxvZ2l4X2RwX2RldGVjdDoxMDUyClsgICAxMS43 Mjk1OTZdIFlLSyAtLS0tLS0tLS0gYW5hbG9naXhfZHBfZ2V0X21vZGVzOjEwMTYKWyAgIDExLjcz NzYwOF0gcm9ja2NoaXAtZHAgZmY5NzAwMDAuZWRwOiAKYW5hbG9naXhfZHBfcmVhZF9ieXRlc19m cm9tX2RwY2Q6IEF1eCBUcmFuc2FjdGlvbiBmYWlsIQpbICAgMTEuNzQ5MjI5XSByb2NrY2hpcC1k cCBmZjk3MDAwMC5lZHA6IAphbmFsb2dpeF9kcF9yZWFkX2J5dGVzX2Zyb21fZHBjZDogQXV4IFRy YW5zYWN0aW9uIGZhaWwhClsgICAxMS43NjA3OTldIHJvY2tjaGlwLWRwIGZmOTcwMDAwLmVkcDog CmFuYWxvZ2l4X2RwX3JlYWRfYnl0ZXNfZnJvbV9kcGNkOiBBdXggVHJhbnNhY3Rpb24gZmFpbCEK WyAgIDEzLjMxNTk2Ml0gWUtLIC0tLS0tLS0tLSBhbmFsb2dpeF9kcF9kZXRlY3Q6MTA1MgpbICAg MTMuOTg0NzAyXSBZS0sgLS0tLS0tLS0tIGFuYWxvZ2l4X2RwX2dldF9tb2RlczoxMDE2ClsgICAx My45OTI5NzddIHJvY2tjaGlwLWRwIGZmOTcwMDAwLmVkcDogCmFuYWxvZ2l4X2RwX3JlYWRfYnl0 ZXNfZnJvbV9kcGNkOiBBdXggVHJhbnNhY3Rpb24gZmFpbCEKWyAgIDE0LjAwNDQxNF0gcm9ja2No aXAtZHAgZmY5NzAwMDAuZWRwOiAKYW5hbG9naXhfZHBfcmVhZF9ieXRlc19mcm9tX2RwY2Q6IEF1 eCBUcmFuc2FjdGlvbiBmYWlsIQpbICAgMTQuMDE1ODQyXSByb2NrY2hpcC1kcCBmZjk3MDAwMC5l ZHA6IAphbmFsb2dpeF9kcF9yZWFkX2J5dGVzX2Zyb21fZHBjZDogQXV4IFRyYW5zYWN0aW9uIGZh aWwhClsgICAxNC4xODMxMDldIFlLSyAtLS0tLS0tLS0gYW5hbG9naXhfZHBfYnJpZGdlX3ByZV9l bmFibGU6MTE0NwpbICAgMTQuMzA2MzAxXSByb2NrY2hpcC1kcCBmZjk3MDAwMC5lZHA6IExpbmsg VHJhaW5pbmcgQ2xvY2sgUmVjb3ZlcnkgCnN1Y2Nlc3MKWyAgIDE0LjMxOTEzMF0gcm9ja2NoaXAt ZHAgZmY5NzAwMDAuZWRwOiBMaW5rIFRyYWluaW5nIHN1Y2Nlc3MhClsgICAxNC4zMjYzODhdIHJv Y2tjaGlwLWRwIGZmOTcwMDAwLmVkcDogd2FpdCBTWVNfQ1RMXzIuClsgICAxNC40MzcyNDddIHJv Y2tjaGlwLWRwIGZmOTcwMDAwLmVkcDogVGltZW91dCBvZiB2aWRlbyBzdHJlYW1jbGsgb2sKWyAg IDE0LjQ0MzU4NV0gcm9ja2NoaXAtZHAgZmY5NzAwMDAuZWRwOiB1bmFibGUgdG8gY29uZmlnIHZp ZGVvClsgICAxNC41MjA1NjVdIFlLSyAtLS0tLS0tLS0gYW5hbG9naXhfZHBfZGV0ZWN0OjEwNTIK WyAgIDE0LjUyNTMzOV0gWUtLIC0tLS0tLS0tLSBhbmFsb2dpeF9kcF9nZXRfbW9kZXM6MTAxNgpb ICAgMTQuNTMxMjMzXSByb2NrY2hpcC1kcCBmZjk3MDAwMC5lZHA6IEVESUQgZGF0YSBkb2VzIG5v dCBpbmNsdWRlIGFueSAKZXh0ZW5zaW9ucy4KWyAgIDE1LjU5NTcyNF0gWUtLIC0tLS0tLS0tLSBh bmFsb2dpeF9kcF9kZXRlY3Q6MTA1MgpbICAgMTUuNjAwNDg4XSBZS0sgLS0tLS0tLS0tIGFuYWxv Z2l4X2RwX2dldF9tb2RlczoxMDE2ClsgICAxNS42MDY0NTFdIHJvY2tjaGlwLWRwIGZmOTcwMDAw LmVkcDogRURJRCBkYXRhIGRvZXMgbm90IGluY2x1ZGUgYW55IApleHRlbnNpb25zLgpbICAgMTcu MzI3MzU0XSBZS0sgLS0tLS0tLS0tIGFuYWxvZ2l4X2RwX2RldGVjdDoxMDUyClsgICAxNy4zMzIx MDVdIFlLSyAtLS0tLS0tLS0gYW5hbG9naXhfZHBfZ2V0X21vZGVzOjEwMTYKWyAgIDE3LjMzODE3 MV0gcm9ja2NoaXAtZHAgZmY5NzAwMDAuZWRwOiBFRElEIGRhdGEgZG9lcyBub3QgaW5jbHVkZSBh bnkgCmV4dGVuc2lvbnMuClsgICA1Ni4yMzYwMjRdIFlLSyAtLS0tLS0tLS0gYW5hbG9naXhfZHBf ZGV0ZWN0OjEwNTIKWyAgIDU2LjI0MDgyMF0gWUtLIC0tLS0tLS0tLSBhbmFsb2dpeF9kcF9nZXRf bW9kZXM6MTAxNgpbICAgNTYuMjQ2ODU1XSByb2NrY2hpcC1kcCBmZjk3MDAwMC5lZHA6IEVESUQg ZGF0YSBkb2VzIG5vdCBpbmNsdWRlIGFueSAKZXh0ZW5zaW9ucy4KWyAgIDY0LjA5MjQ3N10gWUtL IC0tLS0tLS0tLSBhbmFsb2dpeF9kcF9kZXRlY3Q6MTA1MgpbICAgNjQuNzYzNzEyXSBZS0sgLS0t LS0tLS0tIGFuYWxvZ2l4X2RwX2dldF9tb2RlczoxMDE2CgoKCkJSLAotIFlha2lyCgo+ICt9Cj4g Kwo+ICAgc3RhdGljIHZvaWQgYW5hbG9naXhfZHBfYnJpZGdlX2VuYWJsZShzdHJ1Y3QgZHJtX2Jy aWRnZSAqYnJpZGdlKQo+ICAgewo+ICAgCXN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRwID0g YnJpZGdlLT5kcml2ZXJfcHJpdmF0ZTsKPiBAQCAtMTA1OCw2ICsxMDg2LDcgQEAgc3RhdGljIHZv aWQgYW5hbG9naXhfZHBfYnJpZGdlX2VuYWJsZShzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlKQo+ ICAgc3RhdGljIHZvaWQgYW5hbG9naXhfZHBfYnJpZGdlX2Rpc2FibGUoc3RydWN0IGRybV9icmlk Z2UgKmJyaWRnZSkKPiAgIHsKPiAgIAlzdHJ1Y3QgYW5hbG9naXhfZHBfZGV2aWNlICpkcCA9IGJy aWRnZS0+ZHJpdmVyX3ByaXZhdGU7Cj4gKwlpbnQgcmV0Owo+ICAgCj4gICAJaWYgKGRwLT5kcG1z X21vZGUgIT0gRFJNX01PREVfRFBNU19PTikKPiAgIAkJcmV0dXJuOwo+IEBAIC0xMDc3LDYgKzEx MDYsMTAgQEAgc3RhdGljIHZvaWQgYW5hbG9naXhfZHBfYnJpZGdlX2Rpc2FibGUoc3RydWN0IGRy bV9icmlkZ2UgKmJyaWRnZSkKPiAgIAo+ICAgCXBtX3J1bnRpbWVfcHV0X3N5bmMoZHAtPmRldik7 Cj4gICAKPiArCXJldCA9IGRybV9wYW5lbF91bnByZXBhcmUoZHAtPnBsYXRfZGF0YS0+cGFuZWwp Owo+ICsJaWYgKHJldCkKPiArCQlEUk1fRVJST1IoImZhaWxlZCB0byBzZXR1cCB0aGUgcGFuZWwg cmV0ID0gJWRcbiIsIHJldCk7Cj4gKwo+ICAgCWRwLT5kcG1zX21vZGUgPSBEUk1fTU9ERV9EUE1T X09GRjsKPiAgIH0KPiAgIAo+IEBAIC0xMTY1LDkgKzExOTgsOSBAQCBzdGF0aWMgdm9pZCBhbmFs b2dpeF9kcF9icmlkZ2Vfbm9wKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UpCj4gICB9Cj4gICAK PiAgIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2JyaWRnZV9mdW5jcyBhbmFsb2dpeF9kcF9icmlk Z2VfZnVuY3MgPSB7Cj4gKwkucHJlX2VuYWJsZSA9IGFuYWxvZ2l4X2RwX2JyaWRnZV9wcmVfZW5h YmxlLAo+ICAgCS5lbmFibGUgPSBhbmFsb2dpeF9kcF9icmlkZ2VfZW5hYmxlLAo+ICAgCS5kaXNh YmxlID0gYW5hbG9naXhfZHBfYnJpZGdlX2Rpc2FibGUsCj4gLQkucHJlX2VuYWJsZSA9IGFuYWxv Z2l4X2RwX2JyaWRnZV9ub3AsCj4gICAJLnBvc3RfZGlzYWJsZSA9IGFuYWxvZ2l4X2RwX2JyaWRn ZV9ub3AsCj4gICAJLm1vZGVfc2V0ID0gYW5hbG9naXhfZHBfYnJpZGdlX21vZGVfc2V0LAo+ICAg CS5hdHRhY2ggPSBhbmFsb2dpeF9kcF9icmlkZ2VfYXR0YWNoLAo+IEBAIC0xMzMzLDEzICsxMzY2 LDYgQEAgaW50IGFuYWxvZ2l4X2RwX2JpbmQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZHJt X2RldmljZSAqZHJtX2RldiwKPiAgIAo+ICAgCXBoeV9wb3dlcl9vbihkcC0+cGh5KTsKPiAgIAo+ IC0JaWYgKGRwLT5wbGF0X2RhdGEtPnBhbmVsKSB7Cj4gLQkJaWYgKGRybV9wYW5lbF9wcmVwYXJl KGRwLT5wbGF0X2RhdGEtPnBhbmVsKSkgewo+IC0JCQlEUk1fRVJST1IoImZhaWxlZCB0byBzZXR1 cCB0aGUgcGFuZWxcbiIpOwo+IC0JCQlyZXR1cm4gLUVCVVNZOwo+IC0JCX0KPiAtCX0KPiAtCj4g ICAJYW5hbG9naXhfZHBfaW5pdF9kcChkcCk7Cj4gICAKPiAgIAlyZXQgPSBkZXZtX3JlcXVlc3Rf dGhyZWFkZWRfaXJxKCZwZGV2LT5kZXYsIGRwLT5pcnEsCgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2 ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==