From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Ujfalusi Subject: [PATCH v3 3/3] drm/omap: partial workaround for DRA7xx DMM errata i878 Date: Tue, 10 Apr 2018 14:33:01 +0300 Message-ID: <20180410113301.18984-4-peter.ujfalusi@ti.com> References: <20180410113301.18984-1-peter.ujfalusi@ti.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180410113301.18984-1-peter.ujfalusi@ti.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: tomi.valkeinen@ti.com, laurent.pinchart@ideasonboard.com Cc: devicetree@vger.kernel.org, jsarha@ti.com, dri-devel@lists.freedesktop.org List-Id: devicetree@vger.kernel.org RnJvbTogVG9taSBWYWxrZWluZW4gPHRvbWkudmFsa2VpbmVuQHRpLmNvbT4KCkVycmF0YSBpODc4 IHNheXMgdGhhdCBNUFUgc2hvdWxkIG5vdCBiZSB1c2VkIHRvIGFjY2VzcyBSQU0gYW5kIERNTSBh dAp0aGUgc2FtZSB0aW1lLiBBcyBpdCdzIG5vdCBwb3NzaWJsZSB0byBwcmV2ZW50IE1QVSBhY2Nl c3NpbmcgUkFNLCB3ZQpuZWVkIHRvIGFjY2VzcyBETU0gdmlhIGEgcHJveHkuCgpUaGlzIHBhdGNo IGNoYW5nZXM6Ci0gRE1NIGRyaXZlciB0byBhY2Nlc3MgRE1NIHJlZ2lzdGVycyB2aWEgc0RNQS4g SW5zdGVhZCBvZiBkb2luZyBhIG5vcm1hbApyZWFkbC93cml0ZWwgY2FsbCB0byByZWFkL3dyaXRl IGEgcmVnaXN0ZXIsIHdlIHVzZSBzRE1BIHRvIGNvcHkgNCBieXRlcwpmcm9tL3RvIHRoZSBETU0g cmVnaXN0ZXJzLgotIFdoZW4gdGhlIGk4Nzggd29ya2Fyb3VuZCBpcyBuZWVkZWQgd2UgdXNlIHRo cmVhZGVkIGlycS4gSXQgaXMgbm90IGEgZ29vZApwcmFjdGljZSB0byBidXN5IGxvb3AgZm9yIGNv bXBsZXRpb24gb2YgdGhlIERNQSByZWdpc3RlciBhY2Nlc3MgaW4gdGhlCmludGVycnVwdCBoYW5k bGVyLiBUaGUgRE1BIHRyYW5zZmVyIHNob3VsZCBub3QgdGFrZSBsb25nIHRpbWUgdG8gY29tcGxl dGUsCmJ1dCBpZiBzb21ldGhpbmcgcHJldmVudHMgdGhlIHRyYW5zZmVyIHRvIGJlIGNvbXBsZXRl ZCB3ZSBtaWdodCBlbmQgdXAKd2FpdGluZyBmb3IgNSBzZWNvbmRzLgoKVGhpcyBwYXRjaCBwcm92 aWRlcyBvbmx5IGEgcGFydGlhbCB3b3JrYXJvdW5kIGZvciBpODc4LCBhcyBub3Qgb25seSBETU0K cmVnaXN0ZXIgcmVhZHMvd3JpdGVzIGFyZSBhZmZlY3RlZCwgYnV0IGFsc28gYWNjZXNzZXMgdG8g dGhlIERNTSBtYXBwZWQKYnVmZmVycyAoZnJhbWVidWZmZXJzLCB1c3VhbGx5KS4KClNpZ25lZC1v ZmYtYnk6IFRvbWkgVmFsa2VpbmVuIDx0b21pLnZhbGtlaW5lbkB0aS5jb20+ClNpZ25lZC1vZmYt Ynk6IFBldGVyIFVqZmFsdXNpIDxwZXRlci51amZhbHVzaUB0aS5jb20+Ci0tLQogZHJpdmVycy9n cHUvZHJtL29tYXBkcm0vb21hcF9kbW1fcHJpdi5oICB8ICAgOCArKwogZHJpdmVycy9ncHUvZHJt L29tYXBkcm0vb21hcF9kbW1fdGlsZXIuYyB8IDE2MSArKysrKysrKysrKysrKysrKysrKysrLQog MiBmaWxlcyBjaGFuZ2VkLCAxNjUgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2RtbV9wcml2LmggYi9kcml2ZXJz L2dwdS9kcm0vb21hcGRybS9vbWFwX2RtbV9wcml2LmgKaW5kZXggYzI3ODVjYzk4ZGM5Li5hMDE2 NDY1MmRiMWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZG1tX3By aXYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2RtbV9wcml2LmgKQEAgLTE1 NSwxMCArMTU1LDEyIEBAIHN0cnVjdCByZWZpbGxfZW5naW5lIHsKIAogc3RydWN0IGRtbV9wbGF0 Zm9ybV9kYXRhIHsKIAl1MzIgY3B1X2NhY2hlX2ZsYWdzOworCWJvb2wgZXJyYXRhX2k4Nzhfd2E7 CiB9OwogCiBzdHJ1Y3QgZG1tIHsKIAlzdHJ1Y3QgZGV2aWNlICpkZXY7CisJZG1hX2FkZHJfdCBw aHlzX2Jhc2U7CiAJdm9pZCBfX2lvbWVtICpiYXNlOwogCWludCBpcnE7CiAKQEAgLTE4OSw2ICsx OTEsMTIgQEAgc3RydWN0IGRtbSB7CiAJc3RydWN0IGxpc3RfaGVhZCBhbGxvY19oZWFkOwogCiAJ Y29uc3Qgc3RydWN0IGRtbV9wbGF0Zm9ybV9kYXRhICpwbGF0X2RhdGE7CisKKwlib29sIGRtbV93 b3JrYXJvdW5kOworCXN0cnVjdCBtdXRleCB3YV9sb2NrOworCXUzMiAqd2FfZG1hX2RhdGE7CisJ ZG1hX2FkZHJfdCB3YV9kbWFfaGFuZGxlOworCXN0cnVjdCBkbWFfY2hhbiAqd2FfZG1hX2NoYW47 CiB9OwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBf ZG1tX3RpbGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2RtbV90aWxlci5jCmlu ZGV4IDg2NzFkMDZjMGViNC4uZmFkNTVmMmZhYTQ3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vb21hcGRybS9vbWFwX2RtbV90aWxlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJt L29tYXBfZG1tX3RpbGVyLmMKQEAgLTE4LDEyICsxOCwxNCBAQAogI2luY2x1ZGUgPGxpbnV4L2Nv bXBsZXRpb24uaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgogI2luY2x1ZGUgPGxpbnV4L2Rt YS1tYXBwaW5nLmg+CisjaW5jbHVkZSA8bGludXgvZG1hZW5naW5lLmg+CiAjaW5jbHVkZSA8bGlu dXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvaW50 ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvbGlzdC5oPgogI2luY2x1ZGUgPGxpbnV4L21tLmg+ CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KICNp bmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4gLyogcGxhdGZvcm1fZGV2aWNlKCkgKi8K ICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgogI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+CkBA IC03MCw2ICs3Miw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgewogCVtUSUxGTVRfUEFHRV0gID0g R0VPTShTTE9UX1dJRFRIX0JJVFMsIFNMT1RfSEVJR0hUX0JJVFMsIDEpLAogfTsKIAorI2RlZmlu ZSBETU1fUkVHX1NJWkUJNAogCiAvKiBsb29rdXAgdGFibGUgZm9yIHJlZ2lzdGVycyB3LyBwZXIt ZW5naW5lIGluc3RhbmNlcyAqLwogc3RhdGljIGNvbnN0IHUzMiByZWdbXVs0XSA9IHsKQEAgLTc5 LDE0ICs4MiwxMzUgQEAgc3RhdGljIGNvbnN0IHUzMiByZWdbXVs0XSA9IHsKIAkJCURNTV9QQVRf REVTQ1JfXzIsIERNTV9QQVRfREVTQ1JfXzN9LAogfTsKIAorc3RhdGljIGludCBkbW1fZG1hX2Nv cHkoc3RydWN0IGRtbSAqZG1tLCBkbWFfYWRkcl90IHNyYywgZG1hX2FkZHJfdCBkc3QpCit7CisJ c3RydWN0IGRtYV9hc3luY190eF9kZXNjcmlwdG9yICp0eDsKKwllbnVtIGRtYV9zdGF0dXMgc3Rh dHVzOworCWRtYV9jb29raWVfdCBjb29raWU7CisKKwl0eCA9IGRtYWVuZ2luZV9wcmVwX2RtYV9t ZW1jcHkoZG1tLT53YV9kbWFfY2hhbiwgZHN0LCBzcmMsIDQsIDApOworCWlmICghdHgpIHsKKwkJ ZGV2X2VycihkbW0tPmRldiwgIkZhaWxlZCB0byBwcmVwYXJlIERNQSBtZW1jcHlcbiIpOworCQly ZXR1cm4gLUVJTzsKKwl9CisKKwljb29raWUgPSB0eC0+dHhfc3VibWl0KHR4KTsKKwlpZiAoZG1h X3N1Ym1pdF9lcnJvcihjb29raWUpKSB7CisJCWRldl9lcnIoZG1tLT5kZXYsICJGYWlsZWQgdG8g ZG8gRE1BIHR4X3N1Ym1pdFxuIik7CisJCXJldHVybiAtRUlPOworCX0KKworCXN0YXR1cyA9IGRt YV9zeW5jX3dhaXQoZG1tLT53YV9kbWFfY2hhbiwgY29va2llKTsKKwlpZiAoc3RhdHVzICE9IERN QV9DT01QTEVURSkKKwkJZGV2X2VycihkbW0tPmRldiwgImk4Nzggd2EgRE1BIGNvcHkgZmFpbHVy ZVxuIik7CisKKwlkbWFlbmdpbmVfdGVybWluYXRlX2FsbChkbW0tPndhX2RtYV9jaGFuKTsKKwly ZXR1cm4gMDsKK30KKworc3RhdGljIHUzMiBkbW1fcmVhZF93YShzdHJ1Y3QgZG1tICpkbW0sIHUz MiByZWcpCit7CisJZG1hX2FkZHJfdCBzcmMsIGRzdDsKKwlpbnQgcjsKKworCXNyYyA9IGRtbS0+ cGh5c19iYXNlICsgcmVnOworCWRzdCA9IGRtbS0+d2FfZG1hX2hhbmRsZTsKKworCXIgPSBkbW1f ZG1hX2NvcHkoZG1tLCBzcmMsIGRzdCk7CisJaWYgKHIpIHsKKwkJZGV2X2VycihkbW0tPmRldiwg InNETUEgcmVhZCB0cmFuc2ZlciB0aW1lb3V0XG4iKTsKKwkJcmV0dXJuIHJlYWRsKGRtbS0+YmFz ZSArIHJlZyk7CisJfQorCisJLyoKKwkgKiBBcyBwZXIgaTg3OCB3b3JrYXJvdW5kLCB0aGUgRE1B IGlzIHVzZWQgdG8gYWNjZXNzIHRoZSBETU0gcmVnaXN0ZXJzLgorCSAqIE1ha2Ugc3VyZSB0aGF0 IHRoZSByZWFkbCBpcyBub3QgbW92ZWQgYnkgdGhlIGNvbXBpbGVyIG9yIHRoZSBDUFUKKwkgKiBl YXJsaWVyIHRoYW4gdGhlIERNQSBmaW5pc2hlZCB3cml0aW5nIHRoZSB2YWx1ZSB0byBtZW1vcnku CisJICovCisJcm1iKCk7CisJcmV0dXJuIHJlYWRsKGRtbS0+d2FfZG1hX2RhdGEpOworfQorCitz dGF0aWMgdm9pZCBkbW1fd3JpdGVfd2Eoc3RydWN0IGRtbSAqZG1tLCB1MzIgdmFsLCB1MzIgcmVn KQoreworCWRtYV9hZGRyX3Qgc3JjLCBkc3Q7CisJaW50IHI7CisKKwl3cml0ZWwodmFsLCBkbW0t PndhX2RtYV9kYXRhKTsKKwkvKgorCSAqIEFzIHBlciBpODc4IHdvcmthcm91bmQsIHRoZSBETUEg aXMgdXNlZCB0byBhY2Nlc3MgdGhlIERNTSByZWdpc3RlcnMuCisJICogTWFrZSBzdXJlIHRoYXQg dGhlIHdyaXRlbCBpcyBub3QgbW92ZWQgYnkgdGhlIGNvbXBpbGVyIG9yIHRoZSBDUFUsIHNvCisJ ICogdGhlIGRhdGEgd2lsbCBiZSBpbiBwbGFjZSBiZWZvcmUgd2Ugc3RhcnQgdGhlIERNQSB0byBk byB0aGUgYWN0dWFsCisJICogcmVnaXN0ZXIgd3JpdGUuCisJICovCisJd21iKCk7CisKKwlzcmMg PSBkbW0tPndhX2RtYV9oYW5kbGU7CisJZHN0ID0gZG1tLT5waHlzX2Jhc2UgKyByZWc7CisKKwly ID0gZG1tX2RtYV9jb3B5KGRtbSwgc3JjLCBkc3QpOworCWlmIChyKSB7CisJCWRldl9lcnIoZG1t LT5kZXYsICJzRE1BIHdyaXRlIHRyYW5zZmVyIHRpbWVvdXRcbiIpOworCQl3cml0ZWwodmFsLCBk bW0tPmJhc2UgKyByZWcpOworCX0KK30KKwogc3RhdGljIHUzMiBkbW1fcmVhZChzdHJ1Y3QgZG1t ICpkbW0sIHUzMiByZWcpCiB7Ci0JcmV0dXJuIHJlYWRsKGRtbS0+YmFzZSArIHJlZyk7CisJaWYg KGRtbS0+ZG1tX3dvcmthcm91bmQpIHsKKwkJdTMyIHY7CisKKwkJbXV0ZXhfbG9jaygmZG1tLT53 YV9sb2NrKTsKKwkJdiA9IGRtbV9yZWFkX3dhKGRtbSwgcmVnKTsKKwkJbXV0ZXhfdW5sb2NrKCZk bW0tPndhX2xvY2spOworCisJCXJldHVybiB2OworCX0gZWxzZSB7CisJCXJldHVybiByZWFkbChk bW0tPmJhc2UgKyByZWcpOworCX0KIH0KIAogc3RhdGljIHZvaWQgZG1tX3dyaXRlKHN0cnVjdCBk bW0gKmRtbSwgdTMyIHZhbCwgdTMyIHJlZykKIHsKLQl3cml0ZWwodmFsLCBkbW0tPmJhc2UgKyBy ZWcpOworCWlmIChkbW0tPmRtbV93b3JrYXJvdW5kKSB7CisJCW11dGV4X2xvY2soJmRtbS0+d2Ff bG9jayk7CisJCWRtbV93cml0ZV93YShkbW0sIHZhbCwgcmVnKTsKKwkJbXV0ZXhfdW5sb2NrKCZk bW0tPndhX2xvY2spOworCX0gZWxzZSB7CisJCXdyaXRlbCh2YWwsIGRtbS0+YmFzZSArIHJlZyk7 CisJfQorfQorCitzdGF0aWMgaW50IGRtbV93b3JrYXJvdW5kX2luaXQoc3RydWN0IGRtbSAqZG1t KQoreworCWRtYV9jYXBfbWFza190IG1hc2s7CisKKwltdXRleF9pbml0KCZkbW0tPndhX2xvY2sp OworCisJZG1tLT53YV9kbWFfZGF0YSA9IGRtYV9hbGxvY19jb2hlcmVudChkbW0tPmRldiwgRE1N X1JFR19TSVpFLAorCQkJCQkgICAgICAmZG1tLT53YV9kbWFfaGFuZGxlLCBHRlBfS0VSTkVMKTsK KwlpZiAoIWRtbS0+d2FfZG1hX2RhdGEpCisJCXJldHVybiAtRU5PTUVNOworCisJZG1hX2NhcF96 ZXJvKG1hc2spOworCWRtYV9jYXBfc2V0KERNQV9NRU1DUFksIG1hc2spOworCisJZG1tLT53YV9k bWFfY2hhbiA9IGRtYV9yZXF1ZXN0X2NoYW5uZWwobWFzaywgTlVMTCwgTlVMTCk7CisJaWYgKCFk bW0tPndhX2RtYV9jaGFuKSB7CisJCWRtYV9mcmVlX2NvaGVyZW50KGRtbS0+ZGV2LCBETU1fUkVH X1NJWkUsIGRtbS0+d2FfZG1hX2RhdGEsCisJCQkJICBkbW0tPndhX2RtYV9oYW5kbGUpOworCQly ZXR1cm4gLUVOT0RFVjsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgZG1tX3dv cmthcm91bmRfdW5pbml0KHN0cnVjdCBkbW0gKmRtbSkKK3sKKwlkbWFfcmVsZWFzZV9jaGFubmVs KGRtbS0+d2FfZG1hX2NoYW4pOworCisJZG1hX2ZyZWVfY29oZXJlbnQoZG1tLT5kZXYsIERNTV9S RUdfU0laRSwgZG1tLT53YV9kbWFfZGF0YSwKKwkJCSAgZG1tLT53YV9kbWFfaGFuZGxlKTsKIH0K IAogLyogc2ltcGxlIGFsbG9jYXRvciB0byBncmFiIG5leHQgMTYgYnl0ZSBhbGlnbmVkIG1lbW9y eSBmcm9tIHR4biAqLwpAQCAtNjM0LDYgKzc1OCw5IEBAIHN0YXRpYyBpbnQgb21hcF9kbW1fcmVt b3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldikKIAogCQlmcmVlX2lycShvbWFwX2RtbS0+ aXJxLCBvbWFwX2RtbSk7CiAKKwkJaWYgKG9tYXBfZG1tLT5kbW1fd29ya2Fyb3VuZCkKKwkJCWRt bV93b3JrYXJvdW5kX3VuaW5pdChvbWFwX2RtbSk7CisKIAkJaW91bm1hcChvbWFwX2RtbS0+YmFz ZSk7CiAJCWtmcmVlKG9tYXBfZG1tKTsKIAkJb21hcF9kbW0gPSBOVUxMOwpAQCAtNjc5LDYgKzgw Niw3IEBAIHN0YXRpYyBpbnQgb21hcF9kbW1fcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAq ZGV2KQogCQlnb3RvIGZhaWw7CiAJfQogCisJb21hcF9kbW0tPnBoeXNfYmFzZSA9IG1lbS0+c3Rh cnQ7CiAJb21hcF9kbW0tPmJhc2UgPSBpb3JlbWFwKG1lbS0+c3RhcnQsIFNaXzJLKTsKIAogCWlm ICghb21hcF9kbW0tPmJhc2UpIHsKQEAgLTY5NCw2ICs4MjIsMTcgQEAgc3RhdGljIGludCBvbWFw X2RtbV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYpCiAKIAlvbWFwX2RtbS0+ZGV2 ID0gJmRldi0+ZGV2OwogCisJaWYgKG9tYXBfZG1tLT5wbGF0X2RhdGEtPmVycmF0YV9pODc4X3dh KSB7CisJCWlmICghZG1tX3dvcmthcm91bmRfaW5pdChvbWFwX2RtbSkpIHsKKwkJCW9tYXBfZG1t LT5kbW1fd29ya2Fyb3VuZCA9IHRydWU7CisJCQlkZXZfaW5mbygmZGV2LT5kZXYsCisJCQkJIndv cmthcm91bmQgZm9yIGVycmF0YSBpODc4IGluIHVzZVxuIik7CisJCX0gZWxzZSB7CisJCQlkZXZf d2FybigmZGV2LT5kZXYsCisJCQkJICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSB3b3JrLWFyb3VuZCBm b3IgaTg3OFxuIik7CisJCX0KKwl9CisKIAlod2luZm8gPSBkbW1fcmVhZChvbWFwX2RtbSwgRE1N X1BBVF9IV0lORk8pOwogCW9tYXBfZG1tLT5udW1fZW5naW5lcyA9IChod2luZm8gPj4gMjQpICYg MHgxRjsKIAlvbWFwX2RtbS0+bnVtX2x1dCA9IChod2luZm8gPj4gMTYpICYgMHgxRjsKQEAgLTcy MCw4ICs4NTksMTMgQEAgc3RhdGljIGludCBvbWFwX2RtbV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1f ZGV2aWNlICpkZXYpCiAJZG1tX3dyaXRlKG9tYXBfZG1tLCAweDg4ODg4ODg4LCBETU1fVElMRVJf T1JfXzApOwogCWRtbV93cml0ZShvbWFwX2RtbSwgMHg4ODg4ODg4OCwgRE1NX1RJTEVSX09SX18x KTsKIAotCXJldCA9IHJlcXVlc3RfaXJxKG9tYXBfZG1tLT5pcnEsIG9tYXBfZG1tX2lycV9oYW5k bGVyLCBJUlFGX1NIQVJFRCwKLQkJCQkib21hcF9kbW1faXJxX2hhbmRsZXIiLCBvbWFwX2RtbSk7 CisJaWYgKG9tYXBfZG1tLT5kbW1fd29ya2Fyb3VuZCkKKwkJcmV0ID0gcmVxdWVzdF90aHJlYWRl ZF9pcnEob21hcF9kbW0tPmlycSwgTlVMTCwKKwkJCQkJICAgb21hcF9kbW1faXJxX2hhbmRsZXIs IElSUUZfT05FU0hPVCwKKwkJCQkJICAgIm9tYXBfZG1tX2lycV9oYW5kbGVyIiwgb21hcF9kbW0p OworCWVsc2UKKwkJcmV0ID0gcmVxdWVzdF9pcnEob21hcF9kbW0tPmlycSwgb21hcF9kbW1faXJx X2hhbmRsZXIsCisJCQkJSVJRRl9TSEFSRUQsICJvbWFwX2RtbV9pcnFfaGFuZGxlciIsIG9tYXBf ZG1tKTsKIAogCWlmIChyZXQpIHsKIAkJZGV2X2VycigmZGV2LT5kZXYsICJjb3VsZG4ndCByZWdp c3RlciBJUlEgJWQsIGVycm9yICVkXG4iLApAQCAtMTA1Nyw2ICsxMjAxLDExIEBAIHN0YXRpYyBj b25zdCBzdHJ1Y3QgZG1tX3BsYXRmb3JtX2RhdGEgZG1tX29tYXA1X3BsYXRmb3JtX2RhdGEgPSB7 CiAJLmNwdV9jYWNoZV9mbGFncyA9IE9NQVBfQk9fVU5DQUNIRUQsCiB9OwogCitzdGF0aWMgY29u c3Qgc3RydWN0IGRtbV9wbGF0Zm9ybV9kYXRhIGRtbV9kcmE3X3BsYXRmb3JtX2RhdGEgPSB7CisJ LmNwdV9jYWNoZV9mbGFncyA9IE9NQVBfQk9fVU5DQUNIRUQsCisJLmVycmF0YV9pODc4X3dhID0g dHJ1ZSwKK307CisKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGRtbV9vZl9tYXRj aFtdID0gewogCXsKIAkJLmNvbXBhdGlibGUgPSAidGksb21hcDQtZG1tIiwKQEAgLTEwNjYsNiAr MTIxNSwxMCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBkbW1fb2ZfbWF0Y2hb XSA9IHsKIAkJLmNvbXBhdGlibGUgPSAidGksb21hcDUtZG1tIiwKIAkJLmRhdGEgPSAmZG1tX29t YXA1X3BsYXRmb3JtX2RhdGEsCiAJfSwKKwl7CisJCS5jb21wYXRpYmxlID0gInRpLGRyYTctZG1t IiwKKwkJLmRhdGEgPSAmZG1tX2RyYTdfcGxhdGZvcm1fZGF0YSwKKwl9LAogCXt9LAogfTsKICNl bmRpZgotLSAKUGV0ZXIKClRleGFzIEluc3RydW1lbnRzIEZpbmxhbmQgT3ksIFBvcmtrYWxhbmth dHUgMjIsIDAwMTgwIEhlbHNpbmtpLgpZLXR1bm51cy9CdXNpbmVzcyBJRDogMDYxNTUyMS00LiBL b3RpcGFpa2thL0RvbWljaWxlOiBIZWxzaW5raQoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vZHJpLWRldmVsCg==