From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: [PATCH 4/5] drm/i915: Add DCS control for Panel PWM Date: Wed, 30 Mar 2016 17:03:42 +0300 Message-ID: <1459346623-30752-4-git-send-email-jani.nikula@intel.com> References: <1459346623-30752-1-git-send-email-jani.nikula@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 98CEA6E815 for ; Wed, 30 Mar 2016 14:04:58 +0000 (UTC) In-Reply-To: <1459346623-30752-1-git-send-email-jani.nikula@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: jani.nikula@intel.com, Deepak M , Yetunde Adebisi , Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org RnJvbTogRGVlcGFrIE0gPG0uZGVlcGFrQGludGVsLmNvbT4KCklmIHRoZSBzb3VyY2Ugb2YgdGhl IGJhY2tsaWdodCBQV00gaXMgZnJvbSB0aGUKcGFuZWwgdGhlbiB0aGUgUFdNIGNhbiBiZSBjb250 cm9sbGVkIGJ5IERDUwpjb21tYW5kLCB0aGlzIHBhdGNoIGFkZHMgdGhlIHN1cHBvcnQgdG8KZW5h YmxlL2Rpc2JhbGUgcGFuZWwgUFdNLCBjb250cm9sIGJhY2tsaWdodCBsZXZlbApldGMuLi4KCnYy OiBNb3ZpbmcgdGhlIENBQkMgYmtsIGZ1bmN0aW9ucyB0byBuZXcgZmlsZS4oSmFuaSkKCnYzOiBS ZWJhc2UKCnY0OiBSZWJhc2UKCnY1OiBVc2UgbWlwaV9kc2lfZGNzX3dyaXRlKCkgaW5zdGVhZCBv ZiBtaXBpX2RzaV9kY3Nfd3JpdGVfYnVmZmVyKCkgKEphbmkpCiAgICBNb3ZlIERDUyBtYWNyb2Bz IHRvIGluY2x1ZGUvdmlkZW8vbWlwaV9kaXNwbGF5LmggKEphbmkpCgp2NjogUmVuYW1lIHRoZSBm aWxlIHRvIGludGVsX2RzaV9wYW5lbF9wd20uYwogICAgUmVtb3ZpbmcgdGhlIENBQkMgb3BlcmF0 aW9ucwoKdjcgYnkgSmFuaTogcmVuYW1lcywgcmViYXNlcywgZXRjLgoKdjggYnkgSmFuaTogcy9J TlRFTF9CQUNLTElHSFRfQ0FCQy9JTlRFTF9CQUNLTElHSFRfRFNJX0RDUy8KCkNjOiBKYW5pIE5p a3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPgpDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZl dHRlckBpbnRlbC5jb20+CkNjOiBZZXR1bmRlIEFkZWJpc2kgPHlldHVuZGV4LmFkZWJpc2lAaW50 ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEZWVwYWsgTSA8bS5kZWVwYWtAaW50ZWwuY29tPgpTaWdu ZWQtb2ZmLWJ5OiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPgotLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlICAgICAgICAgICAgICAgICAgfCAgIDEgKwogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgICAgICAgICAgICB8ICAgMiArCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuYyAgICAgICAgICAgICAgIHwgIDE5ICsrLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmggICAgICAgICAgICAgICB8ICAgMyArCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kc2lfZGNzX2JhY2tsaWdodC5jIHwgMTU3ICsrKysrKysrKysr KysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMgICAgICAg ICAgICAgfCAgIDQgKwogNiBmaWxlcyBjaGFuZ2VkLCAxODQgaW5zZXJ0aW9ucygrKSwgMiBkZWxl dGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k c2lfZGNzX2JhY2tsaWdodC5jCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFr ZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQppbmRleCA3ZmZiNTFiMGNiYzIu LjNmNmEzY2ZhNjUyNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKQEAgLTgzLDYgKzgzLDcgQEAgaTkx NS15ICs9IGR2b19jaDcwMTcubyBcCiAJICBpbnRlbF9kcF9tc3QubyBcCiAJICBpbnRlbF9kcC5v IFwKIAkgIGludGVsX2RzaS5vIFwKKwkgIGludGVsX2RzaV9kY3NfYmFja2xpZ2h0Lm8gXAogCSAg aW50ZWxfZHNpX3BhbmVsX3ZidC5vIFwKIAkgIGludGVsX2RzaV9wbGwubyBcCiAJICBpbnRlbF9k dm8ubyBcCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCmluZGV4IGM4N2I0NTAzNDM1ZC4uMTc1OTNk MDY5ODE5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAorKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAtMTMyNSw2ICsxMzI1LDggQEAg dm9pZCBpbnRlbF9kcF9tc3RfZW5jb2Rlcl9jbGVhbnVwKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3Bv cnQgKmludGVsX2RpZ19wb3J0KTsKIC8qIGludGVsX2RzaS5jICovCiB2b2lkIGludGVsX2RzaV9p bml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogCisvKiBpbnRlbF9kc2lfZGNzX2JhY2tsaWdo dC5jICovCitpbnQgaW50ZWxfZHNpX2Rjc19iYWNrbGlnaHRfaW5pdF9mdW5jcyhzdHJ1Y3QgaW50 ZWxfY29ubmVjdG9yICppbnRlbF9jb25uZWN0b3IpOwogCiAvKiBpbnRlbF9kdm8uYyAqLwogdm9p ZCBpbnRlbF9kdm9faW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHNpLmMKaW5kZXggMGRlNzRlMWI3YWIzLi45MzI2ZTlkY2JlNTAgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RzaS5jCkBAIC0xMjIwLDEwICsxMjIwLDI1IEBAIHZvaWQgaW50ZWxfZHNpX2luaXQo c3RydWN0IGRybV9kZXZpY2UgKmRldikKIAllbHNlCiAJCWludGVsX2VuY29kZXItPmNydGNfbWFz ayA9IEJJVChQSVBFX0IpOwogCi0JaWYgKGRldl9wcml2LT52YnQuZHNpLmNvbmZpZy0+ZHVhbF9s aW5rKQorCWlmIChkZXZfcHJpdi0+dmJ0LmRzaS5jb25maWctPmR1YWxfbGluaykgewogCQlpbnRl bF9kc2ktPnBvcnRzID0gQklUKFBPUlRfQSkgfCBCSVQoUE9SVF9DKTsKLQllbHNlCisKKwkJc3dp dGNoIChkZXZfcHJpdi0+dmJ0LmRzaS5jb25maWctPmRsX2Rjc19iYWNrbGlnaHRfcG9ydHMpIHsK KwkJY2FzZSBETF9EQ1NfUE9SVF9BOgorCQkJaW50ZWxfZHNpLT5kY3NfYmFja2xpZ2h0X3BvcnRz ID0gQklUKFBPUlRfQSk7CisJCQlicmVhazsKKwkJY2FzZSBETF9EQ1NfUE9SVF9DOgorCQkJaW50 ZWxfZHNpLT5kY3NfYmFja2xpZ2h0X3BvcnRzID0gQklUKFBPUlRfQyk7CisJCQlicmVhazsKKwkJ ZGVmYXVsdDoKKwkJY2FzZSBETF9EQ1NfUE9SVF9BX0FORF9DOgorCQkJaW50ZWxfZHNpLT5kY3Nf YmFja2xpZ2h0X3BvcnRzID0gQklUKFBPUlRfQSkgfCBCSVQoUE9SVF9DKTsKKwkJCWJyZWFrOwor CQl9CisJfSBlbHNlIHsKIAkJaW50ZWxfZHNpLT5wb3J0cyA9IEJJVChwb3J0KTsKKwkJaW50ZWxf ZHNpLT5kY3NfYmFja2xpZ2h0X3BvcnRzID0gQklUKHBvcnQpOworCX0KIAogCS8qIENyZWF0ZSBh IERTSSBob3N0IChhbmQgYSBkZXZpY2UpIGZvciBlYWNoIHBvcnQuICovCiAJZm9yX2VhY2hfZHNp X3BvcnQocG9ydCwgaW50ZWxfZHNpLT5wb3J0cykgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHNpLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuaApp bmRleCBlYzU4ZWFkOWNjZDEuLmVmYjA3ZjQ1MzE2ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHNpLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNp LmgKQEAgLTc4LDYgKzc4LDkgQEAgc3RydWN0IGludGVsX2RzaSB7CiAKIAl1OCBlc2NhcGVfY2xr X2RpdjsKIAl1OCBkdWFsX2xpbms7CisKKwl1MTYgZGNzX2JhY2tsaWdodF9wb3J0czsKKwogCXU4 IHBpeGVsX292ZXJsYXA7CiAJdTMyIHBvcnRfYml0czsKIAl1MzIgYndfdGltZXI7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2lfZGNzX2JhY2tsaWdodC5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpX2Rjc19iYWNrbGlnaHQuYwpuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmJjYzEwYzEwNWMyMQotLS0gL2Rldi9udWxsCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaV9kY3NfYmFja2xpZ2h0LmMKQEAgLTAs MCArMSwxNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgwqkgMjAxNiBJbnRlbCBDb3Jwb3JhdGlvbgor ICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBh bnkgcGVyc29uIG9idGFpbmluZyBhCisgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29j aWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAorICogdG8gZGVhbCBp biB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGlt aXRhdGlvbgorICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxp c2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCisgKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhl IFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKKyAqIFNvZnR3YXJl IGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlv bnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lv biBub3RpY2UgKGluY2x1ZGluZyB0aGUgbmV4dAorICogcGFyYWdyYXBoKSBzaGFsbCBiZSBpbmNs dWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZQorICogU29m dHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQg V0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBC VVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorICog RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gIElO IE5PIEVWRU5UIFNIQUxMCisgKiBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBM SUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgorICogTElBQklMSVRZLCBXSEVU SEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcK KyAqIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRI RSBVU0UgT1IgT1RIRVIKKyAqIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KKyAqCisgKiBBdXRo b3I6IERlZXBhayBNIDxtLmRlZXBhayBhdCBpbnRlbC5jb20+CisgKi8KKworI2luY2x1ZGUgImlu dGVsX2Rydi5oIgorI2luY2x1ZGUgImludGVsX2RzaS5oIgorI2luY2x1ZGUgImk5MTVfZHJ2Lmgi CisjaW5jbHVkZSA8dmlkZW8vbWlwaV9kaXNwbGF5Lmg+CisjaW5jbHVkZSA8ZHJtL2RybV9taXBp X2RzaS5oPgorCisjZGVmaW5lIENPTlRST0xfRElTUExBWV9CQ1RSTAkJKDEgPDwgNSkKKyNkZWZp bmUgQ09OVFJPTF9ESVNQTEFZX0RECQkoMSA8PCAzKQorI2RlZmluZSBDT05UUk9MX0RJU1BMQVlf QkwJCSgxIDw8IDIpCisKKyNkZWZpbmUgUEFORUxfUFdNX01BWF9WQUxVRQkJMHhGRgorCitzdGF0 aWMgdTMyIGRjc19nZXRfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3Rv cikKK3sKKwlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciA9IGNvbm5lY3Rvci0+ZW5jb2Rl cjsKKwlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNpKCZlbmNv ZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgbWlwaV9kc2lfZGV2aWNlICpkc2lfZGV2aWNlOworCXU4IGRh dGE7CisJZW51bSBwb3J0IHBvcnQ7CisKKwkvKiBGSVhNRTogTmVlZCB0byB0YWtlIGNhcmUgb2Yg MTYgYml0IGJyaWdodG5lc3MgbGV2ZWwgKi8KKwlmb3JfZWFjaF9kc2lfcG9ydChwb3J0LCBpbnRl bF9kc2ktPmRjc19iYWNrbGlnaHRfcG9ydHMpIHsKKwkJZHNpX2RldmljZSA9IGludGVsX2RzaS0+ ZHNpX2hvc3RzW3BvcnRdLT5kZXZpY2U7CisJCW1pcGlfZHNpX2Rjc19yZWFkKGRzaV9kZXZpY2Us IE1JUElfRENTX0dFVF9ESVNQTEFZX0JSSUdIVE5FU1MsCisJCQkJICAmZGF0YSwgc2l6ZW9mKGRh dGEpKTsKKwkJYnJlYWs7CisJfQorCisJcmV0dXJuIGRhdGE7Cit9CisKK3N0YXRpYyB2b2lkIGRj c19zZXRfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwgdTMyIGxl dmVsKQoreworCXN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyID0gY29ubmVjdG9yLT5lbmNv ZGVyOworCXN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSA9IGVuY190b19pbnRlbF9kc2koJmVu Y29kZXItPmJhc2UpOworCXN0cnVjdCBtaXBpX2RzaV9kZXZpY2UgKmRzaV9kZXZpY2U7CisJdTgg ZGF0YSA9IGxldmVsOworCWVudW0gcG9ydCBwb3J0OworCisJLyogRklYTUU6IE5lZWQgdG8gdGFr ZSBjYXJlIG9mIDE2IGJpdCBicmlnaHRuZXNzIGxldmVsICovCisJZm9yX2VhY2hfZHNpX3BvcnQo cG9ydCwgaW50ZWxfZHNpLT5kY3NfYmFja2xpZ2h0X3BvcnRzKSB7CisJCWRzaV9kZXZpY2UgPSBp bnRlbF9kc2ktPmRzaV9ob3N0c1twb3J0XS0+ZGV2aWNlOworCQltaXBpX2RzaV9kY3Nfd3JpdGUo ZHNpX2RldmljZSwgTUlQSV9EQ1NfU0VUX0RJU1BMQVlfQlJJR0hUTkVTUywKKwkJCQkgICAmZGF0 YSwgc2l6ZW9mKGRhdGEpKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGRjc19kaXNhYmxlX2JhY2ts aWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCit7CisJc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIgPSBjb25uZWN0b3ItPmVuY29kZXI7CisJc3RydWN0IGludGVsX2Rz aSAqaW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2RzaSgmZW5jb2Rlci0+YmFzZSk7CisJc3RydWN0 IG1pcGlfZHNpX2RldmljZSAqZHNpX2RldmljZTsKKwllbnVtIHBvcnQgcG9ydDsKKworCWRjc19z ZXRfYmFja2xpZ2h0KGNvbm5lY3RvciwgMCk7CisKKwlmb3JfZWFjaF9kc2lfcG9ydChwb3J0LCBp bnRlbF9kc2ktPmRjc19iYWNrbGlnaHRfcG9ydHMpIHsKKwkJdTggY3RybCA9IDA7CisKKwkJZHNp X2RldmljZSA9IGludGVsX2RzaS0+ZHNpX2hvc3RzW3BvcnRdLT5kZXZpY2U7CisKKwkJbWlwaV9k c2lfZGNzX3JlYWQoZHNpX2RldmljZSwgTUlQSV9EQ1NfR0VUX0NPTlRST0xfRElTUExBWSwKKwkJ CQkgICZjdHJsLCBzaXplb2YoY3RybCkpOworCisJCWN0cmwgJj0gfkNPTlRST0xfRElTUExBWV9C TDsKKwkJY3RybCAmPSB+Q09OVFJPTF9ESVNQTEFZX0REOworCQljdHJsICY9IH5DT05UUk9MX0RJ U1BMQVlfQkNUUkw7CisKKwkJbWlwaV9kc2lfZGNzX3dyaXRlKGRzaV9kZXZpY2UsIE1JUElfRENT X1dSSVRFX0NPTlRST0xfRElTUExBWSwKKwkJCQkgICAmY3RybCwgc2l6ZW9mKGN0cmwpKTsKKwl9 Cit9CisKK3N0YXRpYyB2b2lkIGRjc19lbmFibGVfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25u ZWN0b3IgKmNvbm5lY3RvcikKK3sKKwlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciA9IGNv bm5lY3Rvci0+ZW5jb2RlcjsKKwlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2kgPSBlbmNfdG9f aW50ZWxfZHNpKCZlbmNvZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsID0g JmNvbm5lY3Rvci0+cGFuZWw7CisJc3RydWN0IG1pcGlfZHNpX2RldmljZSAqZHNpX2RldmljZTsK KwllbnVtIHBvcnQgcG9ydDsKKworCWZvcl9lYWNoX2RzaV9wb3J0KHBvcnQsIGludGVsX2RzaS0+ ZGNzX2JhY2tsaWdodF9wb3J0cykgeworCQl1OCBjdHJsID0gMDsKKworCQlkc2lfZGV2aWNlID0g aW50ZWxfZHNpLT5kc2lfaG9zdHNbcG9ydF0tPmRldmljZTsKKworCQltaXBpX2RzaV9kY3NfcmVh ZChkc2lfZGV2aWNlLCBNSVBJX0RDU19HRVRfQ09OVFJPTF9ESVNQTEFZLAorCQkJCSAgJmN0cmws IHNpemVvZihjdHJsKSk7CisKKwkJY3RybCB8PSBDT05UUk9MX0RJU1BMQVlfQkw7CisJCWN0cmwg fD0gQ09OVFJPTF9ESVNQTEFZX0REOworCQljdHJsIHw9IENPTlRST0xfRElTUExBWV9CQ1RSTDsK KworCQltaXBpX2RzaV9kY3Nfd3JpdGUoZHNpX2RldmljZSwgTUlQSV9EQ1NfV1JJVEVfQ09OVFJP TF9ESVNQTEFZLAorCQkJCSAgICZjdHJsLCBzaXplb2YoY3RybCkpOworCX0KKworCWRjc19zZXRf YmFja2xpZ2h0KGNvbm5lY3RvciwgcGFuZWwtPmJhY2tsaWdodC5sZXZlbCk7Cit9CisKK3N0YXRp YyBpbnQgZGNzX3NldHVwX2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0 b3IsCisJCQkgICAgICAgZW51bSBwaXBlIHVudXNlZCkKK3sKKwlzdHJ1Y3QgaW50ZWxfcGFuZWwg KnBhbmVsID0gJmNvbm5lY3Rvci0+cGFuZWw7CisKKwlwYW5lbC0+YmFja2xpZ2h0Lm1heCA9IFBB TkVMX1BXTV9NQVhfVkFMVUU7CisJcGFuZWwtPmJhY2tsaWdodC5sZXZlbCA9IFBBTkVMX1BXTV9N QVhfVkFMVUU7CisKKwlyZXR1cm4gMDsKK30KKworaW50IGludGVsX2RzaV9kY3NfYmFja2xpZ2h0 X2luaXRfZnVuY3Moc3RydWN0IGludGVsX2Nvbm5lY3RvciAqaW50ZWxfY29ubmVjdG9yKQorewor CXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9jb25uZWN0b3ItPmJhc2UuZGV2OworCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIgPSBpbnRlbF9jb25uZWN0b3ItPmVuY29kZXI7CisJ c3RydWN0IGludGVsX3BhbmVsICpwYW5lbCA9ICZpbnRlbF9jb25uZWN0b3ItPnBhbmVsOworCisJ aWYgKGRldl9wcml2LT52YnQuYmFja2xpZ2h0LnR5cGUgIT0gSU5URUxfQkFDS0xJR0hUX0RTSV9E Q1MpCisJCXJldHVybiAtRU5PREVWOworCisJaWYgKFdBUk5fT04oZW5jb2Rlci0+dHlwZSAhPSBJ TlRFTF9PVVRQVVRfRFNJKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlwYW5lbC0+YmFja2xpZ2h0 LnNldHVwID0gZGNzX3NldHVwX2JhY2tsaWdodDsKKwlwYW5lbC0+YmFja2xpZ2h0LmVuYWJsZSA9 IGRjc19lbmFibGVfYmFja2xpZ2h0OworCXBhbmVsLT5iYWNrbGlnaHQuZGlzYWJsZSA9IGRjc19k aXNhYmxlX2JhY2tsaWdodDsKKwlwYW5lbC0+YmFja2xpZ2h0LnNldCA9IGRjc19zZXRfYmFja2xp Z2h0OworCXBhbmVsLT5iYWNrbGlnaHQuZ2V0ID0gZGNzX2dldF9iYWNrbGlnaHQ7CisKKwlyZXR1 cm4gMDsKK30KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5jCmluZGV4IDhjODk5NmZjYmFmNS4u ZjA1MzNiMjczNjExIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5l bC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMKQEAgLTE3MTgsNiAr MTcxOCwxMCBAQCBpbnRlbF9wYW5lbF9pbml0X2JhY2tsaWdodF9mdW5jcyhzdHJ1Y3QgaW50ZWxf cGFuZWwgKnBhbmVsKQogCQljb250YWluZXJfb2YocGFuZWwsIHN0cnVjdCBpbnRlbF9jb25uZWN0 b3IsIHBhbmVsKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KGNvbm5lY3Rvci0+YmFzZS5kZXYpOwogCisJaWYgKGNvbm5lY3Rvci0+YmFzZS5jb25uZWN0b3Jf dHlwZSA9PSBEUk1fTU9ERV9DT05ORUNUT1JfRFNJICYmCisJICAgIGludGVsX2RzaV9kY3NfYmFj a2xpZ2h0X2luaXRfZnVuY3MoY29ubmVjdG9yKSA9PSAwKQorCQlyZXR1cm47CisKIAlpZiAoSVNf QlJPWFRPTihkZXZfcHJpdikpIHsKIAkJcGFuZWwtPmJhY2tsaWdodC5zZXR1cCA9IGJ4dF9zZXR1 cF9iYWNrbGlnaHQ7CiAJCXBhbmVsLT5iYWNrbGlnaHQuZW5hYmxlID0gYnh0X2VuYWJsZV9iYWNr bGlnaHQ7Ci0tIAoyLjEuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4Cg==