From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yetunde Adebisi Subject: [PATCH 3/3] drm/i915: Add Backlight Control using DPCD for eDP connectors (v9) Date: Tue, 26 Apr 2016 12:25:18 +0100 Message-ID: <1461669918-4851-4-git-send-email-yetundex.adebisi@intel.com> References: <1461669918-4851-1-git-send-email-yetundex.adebisi@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 9A77A6E7CF for ; Tue, 26 Apr 2016 11:25:29 +0000 (UTC) In-Reply-To: <1461669918-4851-1-git-send-email-yetundex.adebisi@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 , isg-gms@eclists.intel.com List-Id: intel-gfx@lists.freedesktop.org VGhpcyBwYXRjaCBhZGRzIHN1cHBvcnQgZm9yIGVEUCBiYWNrbGlnaHQgY29udHJvbCB1c2luZyBE UENEIHJlZ2lzdGVycyB0bwpiYWNrbGlnaHQgaG9va3MgaW4gaW50ZWxfcGFuZWwuCgpJdCBjaGVj a3MgZm9yIGJhY2tsaWdodCBjb250cm9sIG92ZXIgQVVYIGNoYW5uZWwgY2FwYWJpbGl0eSBhbmQg c2V0cyB1cApmdW5jdGlvbiBwb2ludGVycyB0byBnZXQgYW5kIHNldCB0aGUgYmFja2xpZ2h0IGJy aWdodG5lc3MgbGV2ZWwgaWYKc3VwcG9ydGVkLgoKdjI6IE1vdmVkIGJhY2tsaWdodCBmdW5jdGlv bnMgZnJvbSBpbnRlbF9kcC5jIGludG8gYSBuZXcgZmlsZQppbnRlbF9kcF9hdXhfYmFja2xpZ2h0 LmMuIEFsc28gbW92ZWQgcmVhZGluZyBvZiBlRFAgZGlzcGxheSBjb250cm9sCnJlZ2lzdGVycyB0 byBpbnRlbF9kcF9nZXRfZHBjZAoKdjM6IENvcnJlY3Qgc29tZSBmb3JtYXR0aW5nIG1pc3Rha2Vz Cgp2NDogVXBkYXRlZCB0byB1c2UgQVVYIGJhY2tsaWdodCBjb250cm9sIGlmIFBXTSBjb250cm9s IGlzIG5vdCBwb3NzaWJsZQoJKEphbmkpCnY1OiBNb3ZlZCBjYWxsIHRvIGluaXRpYWxpemUgYmFj a2xpZ2h0IHJlZ2lzdGVycyB0byBkcF9hdXhfc2V0dXBfYmFja2xpZ2h0CnY2OiBDaGVjayBEUF9F RFBfQkFDS0xJR0hUX1BJTl9FTkFCTEVfQ0FQIGlzIGRpc2FibGVkIGJlZm9yZSBzZXR0aW5nIHVw IEFVWApiYWNrbGlnaHQgY29udHJvbC4gVG8gZml4IEJMTV9QV01fRU5BQkxFIGlndCB0ZXN0IHdh cm5pbmdzIG9uIGJkd191bHRyYQp2NzogQWRkIGVuYWJsZV9kcGNkX2JhY2tsaWdodCBtb2R1bGUg cGFyYW1ldGVyLgp2ODogUmViYXNlIG9udG8gbGF0ZXN0IGRybS1pbnRlbC1uaWdodGx5IGJyYW5j aAp2OTogUmVtb3ZlIHJlZmVyZW5jZXMgdG8gaW50ZWxfZHBfZHBjZF9yZWFkX3dha2UKICAgIFNw bGl0IGFkZGl0aW9uIGVkcF9kcGNkIHZhcmlhYmxlIGludG8gYSBzZXBhcmF0ZSBwYXRjaAoKQ2M6 IEJvYiBQYWF1d2UgPGJvYi5qLnBhYXV3ZUBpbnRlbC5jb20+CkNjOiBKYW5pIE5pa3VsYSA8amFu aS5uaWt1bGFAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBZZXR1bmRlIEFkZWJpc2kgPHlldHVu ZGV4LmFkZWJpc2lAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxl ICAgICAgICAgICAgICAgICB8ICAgMSArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFt cy5jICAgICAgICAgICAgfCAgIDQgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMu aCAgICAgICAgICAgIHwgICAxICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX2F1eF9i YWNrbGlnaHQuYyB8IDE3MyArKysrKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgICAgICAgICAgIHwgICAzICsKIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3BhbmVsLmMgICAgICAgICAgICB8ICAgNCArCiA2IGZpbGVzIGNoYW5nZWQs IDE4NiBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHBfYXV4X2JhY2tsaWdodC5jCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQppbmRleCAwYjg4 YmEwLi43MjNjNTAyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQpAQCAtODEsNiArODEsNyBAQCBpOTE1 LXkgKz0gZHZvX2NoNzAxNy5vIFwKIAkgIGR2b190ZnA0MTAubyBcCiAJICBpbnRlbF9jcnQubyBc CiAJICBpbnRlbF9kZGkubyBcCisJICBpbnRlbF9kcF9hdXhfYmFja2xpZ2h0Lm8gXAogCSAgaW50 ZWxfZHBfbGlua190cmFpbmluZy5vIFwKIAkgIGludGVsX2RwX21zdC5vIFwKIAkgIGludGVsX2Rw Lm8gXApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFyYW1zLmMKaW5kZXggMTc3OWYwMi4uMzgzYzA3NiAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5jCkBAIC01OCw2ICs1OCw3IEBAIHN0cnVjdCBp OTE1X3BhcmFtcyBpOTE1IF9fcmVhZF9tb3N0bHkgPSB7CiAJLmd1Y19sb2dfbGV2ZWwgPSAtMSwK IAkuZW5hYmxlX2RwX21zdCA9IHRydWUsCiAJLmluamVjdF9sb2FkX2ZhaWx1cmUgPSAwLAorCS5l bmFibGVfZHBjZF9iYWNrbGlnaHQgPSBmYWxzZSwKIH07CiAKIG1vZHVsZV9wYXJhbV9uYW1lZCht b2Rlc2V0LCBpOTE1Lm1vZGVzZXQsIGludCwgMDQwMCk7CkBAIC0yMTAsMyArMjExLDYgQEAgTU9E VUxFX1BBUk1fREVTQyhlbmFibGVfZHBfbXN0LAogbW9kdWxlX3BhcmFtX25hbWVkX3Vuc2FmZShp bmplY3RfbG9hZF9mYWlsdXJlLCBpOTE1LmluamVjdF9sb2FkX2ZhaWx1cmUsIHVpbnQsIDA0MDAp OwogTU9EVUxFX1BBUk1fREVTQyhpbmplY3RfbG9hZF9mYWlsdXJlLAogCSJGb3JjZSBhbiBlcnJv ciBhZnRlciBhIG51bWJlciBvZiBmYWlsdXJlIGNoZWNrIHBvaW50cyAoMDpkaXNhYmxlZCAoZGVm YXVsdCksIE46Zm9yY2UgZmFpbHVyZSBhdCB0aGUgTnRoIGZhaWx1cmUgY2hlY2sgcG9pbnQpIik7 Cittb2R1bGVfcGFyYW1fbmFtZWQoZW5hYmxlX2RwY2RfYmFja2xpZ2h0LCBpOTE1LmVuYWJsZV9k cGNkX2JhY2tsaWdodCwgYm9vbCwgMDYwMCk7CitNT0RVTEVfUEFSTV9ERVNDKGVuYWJsZV9kcGNk X2JhY2tsaWdodCwKKwkiRW5hYmxlIHN1cHBvcnQgZm9yIERQQ0QgYmFja2xpZ2h0IGNvbnRyb2wg KGRlZmF1bHQ6ZmFsc2UpIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3BhcmFtcy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuaAppbmRleCAwMmJj Mjc4Li42NWU3M2RkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFt cy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFyYW1zLmgKQEAgLTYxLDYgKzYx LDcgQEAgc3RydWN0IGk5MTVfcGFyYW1zIHsKIAlib29sIHZlcmJvc2Vfc3RhdGVfY2hlY2tzOwog CWJvb2wgbnVjbGVhcl9wYWdlZmxpcDsKIAlib29sIGVuYWJsZV9kcF9tc3Q7CisJYm9vbCBlbmFi bGVfZHBjZF9iYWNrbGlnaHQ7CiB9OwogCiBleHRlcm4gc3RydWN0IGk5MTVfcGFyYW1zIGk5MTUg X19yZWFkX21vc3RseTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rw X2F1eF9iYWNrbGlnaHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX2F1eF9iYWNr bGlnaHQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ODRmYjBkCi0tLSAv ZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfYXV4X2JhY2tsaWdo dC5jCkBAIC0wLDAgKzEsMTczIEBACisvKgorICogQ29weXJpZ2h0IMKpIDIwMTUgSW50ZWwgQ29y cG9yYXRpb24KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNo YXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorICogY29weSBvZiB0aGlzIHNvZnR3YXJl IGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwKKyAq IHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3 aXRob3V0IGxpbWl0YXRpb24KKyAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1l cmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLAorICogYW5kL29yIHNlbGwgY29w aWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlCisg KiBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2lu ZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlz IHBlcm1pc3Npb24gbm90aWNlIChpbmNsdWRpbmcgdGhlIG5leHQKKyAqIHBhcmFncmFwaCkgc2hh bGwgYmUgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0 aGUKKyAqIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMi LCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJ TkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ TElUWSwKKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5H RU1FTlQuICBJTiBOTyBFVkVOVCBTSEFMTAorICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhP TERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKKyAqIExJQUJJ TElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNF LCBBUklTSU5HCisgKiBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZU V0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTCisgKiBJTiBUSEUgU09GVFdBUkUuCisg KgorICovCisKKyNpbmNsdWRlICJpbnRlbF9kcnYuaCIKKworc3RhdGljIHZvaWQgc2V0X2F1eF9i YWNrbGlnaHRfZW5hYmxlKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsIGJvb2wgZW5hYmxlKQor eworCXVpbnQ4X3QgcmVnX3ZhbCA9IDA7CisKKwlpZiAoZHJtX2RwX2RwY2RfcmVhZGIoJmludGVs X2RwLT5hdXgsIERQX0VEUF9ESVNQTEFZX0NPTlRST0xfUkVHSVNURVIsCisJCQkmcmVnX3ZhbCkg PCAwKSB7CisJCURSTV9ERUJVR19LTVMoIkZhaWxlZCB0byByZWFkIERQQ0QgcmVnaXN0ZXIgMHgl eFxuIiwKKwkJCQlEUF9FRFBfRElTUExBWV9DT05UUk9MX1JFR0lTVEVSKTsKKwkJcmV0dXJuOwor CX0KKwlpZiAoZW5hYmxlKQorCQlyZWdfdmFsIHw9IERQX0VEUF9CQUNLTElHSFRfRU5BQkxFOwor CWVsc2UKKwkJcmVnX3ZhbCAmPSB+KERQX0VEUF9CQUNLTElHSFRfRU5BQkxFKTsKKworCWlmIChk cm1fZHBfZHBjZF93cml0ZWIoJmludGVsX2RwLT5hdXgsIERQX0VEUF9ESVNQTEFZX0NPTlRST0xf UkVHSVNURVIsCisJCQlyZWdfdmFsKSAhPSAxKSB7CisJCURSTV9ERUJVR19LTVMoIkZhaWxlZCB0 byAlcyBhdXggYmFja2xpZ2h0XG4iLAorCQkJCWVuYWJsZSA/ICJlbmFibGUiIDogImRpc2FibGUi KTsKKwl9Cit9CisKKy8qCisgKiBSZWFkIHRoZSBjdXJyZW50IGJhY2tsaWdodCB2YWx1ZSBmcm9t IERQQ0QgcmVnaXN0ZXIocykgYmFzZWQKKyAqIG9uIGlmIDgtYml0KE1TQikgb3IgMTYtYml0KE1T QiBhbmQgTFNCKSB2YWx1ZXMgYXJlIHN1cHBvcnRlZAorICovCitzdGF0aWMgdWludDMyX3QgaW50 ZWxfZHBfYXV4X2dldF9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9y KQoreworCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoJmNvbm5l Y3Rvci0+ZW5jb2Rlci0+YmFzZSk7CisJdWludDhfdCByZWFkX3ZhbFsyXSA9IHsgMHgwIH07CisJ dWludDE2X3QgbGV2ZWwgPSAwOworCisJaWYgKGRybV9kcF9kcGNkX3JlYWQoJmludGVsX2RwLT5h dXgsIERQX0VEUF9CQUNLTElHSFRfQlJJR0hUTkVTU19NU0IsCisJCQkmcmVhZF92YWwsIHNpemVv ZihyZWFkX3ZhbCkpIDwgMCkgeworCQlEUk1fREVCVUdfS01TKCJGYWlsZWQgdG8gcmVhZCBEUENE IHJlZ2lzdGVyIDB4JXhcbiIsCisJCQkJRFBfRURQX0JBQ0tMSUdIVF9CUklHSFRORVNTX01TQik7 CisJCXJldHVybiAwOworCX0KKwlsZXZlbCA9IHJlYWRfdmFsWzBdOworCWlmIChpbnRlbF9kcC0+ ZWRwX2RwY2RbMl0gJiBEUF9FRFBfQkFDS0xJR0hUX0JSSUdIVE5FU1NfQllURV9DT1VOVCkKKwkJ bGV2ZWwgPSAocmVhZF92YWxbMF0gPDwgOCB8IHJlYWRfdmFsWzFdKTsKKworCXJldHVybiBsZXZl bDsKK30KKworLyoKKyAqIFNlbmRzIHRoZSBjdXJyZW50IGJhY2tsaWdodCBsZXZlbCBvdmVyIHRo ZSBhdXggY2hhbm5lbCwgY2hlY2tpbmcgaWYgaXRzIHVzaW5nCisgKiA4LWJpdCBvciAxNiBiaXQg dmFsdWUgKE1TQiBhbmQgTFNCKQorICovCitzdGF0aWMgdm9pZAoraW50ZWxfZHBfYXV4X3NldF9i YWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLCB1MzIgbGV2ZWwpCit7 CisJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVuY190b19pbnRlbF9kcCgmY29ubmVjdG9y LT5lbmNvZGVyLT5iYXNlKTsKKwl1aW50OF90IHZhbHNbMl0gPSB7IDB4MCB9OworCisJdmFsc1sw XSA9IGxldmVsOworCisJLyogV3JpdGUgdGhlIE1TQiBhbmQvb3IgTFNCICovCisJIGlmIChpbnRl bF9kcC0+ZWRwX2RwY2RbMl0gJiBEUF9FRFBfQkFDS0xJR0hUX0JSSUdIVE5FU1NfQllURV9DT1VO VCkgeworCQl2YWxzWzBdID0gKGxldmVsICYgMHhGRjAwKSA+PiA4OworCQl2YWxzWzFdID0gKGxl dmVsICYgMHhGRik7CisJfQorCWlmIChkcm1fZHBfZHBjZF93cml0ZSgmaW50ZWxfZHAtPmF1eCwg RFBfRURQX0JBQ0tMSUdIVF9CUklHSFRORVNTX01TQiwKKwkJCXZhbHMsIHNpemVvZih2YWxzKSkg PCAwKSB7CisJCURSTV9ERUJVR19LTVMoIkZhaWxlZCB0byB3cml0ZSBhdXggYmFja2xpZ2h0IGxl dmVsXG4iKTsKKwkJcmV0dXJuOworCX0KK30KKworc3RhdGljIHZvaWQgaW50ZWxfZHBfYXV4X2Vu YWJsZV9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQoreworCXN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoJmNvbm5lY3Rvci0+ZW5j b2Rlci0+YmFzZSk7CisJdWludDhfdCBkcGNkX2J1ZiA9IDA7CisKKwlzZXRfYXV4X2JhY2tsaWdo dF9lbmFibGUoaW50ZWxfZHAsIHRydWUpOworCisJaWYgKChkcm1fZHBfZHBjZF9yZWFkYigmaW50 ZWxfZHAtPmF1eCwKKwkJCURQX0VEUF9CQUNLTElHSFRfTU9ERV9TRVRfUkVHSVNURVIsICZkcGNk X2J1ZikgPT0gMSkgJiYKKwkJCSgoZHBjZF9idWYgJiBEUF9FRFBfQkFDS0xJR0hUX0NPTlRST0xf TU9ERV9NQVNLKSA9PQorCQkJCQlEUF9FRFBfQkFDS0xJR0hUX0NPTlRST0xfTU9ERV9QUkVTRVQp KQorCQlkcm1fZHBfZHBjZF93cml0ZWIoJmludGVsX2RwLT5hdXgsIERQX0VEUF9CQUNLTElHSFRf TU9ERV9TRVRfUkVHSVNURVIsCisJCQkJKGRwY2RfYnVmIHwgRFBfRURQX0JBQ0tMSUdIVF9DT05U Uk9MX01PREVfRFBDRCkpOworfQorCitzdGF0aWMgdm9pZCBpbnRlbF9kcF9hdXhfZGlzYWJsZV9i YWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQoreworCXNldF9hdXhf YmFja2xpZ2h0X2VuYWJsZShlbmNfdG9faW50ZWxfZHAoJmNvbm5lY3Rvci0+ZW5jb2Rlci0+YmFz ZSksIGZhbHNlKTsKK30KKworc3RhdGljIGludCBpbnRlbF9kcF9hdXhfc2V0dXBfYmFja2xpZ2h0 KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwKKwkJCWVudW0gcGlwZSBwaXBlKQor eworCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoJmNvbm5lY3Rv ci0+ZW5jb2Rlci0+YmFzZSk7CisJc3RydWN0IGludGVsX3BhbmVsICpwYW5lbCA9ICZjb25uZWN0 b3ItPnBhbmVsOworCisJaW50ZWxfZHBfYXV4X2VuYWJsZV9iYWNrbGlnaHQoY29ubmVjdG9yKTsK KworCWlmIChpbnRlbF9kcC0+ZWRwX2RwY2RbMl0gJiBEUF9FRFBfQkFDS0xJR0hUX0JSSUdIVE5F U1NfQllURV9DT1VOVCkKKwkJcGFuZWwtPmJhY2tsaWdodC5tYXggPSAweEZGRkY7CisJZWxzZQor CQlwYW5lbC0+YmFja2xpZ2h0Lm1heCA9IDB4RkY7CisKKwlwYW5lbC0+YmFja2xpZ2h0Lm1pbiA9 IDA7CisJcGFuZWwtPmJhY2tsaWdodC5sZXZlbCA9IGludGVsX2RwX2F1eF9nZXRfYmFja2xpZ2h0 KGNvbm5lY3Rvcik7CisKKwlwYW5lbC0+YmFja2xpZ2h0LmVuYWJsZWQgPSBwYW5lbC0+YmFja2xp Z2h0LmxldmVsICE9IDA7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGJvb2wKK2ludGVsX2Rw X2F1eF9kaXNwbGF5X2NvbnRyb2xfY2FwYWJsZShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25u ZWN0b3IpCit7CisJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVuY190b19pbnRlbF9kcCgm Y29ubmVjdG9yLT5lbmNvZGVyLT5iYXNlKTsKKworCS8qIENoZWNrIHRoZSAgZURQIERpc3BsYXkg Y29udHJvbCBjYXBhYmlsaXRpZXMgcmVnaXN0ZXJzIHRvIGRldGVybWluZSBpZgorCSAqIHRoZSBw YW5lbCBjYW4gc3VwcG9ydCBiYWNrbGlnaHQgY29udHJvbCBvdmVyIHRoZSBhdXggY2hhbm5lbAor CSAqLworCWlmIChpbnRlbF9kcC0+ZWRwX2RwY2RbMV0gJiBEUF9FRFBfVENPTl9CQUNLTElHSFRf QURKVVNUTUVOVF9DQVAgJiYKKwkJCShpbnRlbF9kcC0+ZWRwX2RwY2RbMV0gJiBEUF9FRFBfQkFD S0xJR0hUX0FVWF9FTkFCTEVfQ0FQKSAmJgorCQkJISgoaW50ZWxfZHAtPmVkcF9kcGNkWzFdICYg RFBfRURQX0JBQ0tMSUdIVF9QSU5fRU5BQkxFX0NBUCkgfHwKKwkJCQkJKGludGVsX2RwLT5lZHBf ZHBjZFsyXSAmIERQX0VEUF9CQUNLTElHSFRfQlJJR0hUTkVTU19QV01fUElOX0NBUCkpKSB7CisK KwkJRFJNX0RFQlVHX0tNUygiQVVYIEJhY2tsaWdodCBDb250cm9sIFN1cHBvcnRlZCFcbiIpOwor CQlyZXR1cm4gdHJ1ZTsKKwl9CisJcmV0dXJuIGZhbHNlOworfQorCitpbnQgaW50ZWxfZHBfYXV4 X2luaXRfYmFja2xpZ2h0X2Z1bmNzKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5l Y3RvcikKK3sKKwlzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsID0gJmludGVsX2Nvbm5lY3Rvci0+ cGFuZWw7CisKKwlpZighaTkxNS5lbmFibGVfZHBjZF9iYWNrbGlnaHQpCisJCXJldHVybiAtRU5P REVWOworCisJaWYgKCFpbnRlbF9kcF9hdXhfZGlzcGxheV9jb250cm9sX2NhcGFibGUoaW50ZWxf Y29ubmVjdG9yKSkKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwlwYW5lbC0+YmFja2xpZ2h0LnNldHVw ID0gaW50ZWxfZHBfYXV4X3NldHVwX2JhY2tsaWdodDsKKwlwYW5lbC0+YmFja2xpZ2h0LmVuYWJs ZSA9IGludGVsX2RwX2F1eF9lbmFibGVfYmFja2xpZ2h0OworCXBhbmVsLT5iYWNrbGlnaHQuZGlz YWJsZSA9IGludGVsX2RwX2F1eF9kaXNhYmxlX2JhY2tsaWdodDsKKwlwYW5lbC0+YmFja2xpZ2h0 LnNldCA9IGludGVsX2RwX2F1eF9zZXRfYmFja2xpZ2h0OworCXBhbmVsLT5iYWNrbGlnaHQuZ2V0 ID0gaW50ZWxfZHBfYXV4X2dldF9iYWNrbGlnaHQ7CisKKwlyZXR1cm4gMDsKK30KZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHJ2LmgKaW5kZXggOTlkYjhiYi4uY2I4OWEzNSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmgKQEAgLTEzMzcsNiArMTMzNyw5IEBAIGJvb2wgaW50ZWxfZHBfc291cmNlX3N1cHBv cnRzX2hicjIoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCk7CiBib29sCiBpbnRlbF9kcF9nZXRf bGlua19zdGF0dXMoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwgdWludDhfdCBsaW5rX3N0YXR1 c1tEUF9MSU5LX1NUQVRVU19TSVpFXSk7CiAKKy8qIGludGVsX2RwX2F1eF9iYWNrbGlnaHQuYyAq LworaW50IGludGVsX2RwX2F1eF9pbml0X2JhY2tsaWdodF9mdW5jcyhzdHJ1Y3QgaW50ZWxfY29u bmVjdG9yICppbnRlbF9jb25uZWN0b3IpOworCiAvKiBpbnRlbF9kcF9tc3QuYyAqLwogaW50IGlu dGVsX2RwX21zdF9lbmNvZGVyX2luaXQoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxf ZGlnX3BvcnQsIGludCBjb25uX2lkKTsKIHZvaWQgaW50ZWxfZHBfbXN0X2VuY29kZXJfY2xlYW51 cChzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCk7CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcGFuZWwuYwppbmRleCBhMDc4ODc2Li5iZDMxNDgxIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3BhbmVsLmMKQEAgLTE3MTgsNiArMTcxOCwxMCBAQCBpbnRlbF9wYW5lbF9pbml0X2Jh Y2tsaWdodF9mdW5jcyhzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsKQogCQljb250YWluZXJfb2Yo cGFuZWwsIHN0cnVjdCBpbnRlbF9jb25uZWN0b3IsIHBhbmVsKTsKIAlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+YmFzZS5kZXYpOwogCisJaWYg KGNvbm5lY3Rvci0+YmFzZS5jb25uZWN0b3JfdHlwZSA9PSBEUk1fTU9ERV9DT05ORUNUT1JfZURQ ICYmCisJCQlpbnRlbF9kcF9hdXhfaW5pdF9iYWNrbGlnaHRfZnVuY3MoY29ubmVjdG9yKSA9PSAw KQorCQlyZXR1cm47CisKIAlpZiAoSVNfQlJPWFRPTihkZXZfcHJpdikpIHsKIAkJcGFuZWwtPmJh Y2tsaWdodC5zZXR1cCA9IGJ4dF9zZXR1cF9iYWNrbGlnaHQ7CiAJCXBhbmVsLT5iYWNrbGlnaHQu ZW5hYmxlID0gYnh0X2VuYWJsZV9iYWNrbGlnaHQ7Ci0tIAoxLjkuMwoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==