From mboxrd@z Thu Jan 1 00:00:00 1970 From: Deepak M Subject: [PATCH 2/2] drm/i915: CABC support for backlight control Date: Fri, 27 Nov 2015 00:56:57 +0530 Message-ID: <1448566017-979-2-git-send-email-m.deepak@intel.com> References: <1448566017-979-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 mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id A45156E7A7 for ; Thu, 26 Nov 2015 05:53:03 -0800 (PST) In-Reply-To: <1448566017-979-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 QUJDIGJrbCBmdW5jdGlvbnMgdG8gbmV3IGZpbGUuKEphbmkpCgpDYzogSmFuaSBOaWt1bGEgPGph bmkubmlrdWxhQGludGVsLmNvbT4KQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50 ZWwuY29tPgpDYzogWWV0dW5kZSBBZGViaXNpIDx5ZXR1bmRleC5hZGViaXNpQGludGVsLmNvbT4K U2lnbmVkLW9mZi1ieTogRGVlcGFrIE0gPG0uZGVlcGFrQGludGVsLmNvbT4KLS0tCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9NYWtlZmlsZSAgICAgICAgIHwgICAxICsKIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmggICAgICAgfCAgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RzaS5jICAgICAgfCAgMTcgKysrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmgg ICAgICB8ICAgNCArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2lfY2FiYy5jIHwgMTc5 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3BhbmVsLmMgICAgfCAgIDQgKwogNiBmaWxlcyBjaGFuZ2VkLCAyMDUgaW5zZXJ0aW9u cygrKSwgMiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kc2lfY2FiYy5jCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv TWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQppbmRleCAwODUxZGUwNy4u MmM2OWVkNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKQEAgLTgyLDYgKzgyLDcgQEAgaTkxNS15ICs9 IGR2b19jaDcwMTcubyBcCiAJICBpbnRlbF9kcC5vIFwKIAkgIGludGVsX2RzaS5vIFwKIAkgIGlu dGVsX2RzaV9wYW5lbF92YnQubyBcCisJICBpbnRlbF9kc2lfY2FiYy5vIFwKIAkgIGludGVsX2Rz aV9wbGwubyBcCiAJICBpbnRlbF9kdm8ubyBcCiAJICBpbnRlbF9oZG1pLm8gXApkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmgKaW5kZXggNzFiZDFkYy4uNWZlYmRlNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oCkBAIC0zMzkyLDcgKzMzOTIsNyBAQCB2b2lkIGludGVsX3NiaV93cml0ZShzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUxNiByZWcsIHUzMiB2YWx1ZSwKIAkJICAgICBlbnVt IGludGVsX3NiaV9kZXN0aW5hdGlvbiBkZXN0aW5hdGlvbik7CiB1MzIgdmx2X2ZsaXNkc2lfcmVh ZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiByZWcpOwogdm9pZCB2bHZf Zmxpc2RzaV93cml0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiByZWcs IHUzMiB2YWwpOwotCitpbnQgaW50ZWxfZHNpX2NhYmNfaW5pdF9iYWNrbGlnaHRfZnVuY3Moc3Ry dWN0IGludGVsX2Nvbm5lY3RvciAqaW50ZWxfY29ubmVjdG9yKTsKIGludCBpbnRlbF9ncHVfZnJl cShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGludCB2YWwpOwogaW50IGludGVs X2ZyZXFfb3Bjb2RlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgaW50IHZhbCk7 CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMKaW5kZXggMTcwYWU2Zi4uZjQwYjA4ZiAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHNpLmMKQEAgLTExNzUsOCArMTE3NSwyMyBAQCB2b2lkIGludGVsX2Rz aV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJCWludGVsX2RzaS0+cG9ydHMgPSAoMSA8 PCBQT1JUX0MpOwogCX0KIAotCWlmIChkZXZfcHJpdi0+dmJ0LmRzaS5jb25maWctPmR1YWxfbGlu aykKKwlpZiAoZGV2X3ByaXYtPnZidC5kc2kuY29uZmlnLT5kdWFsX2xpbmspIHsKIAkJaW50ZWxf ZHNpLT5wb3J0cyA9ICgoMSA8PCBQT1JUX0EpIHwgKDEgPDwgUE9SVF9DKSk7CisJCXN3aXRjaCAo ZGV2X3ByaXYtPnZidC5kc2kuY29uZmlnLT5kbF9jYWJjX3BvcnQpIHsKKwkJY2FzZSBDQUJDX1BP UlRfQToKKwkJCWludGVsX2RzaS0+YmtsX2Rjc19wb3J0cyA9ICgxIDw8IFBPUlRfQSk7CisJCQli cmVhazsKKwkJY2FzZSBDQUJDX1BPUlRfQzoKKwkJCWludGVsX2RzaS0+YmtsX2Rjc19wb3J0cyA9 ICgxIDw8IFBPUlRfQyk7CisJCQlicmVhazsKKwkJY2FzZSBDQUJDX1BPUlRfQV9BTkRfQzoKKwkJ CWludGVsX2RzaS0+YmtsX2Rjc19wb3J0cyA9IGludGVsX2RzaS0+cG9ydHM7CisJCQlicmVhazsK KwkJZGVmYXVsdDoKKwkJCURSTV9FUlJPUigiVW5rbm93biBNSVBJIHBvcnRzIGZvciBzZW5kaW5n IERDU1xuIik7CisJCX0KKwl9IGVsc2UKKwkJaW50ZWxfZHNpLT5ia2xfZGNzX3BvcnRzID0gaW50 ZWxfZHNpLT5wb3J0czsKIAogCS8qIENyZWF0ZSBhIERTSSBob3N0IChhbmQgYSBkZXZpY2UpIGZv ciBlYWNoIHBvcnQuICovCiAJZm9yX2VhY2hfZHNpX3BvcnQocG9ydCwgaW50ZWxfZHNpLT5wb3J0 cykgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmggYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuaAppbmRleCA0MGZkNzVhLi4wZGUyYjRhIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuaAorKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kc2kuaApAQCAtMzQsNiArMzQsMTAgQEAKICNkZWZpbmUgRFNJX0RV QUxfTElOS19GUk9OVF9CQUNLCTEKICNkZWZpbmUgRFNJX0RVQUxfTElOS19QSVhFTF9BTFQJCTIK IAorI2RlZmluZSBDQUJDX1BPUlRfQSAgICAgICAgICAgICAgICAgICAgIDB4MDAKKyNkZWZpbmUg Q0FCQ19QT1JUX0MgICAgICAgICAgICAgICAgICAgICAweDAxCisjZGVmaW5lIENBQkNfUE9SVF9B X0FORF9DICAgICAgICAgICAgICAgMHgwMgorCiBzdHJ1Y3QgaW50ZWxfZHNpX2hvc3Q7CiAKIHN0 cnVjdCBpbnRlbF9kc2kgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHNpX2NhYmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaV9jYWJjLmMKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDE0YTY2OQotLS0gL2Rldi9udWxsCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaV9jYWJjLmMKQEAgLTAsMCArMSwxNzkgQEAK Ky8qCisgKiBDb3B5cmlnaHQgwqkgMjAwNi0yMDEwIEludGVsIENvcnBvcmF0aW9uCisgKgorICog UGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJz b24gb2J0YWluaW5nIGEKKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBk b2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCisgKiB0byBkZWFsIGluIHRoZSBT b2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9u CisgKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlz dHJpYnV0ZSwgc3VibGljZW5zZSwKKyAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdh cmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQorICogU29mdHdhcmUgaXMgZnVy bmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAq CisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGlj ZSAoaW5jbHVkaW5nIHRoZSBuZXh0CisgKiBwYXJhZ3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVkIGlu IGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlCisgKiBTb2Z0d2FyZS4K KyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5U WSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1Qg TElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZF TlQgU0hBTEwKKyAqIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBG T1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCisgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g QU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORworICogRlJP TSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBP UiBPVEhFUgorICogREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqIEF1dGhvcjogRGVl cGFrIE0gPG0uZGVlcGFrIGF0IGludGVsLmNvbT4KKyAqLworCisjaW5jbHVkZSAiaW50ZWxfZHJ2 LmgiCisjaW5jbHVkZSAiaW50ZWxfZHNpLmgiCisjaW5jbHVkZSAiaTkxNV9kcnYuaCIKKyNpbmNs dWRlIDxkcm0vZHJtX21pcGlfZHNpLmg+CisKKyNkZWZpbmUgQ0FCQ19PRkYgICAgICAgICAgICAg ICAgICAgICAgICAoMCA8PCAwKQorI2RlZmluZSBDQUJDX1VTRVJfSU5URVJGQUNFX0lNQUdFICAg ICAgICgxIDw8IDApCisjZGVmaW5lIENBQkNfU1RJTExfUElDVFVSRSAgICAgICAgICAgICAgKDIg PDwgMCkKKyNkZWZpbmUgQ0FCQ19WSURFT19NT0RFICAgICAgICAgICAgICAgICAoMyA8PCAwKQor CisjZGVmaW5lIENBQkNfQkFDS0xJR0hUICAgICAgICAgICAgICAgICAgKDEgPDwgMikKKyNkZWZp bmUgQ0FCQ19ESU1NSU5HX0RJU1BMQVkgICAgICAgICAgICAoMSA8PCAzKQorI2RlZmluZSBDQUJD X0JDVFJMICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDUpCisKKyNkZWZpbmUgQ0FCQ19NQVhf VkFMVUUgICAgICAgICAgICAgICAgICAweEZGCisKKyNkZWZpbmUgTUlQSV9EQ1NfQ0FCQ19MRVZF TF9SRCAgICAgICAgICAweDUyCisjZGVmaW5lIE1JUElfRENTX0NBQkNfTUlOX0JSSUdIVE5FU1Nf UkQgMHg1RgorI2RlZmluZSBNSVBJX0RDU19DQUJDX0NPTlRST0xfUkQgICAgICAgIDB4NTYKKyNk ZWZpbmUgTUlQSV9EQ1NfQ0FCQ19DT05UUk9MX0JSSUdIVF9SRCAweDU0CisjZGVmaW5lIE1JUElf RENTX0NBQkNfTEVWRUxfV1IgICAgICAgICAgMHg1MQorI2RlZmluZSBNSVBJX0RDU19DQUJDX01J Tl9CUklHSFRORVNTX1dSIDB4NUUKKyNkZWZpbmUgTUlQSV9EQ1NfQ0FCQ19DT05UUk9MX1dSICAg ICAgICAweDU1CisjZGVmaW5lIE1JUElfRENTX0NBQkNfQ09OVFJPTF9CUklHSFRfV1IgMHg1Mwor CitzdGF0aWMgdTMyIGNhYmNfZ2V0X2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpj b25uZWN0b3IpCit7CisJc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpID0gTlVMTDsKKwlzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciA9IE5VTEw7CisJc3RydWN0IG1pcGlfZHNpX2Rldmlj ZSAqZHNpX2RldmljZTsKKwl1OCBkYXRhWzJdID0gezB9OworCWVudW0gcG9ydCBwb3J0OworCisJ ZW5jb2RlciA9IGNvbm5lY3Rvci0+ZW5jb2RlcjsKKwlpbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxf ZHNpKCZlbmNvZGVyLT5iYXNlKTsKKworCWZvcl9lYWNoX2RzaV9wb3J0KHBvcnQsIGludGVsX2Rz aS0+YmtsX2Rjc19wb3J0cykgeworCQlkc2lfZGV2aWNlID0gaW50ZWxfZHNpLT5kc2lfaG9zdHNb cG9ydF0tPmRldmljZTsKKwkJbWlwaV9kc2lfZGNzX3JlYWQoZHNpX2RldmljZSwgTUlQSV9EQ1Nf Q0FCQ19MRVZFTF9SRCwgZGF0YSwgMik7CisJfQorCisJcmV0dXJuIGRhdGFbMV07Cit9CisKK3N0 YXRpYyB2b2lkIGNhYmNfc2V0X2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25u ZWN0b3IsIHUzMiBsZXZlbCkKK3sKKwlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2kgPSBOVUxM OworCXN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyID0gTlVMTDsKKwlzdHJ1Y3QgbWlwaV9k c2lfZGV2aWNlICpkc2lfZGV2aWNlOworCXU4IGRhdGFbMl0gPSB7MH07CisJZW51bSBwb3J0IHBv cnQ7CisKKwllbmNvZGVyID0gY29ubmVjdG9yLT5lbmNvZGVyOworCWludGVsX2RzaSA9IGVuY190 b19pbnRlbF9kc2koJmVuY29kZXItPmJhc2UpOworCisJZm9yX2VhY2hfZHNpX3BvcnQocG9ydCwg aW50ZWxfZHNpLT5ia2xfZGNzX3BvcnRzKSB7CisJCWRzaV9kZXZpY2UgPSBpbnRlbF9kc2ktPmRz aV9ob3N0c1twb3J0XS0+ZGV2aWNlOworCQlkYXRhWzFdID0gbGV2ZWw7CisJCWRhdGFbMF0gPSBN SVBJX0RDU19DQUJDX0xFVkVMX1dSOworCQltaXBpX2RzaV9kY3Nfd3JpdGVfYnVmZmVyKGRzaV9k ZXZpY2UsIGRhdGEsIDIpOworCX0KK30KKworc3RhdGljIHZvaWQgY2FiY19kaXNhYmxlX2JhY2ts aWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCit7CisJc3RydWN0IGludGVs X2RzaSAqaW50ZWxfZHNpID0gTlVMTDsKKwlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciA9 IE5VTEw7CisJc3RydWN0IG1pcGlfZHNpX2RldmljZSAqZHNpX2RldmljZTsKKwllbnVtIHBvcnQg cG9ydDsKKwl1OCBkYXRhWzJdID0gezB9OworCisJZW5jb2RlciA9IGNvbm5lY3Rvci0+ZW5jb2Rl cjsKKwlpbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNpKCZlbmNvZGVyLT5iYXNlKTsKKworCWNh YmNfc2V0X2JhY2tsaWdodChjb25uZWN0b3IsIDApOworCisJZm9yX2VhY2hfZHNpX3BvcnQocG9y dCwgaW50ZWxfZHNpLT5ia2xfZGNzX3BvcnRzKSB7CisJCWRzaV9kZXZpY2UgPSBpbnRlbF9kc2kt PmRzaV9ob3N0c1twb3J0XS0+ZGV2aWNlOworCQlkYXRhWzFdID0gQ0FCQ19PRkY7CisJCWRhdGFb MF0gPSBNSVBJX0RDU19DQUJDX0NPTlRST0xfV1I7CisJCW1pcGlfZHNpX2Rjc193cml0ZV9idWZm ZXIoZHNpX2RldmljZSwgZGF0YSwgMik7CisJCWRhdGFbMF0gPSBNSVBJX0RDU19DQUJDX0NPTlRS T0xfQlJJR0hUX1dSOworCQltaXBpX2RzaV9kY3Nfd3JpdGVfYnVmZmVyKGRzaV9kZXZpY2UsIGRh dGEsIDIpOworCX0KK30KKworc3RhdGljIHZvaWQgY2FiY19lbmFibGVfYmFja2xpZ2h0KHN0cnVj dCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKK3sKKwlzdHJ1Y3QgaW50ZWxfZHNpICppbnRl bF9kc2kgPSBOVUxMOworCXN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyID0gTlVMTDsKKwlz dHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsID0gJmNvbm5lY3Rvci0+cGFuZWw7CisJc3RydWN0IG1p cGlfZHNpX2RldmljZSAqZHNpX2RldmljZTsKKwllbnVtIHBvcnQgcG9ydDsKKwl1OCBkYXRhWzJd ID0gezB9OworCisJZW5jb2RlciA9IGNvbm5lY3Rvci0+ZW5jb2RlcjsKKwlpbnRlbF9kc2kgPSBl bmNfdG9faW50ZWxfZHNpKCZlbmNvZGVyLT5iYXNlKTsKKworCWZvcl9lYWNoX2RzaV9wb3J0KHBv cnQsIGludGVsX2RzaS0+YmtsX2Rjc19wb3J0cykgeworCQlkc2lfZGV2aWNlID0gaW50ZWxfZHNp LT5kc2lfaG9zdHNbcG9ydF0tPmRldmljZTsKKwkJZGF0YVswXSA9IE1JUElfRENTX0NBQkNfQ09O VFJPTF9CUklHSFRfV1I7CisJCWRhdGFbMV0gPSBDQUJDX0JBQ0tMSUdIVCB8IENBQkNfRElNTUlO R19ESVNQTEFZIHwgQ0FCQ19CQ1RSTDsKKwkJbWlwaV9kc2lfZGNzX3dyaXRlX2J1ZmZlcihkc2lf ZGV2aWNlLCBkYXRhLCAyKTsKKwkJZGF0YVswXSA9IE1JUElfRENTX0NBQkNfQ09OVFJPTF9XUjsK KwkJZGF0YVsxXSA9IENBQkNfU1RJTExfUElDVFVSRTsKKwkJbWlwaV9kc2lfZGNzX3dyaXRlX2J1 ZmZlcihkc2lfZGV2aWNlLCBkYXRhLCAyKTsKKwl9CisKKwljYWJjX3NldF9iYWNrbGlnaHQoY29u bmVjdG9yLCBwYW5lbC0+YmFja2xpZ2h0LmxldmVsKTsKK30KKworc3RhdGljIGludCBjYWJjX3Nl dHVwX2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsCisJCWVudW0g cGlwZSB1bnVzZWQpCit7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+YmFz ZS5kZXY7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJp dmF0ZTsKKwlzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsID0gJmNvbm5lY3Rvci0+cGFuZWw7CisK KwlpZiAoZGV2X3ByaXYtPnZidC5iYWNrbGlnaHQucHJlc2VudCkKKwkJcGFuZWwtPmJhY2tsaWdo dC5wcmVzZW50ID0gdHJ1ZTsKKwllbHNlIHsKKwkJRFJNX0VSUk9SKCJubyBiYWNrbGlnaHQgcHJl c2VudCBwZXIgVkJUXG4iKTsKKwkJcmV0dXJuIDA7CisJfQorCisJcGFuZWwtPmJhY2tsaWdodC5t YXggPSBDQUJDX01BWF9WQUxVRTsKKwlwYW5lbC0+YmFja2xpZ2h0LmxldmVsID0gQ0FCQ19NQVhf VkFMVUU7CisKKwlyZXR1cm4gMDsKK30KKworaW50IGludGVsX2RzaV9jYWJjX2luaXRfYmFja2xp Z2h0X2Z1bmNzKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3RvcikKK3sKKwlz dHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50ZWxfY29ubmVjdG9yLT5iYXNlLmRldjsKKwlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOworCXN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyID0gaW50ZWxfY29ubmVjdG9yLT5lbmNvZGVyOworCXN0 cnVjdCBpbnRlbF9wYW5lbCAqcGFuZWwgPSAmaW50ZWxfY29ubmVjdG9yLT5wYW5lbDsKKworCWlm ICghZGV2X3ByaXYtPnZidC5kc2kuY29uZmlnLT5jYWJjX3N1cHBvcnRlZCkKKwkJcmV0dXJuIC1F SU5WQUw7CisKKwlpZiAoZW5jb2Rlci0+dHlwZSAhPSBJTlRFTF9PVVRQVVRfRFNJKSB7CisJCURS TV9FUlJPUigiVXNlIERTSSBlbmNvZGVyIGZvciBDQUJDXG4iKTsKKwkJcmV0dXJuIC1FSU5WQUw7 CisJfQorCisJcGFuZWwtPmJhY2tsaWdodC5zZXR1cCA9IGNhYmNfc2V0dXBfYmFja2xpZ2h0Owor CXBhbmVsLT5iYWNrbGlnaHQuZW5hYmxlID0gY2FiY19lbmFibGVfYmFja2xpZ2h0OworCXBhbmVs LT5iYWNrbGlnaHQuZGlzYWJsZSA9IGNhYmNfZGlzYWJsZV9iYWNrbGlnaHQ7CisJcGFuZWwtPmJh Y2tsaWdodC5zZXQgPSBjYWJjX3NldF9iYWNrbGlnaHQ7CisJcGFuZWwtPmJhY2tsaWdodC5nZXQg PSBjYWJjX2dldF9iYWNrbGlnaHQ7CisKKwlyZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9wYW5lbC5jCmluZGV4IGEyNGRmMzUuLmEwNTY5NzAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3BhbmVsLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf cGFuZWwuYwpAQCAtMTc0NCw2ICsxNzQ0LDEwIEBAIGludGVsX3BhbmVsX2luaXRfYmFja2xpZ2h0 X2Z1bmNzKHN0cnVjdCBpbnRlbF9wYW5lbCAqcGFuZWwpCiAJc3RydWN0IGRybV9kZXZpY2UgKmRl diA9IGludGVsX2Nvbm5lY3Rvci0+YmFzZS5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAorCWlmIChpbnRlbF9jb25uZWN0b3ItPmJh c2UuY29ubmVjdG9yX3R5cGUgPT0gRFJNX01PREVfQ09OTkVDVE9SX0RTSSAmJgorCQlpbnRlbF9k c2lfY2FiY19pbml0X2JhY2tsaWdodF9mdW5jcyhpbnRlbF9jb25uZWN0b3IpID09IDApCisJCXJl dHVybjsKKwogCWlmIChJU19CUk9YVE9OKGRldikpIHsKIAkJcGFuZWwtPmJhY2tsaWdodC5zZXR1 cCA9IGJ4dF9zZXR1cF9iYWNrbGlnaHQ7CiAJCXBhbmVsLT5iYWNrbGlnaHQuZW5hYmxlID0gYnh0 X2VuYWJsZV9iYWNrbGlnaHQ7Ci0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZngK