From mboxrd@z Thu Jan 1 00:00:00 1970 From: Deepak M Subject: [PATCH 3/3] drm/i915: CABC support for backlight control Date: Thu, 24 Mar 2016 15:33:55 +0530 Message-ID: <1458813835-7626-3-git-send-email-m.deepak@intel.com> References: <1458813835-7626-1-git-send-email-m.deepak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 074F66E960 for ; Thu, 24 Mar 2016 10:04:03 +0000 (UTC) In-Reply-To: <1458813835-7626-1-git-send-email-m.deepak@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: Deepak M , Jani Nikula , Yetunde Adebisi , Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org SW4gQ0FCQyAoQ29udGVudCBBZGFwdGl2ZSBCcmlnaHRuZXNzIENvbnRyb2wpIGNvbnRlbnQgZ3Jl eSBsZXZlbApzY2FsZSBjYW4gYmUgaW5jcmVhc2VkIHdoaWxlIHNpbXVsdGFuZW91c2x5IGRlY3Jl YXNpbmcKYnJpZ2h0bmVzcyBvZiB0aGUgYmFja2xpZ2h0IHRvIGFjaGlldmUgc2FtZSBwZXJjZWl2 ZWQgYnJpZ2h0bmVzcy4KClRoZSBDQUJDIGlzIG5vdCBzdGFuZGFyZGl6ZWQgYW5kIHBhbmVsIHZl bmRvcnMgYXJlIGZyZWUgdG8gZm9sbG93CnRoZWlyIGltcGxlbWVudGF0aW9uLiBUaGUgQ0FCQyBp bXBsZW1lbnRhaW9uIGhlcmUgYXNzdW1lcyB0aGF0IHRoZQpwYW5lbHMgdXNlIHN0YW5kYXJkIFNX IHJlZ2lzdGVyIGZvciBjb250cm9sLgoKSW4gdGhpcyBkZXNpZ24gdGhlcmUgd2lsbCBiZSBubyBQ V00gc2lnbmFsIGZyb20gdGhlIFNvQyBhbmQgRENTCmNvbW1hbmRzIGFyZSBzZW50IHRvIGVuYWJs ZSBhbmQgY29udHJvbCB0aGUgYmFja2xpZ2h0IGJyaWdodG5lc3MuCgp2MjogTW92aW5nIHRoZSBD QUJDIGJrbCBmdW5jdGlvbnMgdG8gbmV3IGZpbGUuKEphbmkpCgp2MzogUmViYXNlCgp2NDogUmVi YXNlCgp2NTogVXNlIG1pcGlfZHNpX2Rjc193cml0ZSgpIGluc3RlYWQgb2YgbWlwaV9kc2lfZGNz X3dyaXRlX2J1ZmZlcigpIChKYW5pKQogICAgTW92ZSBEQ1MgbWFjcm9gcyB0byBpbmNsdWRlL3Zp ZGVvL21pcGlfZGlzcGxheS5oIChKYW5pKQoKQ2M6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBp bnRlbC5jb20+CkNjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGludGVsLmNvbT4KQ2M6 IFlldHVuZGUgQWRlYmlzaSA8eWV0dW5kZXguYWRlYmlzaUBpbnRlbC5jb20+ClNpZ25lZC1vZmYt Ynk6IERlZXBhayBNIDxtLmRlZXBha0BpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvTWFrZWZpbGUgICAgICAgICB8ICAgMSArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oICAgICAgIHwgICAxIC0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICAg fCAgIDIgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMgICAgICB8ICAxOSArKysr LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmggICAgICB8ICAgNCArCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kc2lfY2FiYy5jIHwgMTU0ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMgICAgfCAg IDQgKwogNyBmaWxlcyBjaGFuZ2VkLCAxODIgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkK IGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2lfY2FiYy5j CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9NYWtlZmlsZQppbmRleCA3ZmZiNTFiLi4wNjVjNDEwIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9N YWtlZmlsZQpAQCAtODMsNiArODMsNyBAQCBpOTE1LXkgKz0gZHZvX2NoNzAxNy5vIFwKIAkgIGlu dGVsX2RwX21zdC5vIFwKIAkgIGludGVsX2RwLm8gXAogCSAgaW50ZWxfZHNpLm8gXAorCSAgaW50 ZWxfZHNpX2NhYmMubyBcCiAJICBpbnRlbF9kc2lfcGFuZWxfdmJ0Lm8gXAogCSAgaW50ZWxfZHNp X3BsbC5vIFwKIAkgIGludGVsX2R2by5vIFwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IDA1 MGQ4NjAuLjllZDYwZjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMzQ4OSw3ICszNDg5 LDYgQEAgdm9pZCBpbnRlbF9zYmlfd3JpdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LCB1MTYgcmVnLCB1MzIgdmFsdWUsCiAJCSAgICAgZW51bSBpbnRlbF9zYmlfZGVzdGluYXRp b24gZGVzdGluYXRpb24pOwogdTMyIHZsdl9mbGlzZHNpX3JlYWQoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LCB1MzIgcmVnKTsKIHZvaWQgdmx2X2ZsaXNkc2lfd3JpdGUoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1MzIgcmVnLCB1MzIgdmFsKTsKLQogaW50IGlu dGVsX2dwdV9mcmVxKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgaW50IHZhbCk7 CiBpbnQgaW50ZWxfZnJlcV9vcGNvZGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LCBpbnQgdmFsKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAppbmRleCBjODdiNDUwLi45ZTQ5 Mzk2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAorKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAtMTMyNSw2ICsxMzI1LDggQEAgdm9p ZCBpbnRlbF9kcF9tc3RfZW5jb2Rlcl9jbGVhbnVwKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQg KmludGVsX2RpZ19wb3J0KTsKIC8qIGludGVsX2RzaS5jICovCiB2b2lkIGludGVsX2RzaV9pbml0 KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogCisvKiBpbnRlbF9kc2lfY2FiYy5jICovCitpbnQg aW50ZWxfZHNpX2NhYmNfaW5pdF9iYWNrbGlnaHRfZnVuY3Moc3RydWN0IGludGVsX2Nvbm5lY3Rv ciAqaW50ZWxfY29ubmVjdG9yKTsKIAogLyogaW50ZWxfZHZvLmMgKi8KIHZvaWQgaW50ZWxfZHZv X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kc2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5jCmlu ZGV4IDQ1NjY3NmMuLjdhYTcwN2YgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RzaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5jCkBAIC0xMjA5 LDEwICsxMjA5LDI1IEBAIHZvaWQgaW50ZWxfZHNpX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRl dikKIAllbHNlCiAJCWludGVsX2VuY29kZXItPmNydGNfbWFzayA9IEJJVChQSVBFX0IpOwogCi0J aWYgKGRldl9wcml2LT52YnQuZHNpLmNvbmZpZy0+ZHVhbF9saW5rKQorCWlmIChkZXZfcHJpdi0+ dmJ0LmRzaS5jb25maWctPmR1YWxfbGluaykgewogCQlpbnRlbF9kc2ktPnBvcnRzID0gQklUKFBP UlRfQSkgfCBCSVQoUE9SVF9DKTsKLQllbHNlCisJCXN3aXRjaCAoZGV2X3ByaXYtPnZidC5kc2ku Y29uZmlnLT5kbF9jYWJjX3BvcnQpIHsKKwkJY2FzZSBDQUJDX1BPUlRfQToKKwkJCWludGVsX2Rz aS0+YmtsX2Rjc19wb3J0cyA9IEJJVChQT1JUX0EpOworCQkJYnJlYWs7CisJCWNhc2UgQ0FCQ19Q T1JUX0M6CisJCQlpbnRlbF9kc2ktPmJrbF9kY3NfcG9ydHMgPSBCSVQoUE9SVF9DKTsKKwkJCWJy ZWFrOworCQljYXNlIENBQkNfUE9SVF9BX0FORF9DOgorCQkJaW50ZWxfZHNpLT5ia2xfZGNzX3Bv cnRzID0gQklUKFBPUlRfQSkgfCBCSVQoUE9SVF9DKTsKKwkJCWJyZWFrOworCQlkZWZhdWx0Ogor CQkJRFJNX0VSUk9SKCJVbmtub3duIE1JUEkgcG9ydHMgZm9yIHNlbmRpbmcgRENTXG4iKTsKKwkJ fQorCX0gZWxzZSB7CiAJCWludGVsX2RzaS0+cG9ydHMgPSBCSVQocG9ydCk7CisJCWludGVsX2Rz aS0+YmtsX2Rjc19wb3J0cyA9IEJJVChwb3J0KTsKKwl9CiAKIAkvKiBDcmVhdGUgYSBEU0kgaG9z dCAoYW5kIGEgZGV2aWNlKSBmb3IgZWFjaCBwb3J0LiAqLwogCWZvcl9lYWNoX2RzaV9wb3J0KHBv cnQsIGludGVsX2RzaS0+cG9ydHMpIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RzaS5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmgKaW5kZXggMGU3 NThmMS4uNWMwN2Q1OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNp LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmgKQEAgLTM0LDYgKzM0LDEw IEBACiAjZGVmaW5lIERTSV9EVUFMX0xJTktfRlJPTlRfQkFDSwkxCiAjZGVmaW5lIERTSV9EVUFM X0xJTktfUElYRUxfQUxUCQkyCiAKKyNkZWZpbmUgQ0FCQ19QT1JUX0EgICAgICAgICAgICAgICAg ICAgICAweDAwCisjZGVmaW5lIENBQkNfUE9SVF9DICAgICAgICAgICAgICAgICAgICAgMHgwMQor I2RlZmluZSBDQUJDX1BPUlRfQV9BTkRfQyAgICAgICAgICAgICAgIDB4MDIKKwogc3RydWN0IGlu dGVsX2RzaV9ob3N0OwogCiBzdHJ1Y3QgaW50ZWxfZHNpIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RzaV9jYWJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kc2lfY2FiYy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzMGVlNGYK LS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2lfY2FiYy5j CkBAIC0wLDAgKzEsMTU0IEBACisvKgorICogQ29weXJpZ2h0IMKpIDIwMTYgSW50ZWwgQ29ycG9y YXRpb24KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJn ZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorICogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFu ZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwKKyAqIHRv IGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRo b3V0IGxpbWl0YXRpb24KKyAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdl LCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLAorICogYW5kL29yIHNlbGwgY29waWVz IG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlCisgKiBT b2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBj b25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBl cm1pc3Npb24gbm90aWNlIChpbmNsdWRpbmcgdGhlIG5leHQKKyAqIHBhcmFncmFwaCkgc2hhbGwg YmUgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUK KyAqIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBX SVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNM VURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU WSwKKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1F TlQuICBJTiBOTyBFVkVOVCBTSEFMTAorICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERF UlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKKyAqIExJQUJJTElU WSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBB UklTSU5HCisgKiBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FS RSBPUiBUSEUgVVNFIE9SIE9USEVSCisgKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKgor ICogQXV0aG9yOiBEZWVwYWsgTSA8bS5kZWVwYWsgYXQgaW50ZWwuY29tPgorICovCisKKyNpbmNs dWRlICJpbnRlbF9kcnYuaCIKKyNpbmNsdWRlICJpbnRlbF9kc2kuaCIKKyNpbmNsdWRlICJpOTE1 X2Rydi5oIgorI2luY2x1ZGUgPHZpZGVvL21pcGlfZGlzcGxheS5oPgorI2luY2x1ZGUgPGRybS9k cm1fbWlwaV9kc2kuaD4KKworI2RlZmluZSBDQUJDX09GRiAgICAgICAgICAgICAgICAgICAgICAg ICgwIDw8IDApCisjZGVmaW5lIENBQkNfVVNFUl9JTlRFUkZBQ0VfSU1BR0UgICAgICAgKDEgPDwg MCkKKyNkZWZpbmUgQ0FCQ19TVElMTF9QSUNUVVJFICAgICAgICAgICAgICAoMiA8PCAwKQorI2Rl ZmluZSBDQUJDX1ZJREVPX01PREUgICAgICAgICAgICAgICAgICgzIDw8IDApCisKKyNkZWZpbmUg Q0FCQ19CQUNLTElHSFQgICAgICAgICAgICAgICAgICAoMSA8PCAyKQorI2RlZmluZSBDQUJDX0RJ TU1JTkdfRElTUExBWSAgICAgICAgICAgICgxIDw8IDMpCisjZGVmaW5lIENBQkNfQkNUUkwgICAg ICAgICAgICAgICAgICAgICAgKDEgPDwgNSkKKworI2RlZmluZSBDQUJDX01BWF9WQUxVRSAgICAg ICAgICAgICAgICAgIDB4RkYKKworc3RhdGljIHUzMiBjYWJjX2dldF9iYWNrbGlnaHQoc3RydWN0 IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQoreworCXN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyID0gY29ubmVjdG9yLT5lbmNvZGVyOworCXN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2Rz aSA9IGVuY190b19pbnRlbF9kc2koJmVuY29kZXItPmJhc2UpOworCXN0cnVjdCBtaXBpX2RzaV9k ZXZpY2UgKmRzaV9kZXZpY2U7CisJdTggZGF0YVsyXSA9IHswfTsKKwllbnVtIHBvcnQgcG9ydDsK KworCWZvcl9lYWNoX2RzaV9wb3J0KHBvcnQsIGludGVsX2RzaS0+YmtsX2Rjc19wb3J0cykgewor CQlkc2lfZGV2aWNlID0gaW50ZWxfZHNpLT5kc2lfaG9zdHNbcG9ydF0tPmRldmljZTsKKwkJbWlw aV9kc2lfZGNzX3JlYWQoZHNpX2RldmljZSwgTUlQSV9EQ1NfR0VUX0RJU1BMQVlfQlJJR0hUTkVT UywKKwkJCQkJZGF0YSwgMik7CisJfQorCisJcmV0dXJuIGRhdGFbMV07Cit9CisKK3N0YXRpYyB2 b2lkIGNhYmNfc2V0X2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3Is IHUzMiBsZXZlbCkKK3sKKwlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciA9IGNvbm5lY3Rv ci0+ZW5jb2RlcjsKKwlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxf ZHNpKCZlbmNvZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgbWlwaV9kc2lfZGV2aWNlICpkc2lfZGV2aWNl OworCXU4IGRhdGEgPSAwOworCWVudW0gcG9ydCBwb3J0OworCisJZm9yX2VhY2hfZHNpX3BvcnQo cG9ydCwgaW50ZWxfZHNpLT5ia2xfZGNzX3BvcnRzKSB7CisJCWRzaV9kZXZpY2UgPSBpbnRlbF9k c2ktPmRzaV9ob3N0c1twb3J0XS0+ZGV2aWNlOworCQlkYXRhID0gbGV2ZWw7CisJCW1pcGlfZHNp X2Rjc193cml0ZShkc2lfZGV2aWNlLCBNSVBJX0RDU19TRVRfRElTUExBWV9CUklHSFRORVNTLAor CQkJCQkmZGF0YSwgc2l6ZW9mKGRhdGEpKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGNhYmNfZGlz YWJsZV9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQoreworCXN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyID0gY29ubmVjdG9yLT5lbmNvZGVyOworCXN0cnVj dCBpbnRlbF9kc2kgKmludGVsX2RzaSA9IGVuY190b19pbnRlbF9kc2koJmVuY29kZXItPmJhc2Up OworCXN0cnVjdCBtaXBpX2RzaV9kZXZpY2UgKmRzaV9kZXZpY2U7CisJZW51bSBwb3J0IHBvcnQ7 CisJdTggZGF0YSA9IDA7CisKKwljYWJjX3NldF9iYWNrbGlnaHQoY29ubmVjdG9yLCAwKTsKKwor CWZvcl9lYWNoX2RzaV9wb3J0KHBvcnQsIGludGVsX2RzaS0+YmtsX2Rjc19wb3J0cykgeworCQlk c2lfZGV2aWNlID0gaW50ZWxfZHNpLT5kc2lfaG9zdHNbcG9ydF0tPmRldmljZTsKKwkJZGF0YSA9 IENBQkNfT0ZGOworCQltaXBpX2RzaV9kY3Nfd3JpdGUoZHNpX2RldmljZSwgTUlQSV9EQ1NfV1JJ VEVfUE9XRVJfU0FWRSwKKwkJCQkJJmRhdGEsIHNpemVvZihkYXRhKSk7CisJCW1pcGlfZHNpX2Rj c193cml0ZShkc2lfZGV2aWNlLCBNSVBJX0RDU19XUklURV9DT05UUk9MX0RJU1BMQVksCisJCQkJ CSZkYXRhLCBzaXplb2YoZGF0YSkpOworCX0KK30KKworc3RhdGljIHZvaWQgY2FiY19lbmFibGVf YmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKK3sKKwlzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlciA9IGNvbm5lY3Rvci0+ZW5jb2RlcjsKKwlzdHJ1Y3QgaW50 ZWxfZHNpICppbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNpKCZlbmNvZGVyLT5iYXNlKTsKKwlz dHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsID0gJmNvbm5lY3Rvci0+cGFuZWw7CisJc3RydWN0IG1p cGlfZHNpX2RldmljZSAqZHNpX2RldmljZTsKKwllbnVtIHBvcnQgcG9ydDsKKwl1OCBkYXRhID0g MDsKKworCWZvcl9lYWNoX2RzaV9wb3J0KHBvcnQsIGludGVsX2RzaS0+YmtsX2Rjc19wb3J0cykg eworCQlkc2lfZGV2aWNlID0gaW50ZWxfZHNpLT5kc2lfaG9zdHNbcG9ydF0tPmRldmljZTsKKwkJ ZGF0YSA9IENBQkNfQkFDS0xJR0hUIHwgQ0FCQ19ESU1NSU5HX0RJU1BMQVkgfCBDQUJDX0JDVFJM OworCQltaXBpX2RzaV9kY3Nfd3JpdGUoZHNpX2RldmljZSwgTUlQSV9EQ1NfV1JJVEVfQ09OVFJP TF9ESVNQTEFZLAorCQkJCQkmZGF0YSwgc2l6ZW9mKGRhdGEpKTsKKwkJZGF0YSA9IENBQkNfU1RJ TExfUElDVFVSRTsKKwkJbWlwaV9kc2lfZGNzX3dyaXRlKGRzaV9kZXZpY2UsIE1JUElfRENTX1dS SVRFX1BPV0VSX1NBVkUsCisJCQkJCSZkYXRhLCBzaXplb2YoZGF0YSkpOworCX0KKworCWNhYmNf c2V0X2JhY2tsaWdodChjb25uZWN0b3IsIHBhbmVsLT5iYWNrbGlnaHQubGV2ZWwpOworfQorCitz dGF0aWMgaW50IGNhYmNfc2V0dXBfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNv bm5lY3RvciwKKwkJZW51bSBwaXBlIHVudXNlZCkKK3sKKwlzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBh bmVsID0gJmNvbm5lY3Rvci0+cGFuZWw7CisKKwlwYW5lbC0+YmFja2xpZ2h0Lm1heCA9IENBQkNf TUFYX1ZBTFVFOworCXBhbmVsLT5iYWNrbGlnaHQubGV2ZWwgPSBDQUJDX01BWF9WQUxVRTsKKwor CXJldHVybiAwOworfQorCitpbnQgaW50ZWxfZHNpX2NhYmNfaW5pdF9iYWNrbGlnaHRfZnVuY3Mo c3RydWN0IGludGVsX2Nvbm5lY3RvciAqaW50ZWxfY29ubmVjdG9yKQoreworCXN0cnVjdCBkcm1f ZGV2aWNlICpkZXYgPSBpbnRlbF9jb25uZWN0b3ItPmJhc2UuZGV2OworCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIgPSBpbnRlbF9jb25uZWN0b3ItPmVuY29kZXI7CisJc3RydWN0IGludGVs X3BhbmVsICpwYW5lbCA9ICZpbnRlbF9jb25uZWN0b3ItPnBhbmVsOworCisJaWYgKCFkZXZfcHJp di0+dmJ0LmRzaS5jb25maWctPmNhYmNfc3VwcG9ydGVkKQorCQlyZXR1cm4gLUVOT0RFVjsKKwor CWlmIChlbmNvZGVyLT50eXBlICE9IElOVEVMX09VVFBVVF9EU0kpIHsKKwkJRFJNX0VSUk9SKCJV c2UgRFNJIGVuY29kZXIgZm9yIENBQkNcbiIpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlp ZiAoV0FSTl9PTihlbmNvZGVyLT50eXBlICE9IElOVEVMX09VVFBVVF9EU0kpKQorCQlyZXR1cm4g LUVJTlZBTDsKKworCXBhbmVsLT5iYWNrbGlnaHQuc2V0dXAgPSBjYWJjX3NldHVwX2JhY2tsaWdo dDsKKwlwYW5lbC0+YmFja2xpZ2h0LmVuYWJsZSA9IGNhYmNfZW5hYmxlX2JhY2tsaWdodDsKKwlw YW5lbC0+YmFja2xpZ2h0LmRpc2FibGUgPSBjYWJjX2Rpc2FibGVfYmFja2xpZ2h0OworCXBhbmVs LT5iYWNrbGlnaHQuc2V0ID0gY2FiY19zZXRfYmFja2xpZ2h0OworCXBhbmVsLT5iYWNrbGlnaHQu Z2V0ID0gY2FiY19nZXRfYmFja2xpZ2h0OworCisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcGFuZWwuYwppbmRleCA4Yzg5OTZmLi42NDFjMzhmIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3BhbmVsLmMKQEAgLTE3MTgsNiArMTcxOCwxMCBAQCBpbnRlbF9wYW5lbF9pbml0X2JhY2ts aWdodF9mdW5jcyhzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsKQogCQljb250YWluZXJfb2YocGFu ZWwsIHN0cnVjdCBpbnRlbF9jb25uZWN0b3IsIHBhbmVsKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+YmFzZS5kZXYpOwogCisJaWYgKGNv bm5lY3Rvci0+YmFzZS5jb25uZWN0b3JfdHlwZSA9PSBEUk1fTU9ERV9DT05ORUNUT1JfRFNJICYm CisJCWludGVsX2RzaV9jYWJjX2luaXRfYmFja2xpZ2h0X2Z1bmNzKGNvbm5lY3RvcikgPT0gMCkK KwkJcmV0dXJuOworCiAJaWYgKElTX0JST1hUT04oZGV2X3ByaXYpKSB7CiAJCXBhbmVsLT5iYWNr bGlnaHQuc2V0dXAgPSBieHRfc2V0dXBfYmFja2xpZ2h0OwogCQlwYW5lbC0+YmFja2xpZ2h0LmVu YWJsZSA9IGJ4dF9lbmFibGVfYmFja2xpZ2h0OwotLSAKMS45LjEKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=