From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jesse Barnes Subject: Re: [PATCH 1/1] drm/i915: Add Backlight Control using DPCD for eDP connectors Date: Wed, 28 Oct 2015 13:17:20 -0700 Message-ID: <56312D50.2020808@virtuousgeek.org> References: <1443623767-11389-1-git-send-email-yetundex.adebisi@intel.com> <1443623767-11389-2-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 gproxy5-pub.mail.unifiedlayer.com (gproxy5-pub.mail.unifiedlayer.com [67.222.38.55]) by gabe.freedesktop.org (Postfix) with SMTP id C2BEA6E26B for ; Wed, 28 Oct 2015 13:44:42 -0700 (PDT) In-Reply-To: <1443623767-11389-2-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: Yetunde Adebisi , intel-gfx@lists.freedesktop.org Cc: Jani Nikula , Deepak M List-Id: intel-gfx@lists.freedesktop.org T24gMDkvMzAvMjAxNSAwNzozNiBBTSwgWWV0dW5kZSBBZGViaXNpIHdyb3RlOgo+IFRoaXMgcGF0 Y2ggYWRkcyBzdXBwb3J0IGZvciBlRFAgYmFja2xpZ2h0IGNvbnRyb2wgdXNpbmcgRFBDRCByZWdp c3RlcnMgdG8KPiBiYWNrbGlnaHQgaG9va3MgaW4gaW50ZWxfcGFuZWwuCj4gCj4gSXQgY2hlY2tz IGZvciBiYWNrbGlnaHQgY29udHJvbCBvdmVyIEFVWCBjaGFubmVsIGNhcGFiaWxpdHkgYW5kIHNl dHMgdXAKPiBmdW5jdGlvbiBwb2ludGVycyB0byBnZXQgYW5kIHNldCB0aGUgYmFja2xpZ2h0IGJy aWdodG5lc3MgbGV2ZWwgaWYKPiBzdXBwb3J0ZWQuCj4gCj4gQ2M6IEJvYiBQYWF1d2UgPGJvYi5q LnBhYXV3ZUBpbnRlbC5jb20+Cj4gQ2M6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5j b20+Cj4gQ2M6IERlZXBhayBNIDxtLmRlZXBha0BpbnRlbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTog WWV0dW5kZSBBZGViaXNpIDx5ZXR1bmRleC5hZGViaXNpQGludGVsLmNvbT4KPiAtLS0KPiAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyAgICB8IDE4NSArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAg fCAgIDMgKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5jIHwgICA1ICstCj4g IGluY2x1ZGUvZHJtL2RybV9kcF9oZWxwZXIuaCAgICAgICAgfCAgIDYgKysKPiAgNCBmaWxlcyBj aGFuZ2VkLCAxOTggaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQo+IAo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHAuYwo+IGluZGV4IGZhMWE1MjQuLmZjNGI4OTYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RwLmMKPiBAQCAtNjI1OSwzICs2MjU5LDE4OCBAQCB2b2lkIGludGVsX2RwX21zdF9yZXN1 bWUoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgCQl9Cj4gIAl9Cj4gIH0KPiArCj4gK3N0YXRp YyB1aW50OF90IHJlYWRfYXV4X2JhY2tsaWdodF9tb2RlX3NldF9yZWcoc3RydWN0IGludGVsX2Rw ICppbnRlbF9kcCkKPiArewo+ICsJdWludDhfdCBkcGNkX2J1ZiA9IDA7Cj4gKwo+ICsJaWYgKGlu dGVsX2RwX2RwY2RfcmVhZF93YWtlKCZpbnRlbF9kcC0+YXV4LAo+ICsJCQlEUF9FRFBfQkFDS0xJ R0hUX01PREVfU0VUX1JFR0lTVEVSLAo+ICsJCQkmZHBjZF9idWYsIHNpemVvZihkcGNkX2J1Zikp IDwgMCkKPiArCQlEUk1fREVCVUdfS01TKCJGYWlsZWQgdG8gcmVhZCBEUENEIHJlZ2lzdGVyIDB4 JXhcbiIsCj4gKwkJCQlEUF9FRFBfQkFDS0xJR0hUX01PREVfU0VUX1JFR0lTVEVSKTsKPiArCj4g KwlyZXR1cm4gZHBjZF9idWY7Cj4gK30KPiArCj4gK3N0YXRpYyBib29sIGdldF9hdXhfYmFja2xp Z2h0X2VuYWJsZShzdHJ1Y3QgZHJtX2RwX2F1eCAqYXV4KQo+ICt7Cj4gKwl1aW50OF90IHJlYWRf dmFsID0gMDsKPiArCj4gKwlpZiAoaW50ZWxfZHBfZHBjZF9yZWFkX3dha2UoYXV4LCBEUF9FRFBf RElTUExBWV9DT05UUk9MX1JFR0lTVEVSLAo+ICsJCQkmcmVhZF92YWwsIHNpemVvZihyZWFkX3Zh bCkpIDwgMCkgewo+ICsJCURSTV9ERUJVR19LTVMoIkZhaWxlZCB0byByZWFkIERQQ0QgcmVnaXN0 ZXIgMHgleFxuIiwKPiArCQkJCURQX0VEUF9ESVNQTEFZX0NPTlRST0xfUkVHSVNURVIpOwo+ICsJ CX0KPiArCXJldHVybiByZWFkX3ZhbCAmIERQX0VEUF9CQUNLTElHSFRfRU5BQkxFOwo+ICt9Cj4g Kwo+ICtzdGF0aWMgdm9pZCBzZXRfYXV4X2JhY2tsaWdodF9lbmFibGUoc3RydWN0IGludGVsX2Rw ICppbnRlbF9kcCwgYm9vbCBlbmFibGUpCj4gK3sKPiArCXVpbnQ4X3QgcmVnX3ZhbCA9IDA7Cj4g Kwo+ICsJaWYgKGludGVsX2RwX2RwY2RfcmVhZF93YWtlKCZpbnRlbF9kcC0+YXV4LAo+ICsJCQkJ RFBfRURQX0RJU1BMQVlfQ09OVFJPTF9SRUdJU1RFUiwKPiArCQkJCSZyZWdfdmFsLCBzaXplb2Yo cmVnX3ZhbCkpIDwgMCkgewo+ICsJCURSTV9ERUJVR19LTVMoIkZhaWxlZCB0byByZWFkIERQQ0Qg cmVnaXN0ZXIgMHgleFxuIiwKPiArCQkJCURQX0VEUF9ESVNQTEFZX0NPTlRST0xfUkVHSVNURVIp Owo+ICsJCXJldHVybjsKPiArCX0KPiArCWlmIChlbmFibGUpCj4gKwkJcmVnX3ZhbCB8PSBEUF9F RFBfQkFDS0xJR0hUX0VOQUJMRTsKPiArCWVsc2UKPiArCQlyZWdfdmFsICY9IH4oRFBfRURQX0JB Q0tMSUdIVF9FTkFCTEUpOwo+ICsKPiArCWlmIChkcm1fZHBfZHBjZF93cml0ZWIoJmludGVsX2Rw LT5hdXgsIERQX0VEUF9ESVNQTEFZX0NPTlRST0xfUkVHSVNURVIsCj4gKwkJCXJlZ192YWwpIDwg MCkgewo+ICsJCURSTV9ERUJVR19LTVMoIkZhaWxlZCB0byAlcyBhdXggYmFja2xpZ2h0XG4iLAo+ ICsJCQkJZW5hYmxlID8gImVuYWJsZSIgOiAiZGlzYWJsZSIpOwo+ICsJfQo+ICt9Cj4gKwo+ICsv KioKPiArICogUmVhZCB0aGUgY3VycmVudCBiYWNrbGlnaHQgdmFsdWUgZnJvbSBEUENEIHJlZ2lz dGVyKHMpIGJhc2VkCj4gKyAqIG9uIGlmIDgtYml0KE1TQikgb3IgMTYtYml0KE1TQiBhbmQgTFNC KSB2YWx1ZXMgYXJlIHN1cHBvcnRlZAo+ICsgKi8KPiArc3RhdGljIHVpbnQzMl90IGludGVsX2Rw X2F1eF9nZXRfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAr ewo+ICsJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGludGVsX2F0dGFjaGVkX2RwKCZjb25u ZWN0b3ItPmJhc2UpOwo+ICsJdWludDE2X3QgcmVhZF92YWwgPSAwOwo+ICsKPiArCWlmIChpbnRl bF9kcF9kcGNkX3JlYWRfd2FrZSgmaW50ZWxfZHAtPmF1eCwKPiArCQkJRFBfRURQX0JBQ0tMSUdI VF9CUklHSFRORVNTX01TQiwKPiArCQkJJnJlYWRfdmFsLCBzaXplb2YocmVhZF92YWwpKSA8IDAp IHsKPiArCQlEUk1fREVCVUdfS01TKCJGYWlsZWQgdG8gcmVhZCBEUENEIHJlZ2lzdGVyIDB4JXhc biIsCj4gKwkJCQlEUF9FRFBfQkFDS0xJR0hUX0JSSUdIVE5FU1NfTVNCKTsKPiArCQlyZXR1cm4g MDsKPiArCX0KPiArCWlmIChpbnRlbF9kcC0+YXV4X2JsY191c2VfbHNiKSB7Cj4gKwkJdWludDhf dCB2YWxfbHNiID0gMDsKPiArCj4gKwkJaWYgKGludGVsX2RwX2RwY2RfcmVhZF93YWtlKCZpbnRl bF9kcC0+YXV4LAo+ICsJCQkJRFBfRURQX0JBQ0tMSUdIVF9CUklHSFRORVNTX0xTQiwKPiArCQkJ CSZ2YWxfbHNiLCBzaXplb2YodmFsX2xzYikpIDwgMCkgewo+ICsJCQlEUk1fREVCVUdfS01TKCJG YWlsZWQgdG8gcmVhZCBEUENEIHJlZ2lzdGVyIDB4JXhcbiIsCj4gKwkJCQkJRFBfRURQX0JBQ0tM SUdIVF9CUklHSFRORVNTX0xTQik7Cj4gKwkJCXJldHVybiAwOwo+ICsJCX0KPiArCQlyZWFkX3Zh bCA9IChyZWFkX3ZhbCA8PCA4IHwgdmFsX2xzYik7Cj4gKwl9Cj4gKwo+ICsJcmV0dXJuIHJlYWRf dmFsOwo+ICt9Cj4gKwo+ICsvKioKPiArICogU2VuZHMgdGhlIGN1cnJlbnQgYmFja2xpZ2h0IGxl dmVsIG92ZXIgdGhlIGF1eCBjaGFubmVsLCBjaGVja2luZyBpZiBpdHMgdXNpbmcKPiArICogOC1i aXQgb3IgMTYgYml0IHZhbHVlIChNU0IgYW5kIExTQikKPiArICovCj4gK3N0YXRpYyB2b2lkCj4g K2ludGVsX2RwX2F1eF9zZXRfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5l Y3RvciwgdTMyIGxldmVsKQo+ICt7Cj4gKwlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gaW50 ZWxfYXR0YWNoZWRfZHAoJmNvbm5lY3Rvci0+YmFzZSk7Cj4gKwl1aW50OF90IHZhbHNbMl0gPSB7 IDB4MCB9Owo+ICsKPiArCXZhbHNbMF0gPSBsZXZlbDsKPiArCURSTV9ERUJVR19LTVMoIkxldmVs IDB4JXhcbiIsIGxldmVsKTsKPiArCj4gKwkvKiBXcml0ZSB0aGUgTVNCIGFuZC9vciBMU0IgKi8K PiArCSBpZiAoaW50ZWxfZHAtPmF1eF9ibGNfdXNlX2xzYikgewo+ICsJCXZhbHNbMF0gPSAobGV2 ZWwgJiAweEZGMDApID4+IDg7Cj4gKwkJdmFsc1sxXSA9IChsZXZlbCAmIDB4RkYpOwo+ICsJCWlm IChkcm1fZHBfZHBjZF93cml0ZWIoJmludGVsX2RwLT5hdXgsCj4gKwkJCQlEUF9FRFBfQkFDS0xJ R0hUX0JSSUdIVE5FU1NfTFNCLCB2YWxzWzFdKSA8IDApIHsKPiArCQkJRFJNX0RFQlVHX0tNUygi RmFpbGVkIHRvIHdyaXRlIGF1eCBiYWNrbGlnaHQgbGV2ZWxcbiIpOwo+ICsJCQlyZXR1cm47Cj4g KwkJfQo+ICsJIH0KPiArCWlmIChkcm1fZHBfZHBjZF93cml0ZWIoJmludGVsX2RwLT5hdXgsIERQ X0VEUF9CQUNLTElHSFRfQlJJR0hUTkVTU19NU0IsCj4gKwkJCXZhbHNbMF0pIDwgMCkgewo+ICsJ CURSTV9ERUJVR19LTVMoIkZhaWxlZCB0byB3cml0ZSBhdXggYmFja2xpZ2h0IGxldmVsXG4iKTsK PiArCQlyZXR1cm47Cj4gKwl9Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIGludGVsX2RwX2F1eF9l bmFibGVfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiArewo+ ICsJc2V0X2F1eF9iYWNrbGlnaHRfZW5hYmxlKGludGVsX2F0dGFjaGVkX2RwKCZjb25uZWN0b3It PmJhc2UpLCB0cnVlKTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgaW50ZWxfZHBfYXV4X2Rpc2Fi bGVfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiArewo+ICsJ c2V0X2F1eF9iYWNrbGlnaHRfZW5hYmxlKGludGVsX2F0dGFjaGVkX2RwKCZjb25uZWN0b3ItPmJh c2UpLCBmYWxzZSk7Cj4gK30KPiArCj4gK3N0YXRpYyBpbnQgaW50ZWxfZHBfYXV4X3NldHVwX2Jh Y2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsCj4gKwkJCSAgICAgICBl bnVtIHBpcGUgcGlwZSkKPiArewo+ICsJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGludGVs X2F0dGFjaGVkX2RwKCZjb25uZWN0b3ItPmJhc2UpOwo+ICsJc3RydWN0IGludGVsX3BhbmVsICpw YW5lbCA9ICZjb25uZWN0b3ItPnBhbmVsOwo+ICsKPiArCWlmICghaW50ZWxfZHBfYXV4X2Rpc3Bs YXlfY29udHJvbF9jYXBhYmxlKGNvbm5lY3RvcikpIHsKPiArCQlEUk1fREVCVUdfS01TKCJCYWNr bGlnaHQgY29udHJvbCBvdmVyIEFVWCBub3Qgc3VwcG9ydGVkXG4iKTsKPiArCQlyZXR1cm4gLUVO T0RFVjsKPiArCX0KPiArCj4gKwlpZiAoaW50ZWxfZHAtPmF1eF9ibGNfdXNlX2xzYikKPiArCQlw YW5lbC0+YmFja2xpZ2h0Lm1heCA9IDB4RkZGRjsKPiArCWVsc2UKPiArCQlwYW5lbC0+YmFja2xp Z2h0Lm1heCA9IDB4RkY7Cj4gKwo+ICsJcGFuZWwtPmJhY2tsaWdodC5taW4gPSAwOwo+ICsKPiAr CXBhbmVsLT5iYWNrbGlnaHQubGV2ZWwgPSBpbnRlbF9kcF9hdXhfZ2V0X2JhY2tsaWdodChjb25u ZWN0b3IpOwo+ICsJcGFuZWwtPmJhY2tsaWdodC5lbmFibGVkID0gZ2V0X2F1eF9iYWNrbGlnaHRf ZW5hYmxlKCZpbnRlbF9kcC0+YXV4KTsKPiArCj4gKwlyZXR1cm4gMDsKPiArfQo+ICsKPiArdm9p ZCBpbnRlbF9kcF9hdXhfaW5pdF9iYWNrbGlnaHRfZnVuY3Moc3RydWN0IGludGVsX2Nvbm5lY3Rv ciAqaW50ZWxfY29ubmVjdG9yKQo+ICt7Cj4gKwlzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsID0g JmludGVsX2Nvbm5lY3Rvci0+cGFuZWw7Cj4gKwo+ICsJcGFuZWwtPmJhY2tsaWdodC5zZXR1cCA9 IGludGVsX2RwX2F1eF9zZXR1cF9iYWNrbGlnaHQ7Cj4gKwlwYW5lbC0+YmFja2xpZ2h0LmVuYWJs ZSA9IGludGVsX2RwX2F1eF9lbmFibGVfYmFja2xpZ2h0Owo+ICsJcGFuZWwtPmJhY2tsaWdodC5k aXNhYmxlID0gaW50ZWxfZHBfYXV4X2Rpc2FibGVfYmFja2xpZ2h0Owo+ICsJcGFuZWwtPmJhY2ts aWdodC5zZXQgPSBpbnRlbF9kcF9hdXhfc2V0X2JhY2tsaWdodDsKPiArCXBhbmVsLT5iYWNrbGln aHQuZ2V0ID0gaW50ZWxfZHBfYXV4X2dldF9iYWNrbGlnaHQ7Cj4gK30KPiArCj4gK2Jvb2wgaW50 ZWxfZHBfYXV4X2Rpc3BsYXlfY29udHJvbF9jYXBhYmxlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3Ig KmNvbm5lY3RvcikKPiArewo+ICsJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGludGVsX2F0 dGFjaGVkX2RwKCZjb25uZWN0b3ItPmJhc2UpOwo+ICsJdWludDhfdCBkcGNkX2VkcFsyXSA9IHsg MHgwIH07Cj4gKwo+ICsJLyogQ2hlY2sgdGhlICBlRFAgRGlzcGxheSBjb250cm9sIGNhcGFiaWxp dGllcyByZWdpc3RlcnMgdG8gZGV0ZXJtaW5lIGlmCj4gKwkgKiB0aGUgcGFuZWwgY2FuIHN1cHBv cnQgYmFja2xpZ2h0IGNvbnRyb2wgb3ZlciB0aGUgYXV4IGNoYW5uZWwqLwo+ICsJaWYgKGludGVs X2RwX2RwY2RfcmVhZF93YWtlKCZpbnRlbF9kcC0+YXV4LCBEUF9FRFBfR0VORVJBTF9DQVBfMSwK PiArCQkJZHBjZF9lZHAsIHNpemVvZihkcGNkX2VkcCkpIDwgMCkgewo+ICsJCURSTV9ERUJVR19L TVMoIkZhaWxlZCB0byByZWFkIERQQ0QgRGlzcGxheSBDb250cm9sIHJlZ2lzdGVyc1xuIik7Cj4g KwkJcmV0dXJuIGZhbHNlOwo+ICsJfQo+ICsJRFJNX0RFQlVHX0tNUygiRURQIERQQ0QgOiAlKnBo XG4iLCAoaW50KSBzaXplb2YoZHBjZF9lZHApLCBkcGNkX2VkcCk7Cj4gKwo+ICsJaWYgKGRwY2Rf ZWRwWzBdICYgRFBfRURQX1RDT05fQkFDS0xJR0hUX0FESlVTVE1FTlRfQ0FQQUJMRSAmJgo+ICsJ CQkoZHBjZF9lZHBbMF0gJiBEUF9FRFBfQkFDS0xJR0hUX0FVWF9FTkFCTEVfQ0FQQUJMRSkgJiYK PiArCQkJKGRwY2RfZWRwWzFdICYgRFBfRURQX0JBQ0tMSUdIVF9CUklHSFRORVNTX0FVWF9TRVRf Q0FQQUJMRSkgJiYKPiArCQkJKChyZWFkX2F1eF9iYWNrbGlnaHRfbW9kZV9zZXRfcmVnKGludGVs X2RwKSAmCj4gKwkJCQkJRFBfRURQX0JBQ0tMSUdIVF9CUklHSFRORVNTX0NUTF9NT0RFX0RQQ0Rf TUFTSykpKSB7Cj4gKwo+ICsJCURSTV9ERUJVR19LTVMoIkFVWCBCYWNrbGlnaHQgQ29udHJvbCBT dXBwb3J0ZWQhXG4iKTsKPiArCj4gKwkJaWYgKGRwY2RfZWRwWzFdICYgRFBfRURQX0JBQ0tMSUdI VF9CUklHSFRORVNTX0JZVEVfQ09VTlQpCj4gKwkJCWludGVsX2RwLT5hdXhfYmxjX3VzZV9sc2Ig PSB0cnVlOwo+ICsKPiArCQlyZXR1cm4gdHJ1ZTsKPiArCX0KPiArCXJldHVybiBmYWxzZTsKPiAr fQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gaW5kZXggMzVhNjVjYS4uZGFjYmMzNyAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gQEAgLTc0Nyw2ICs3NDcsNyBAQCBzdHJ1Y3Qg aW50ZWxfZHAgewo+ICAJdW5zaWduZWQgbG9uZyBsYXN0X3Bvd2VyX2N5Y2xlOwo+ICAJdW5zaWdu ZWQgbG9uZyBsYXN0X3Bvd2VyX29uOwo+ICAJdW5zaWduZWQgbG9uZyBsYXN0X2JhY2tsaWdodF9v ZmY7Cj4gKwlib29sIGF1eF9ibGNfdXNlX2xzYjsKPiAgCj4gIAlzdHJ1Y3Qgbm90aWZpZXJfYmxv Y2sgZWRwX25vdGlmaWVyOwo+ICAKPiBAQCAtMTIyMSw2ICsxMjIyLDggQEAgdm9pZCBpbnRlbF9l ZHBfZHJyc19pbnZhbGlkYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAkJdW5zaWduZWQg ZnJvbnRidWZmZXJfYml0cyk7Cj4gIHZvaWQgaW50ZWxfZWRwX2RycnNfZmx1c2goc3RydWN0IGRy bV9kZXZpY2UgKmRldiwgdW5zaWduZWQgZnJvbnRidWZmZXJfYml0cyk7Cj4gIHZvaWQgaHN3X2Rw X3NldF9kZGlfcGxsX3NlbChzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcpOwo+ ICtib29sIGludGVsX2RwX2F1eF9kaXNwbGF5X2NvbnRyb2xfY2FwYWJsZShzdHJ1Y3QgaW50ZWxf Y29ubmVjdG9yICpjb25uZWN0b3IpOwo+ICt2b2lkIGludGVsX2RwX2F1eF9pbml0X2JhY2tsaWdo dF9mdW5jcyhzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25uZWN0b3IpOwo+ICAKPiAg LyogaW50ZWxfZHBfbXN0LmMgKi8KPiAgaW50IGludGVsX2RwX21zdF9lbmNvZGVyX2luaXQoc3Ry dWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsIGludCBjb25uX2lkKTsKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMKPiBpbmRleCA5YWRiNjJiLi4wNGVmZjM0IDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5jCj4gQEAgLTE2ODUsNyArMTY4NSwxMCBAQCBp bnRlbF9wYW5lbF9pbml0X2JhY2tsaWdodF9mdW5jcyhzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVs KQo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGludGVsX2Nvbm5lY3Rvci0+YmFzZS5kZXY7 Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRl Owo+ICAKPiAtCWlmIChJU19CUk9YVE9OKGRldikpIHsKPiArCWlmIChpbnRlbF9jb25uZWN0b3It PmJhc2UuY29ubmVjdG9yX3R5cGUgPT0gRFJNX01PREVfQ09OTkVDVE9SX2VEUCAmJgo+ICsJCWlu dGVsX2RwX2F1eF9kaXNwbGF5X2NvbnRyb2xfY2FwYWJsZShpbnRlbF9jb25uZWN0b3IpKSB7Cj4g KwkJCWludGVsX2RwX2F1eF9pbml0X2JhY2tsaWdodF9mdW5jcyhpbnRlbF9jb25uZWN0b3IpOwo+ ICsJfSBlbHNlIGlmIChJU19CUk9YVE9OKGRldikpIHsKPiAgCQlwYW5lbC0+YmFja2xpZ2h0LnNl dHVwID0gYnh0X3NldHVwX2JhY2tsaWdodDsKPiAgCQlwYW5lbC0+YmFja2xpZ2h0LmVuYWJsZSA9 IGJ4dF9lbmFibGVfYmFja2xpZ2h0Owo+ICAJCXBhbmVsLT5iYWNrbGlnaHQuZGlzYWJsZSA9IGJ4 dF9kaXNhYmxlX2JhY2tsaWdodDsKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2RwX2hl bHBlci5oIGIvaW5jbHVkZS9kcm0vZHJtX2RwX2hlbHBlci5oCj4gaW5kZXggOWVjNDcxNi4uNzM2 N2UxYSAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fZHBfaGVscGVyLmgKPiArKysgYi9p bmNsdWRlL2RybS9kcm1fZHBfaGVscGVyLmgKPiBAQCAtNDU1LDE2ICs0NTUsMjIgQEAKPiAgIyBk ZWZpbmUgRFBfRURQXzE0CQkJICAgIDB4MDMKPiAgCj4gICNkZWZpbmUgRFBfRURQX0dFTkVSQUxf Q0FQXzEJCSAgICAweDcwMQo+ICsjZGVmaW5lIERQX0VEUF9UQ09OX0JBQ0tMSUdIVF9BREpVU1RN RU5UX0NBUEFCTEUgICAgICAoMSA8PCAwKQo+ICsjZGVmaW5lIERQX0VEUF9CQUNLTElHSFRfQVVY X0VOQUJMRV9DQVBBQkxFICAgICAgICAgICAoMSA8PCAyKQo+ICAKPiAgI2RlZmluZSBEUF9FRFBf QkFDS0xJR0hUX0FESlVTVE1FTlRfQ0FQICAgICAweDcwMgo+ICsjZGVmaW5lIERQX0VEUF9CQUNL TElHSFRfQlJJR0hUTkVTU19BVVhfU0VUX0NBUEFCTEUgICAoMSA8PCAxKQo+ICsjZGVmaW5lIERQ X0VEUF9CQUNLTElHSFRfQlJJR0hUTkVTU19CWVRFX0NPVU5UICAgICAgICAoMSA8PCAyKQo+ICAK PiAgI2RlZmluZSBEUF9FRFBfR0VORVJBTF9DQVBfMgkJICAgIDB4NzAzCj4gIAo+ICAjZGVmaW5l IERQX0VEUF9HRU5FUkFMX0NBUF8zCQkgICAgMHg3MDQgICAgLyogZURQIDEuNCAqLwo+ICAKPiAg I2RlZmluZSBEUF9FRFBfRElTUExBWV9DT05UUk9MX1JFR0lTVEVSICAgICAweDcyMAo+ICsjZGVm aW5lIERQX0VEUF9CQUNLTElHSFRfRU5BQkxFICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAw KQo+ICAKPiAgI2RlZmluZSBEUF9FRFBfQkFDS0xJR0hUX01PREVfU0VUX1JFR0lTVEVSICAweDcy MQo+ICsjZGVmaW5lIERQX0VEUF9CQUNLTElHSFRfQlJJR0hUTkVTU19DVExfTU9ERV9EUENEX01B U0sgMHgyCj4gIAo+ICAjZGVmaW5lIERQX0VEUF9CQUNLTElHSFRfQlJJR0hUTkVTU19NU0IgICAg IDB4NzIyCj4gICNkZWZpbmUgRFBfRURQX0JBQ0tMSUdIVF9CUklHSFRORVNTX0xTQiAgICAgMHg3 MjMKCkkgZG9uJ3QgaGF2ZSB0aGUgc3BlYyBmb3IgdGhpcyBidXQgYXNzdW1lIHlvdSd2ZSB0ZXN0 ZWQgaXQuICBUaGUgY29kZSBsb29rcyBvaywgbXkgb25seSB3b3JyeSBpcyB0aGF0IHNvbWUgZURQ IHBhbmVscyBtaWdodCByZXR1cm4gYSBEUENEIGJhY2tsaWdodCBjYXBhYmlsaXR5IGJ1dCB0aGVu IGp1c3QgaWdub3JlIHRoZSB3cml0ZXMuICBCdXQgSSBndWVzcyB3ZSdsbCBmaW5kIHRoYXQgb3V0 IHNvb24gZW5vdWdoIGlmIHdlIGxhbmQgdGhpcy4KClNvOgpBY2tlZC1ieTogSmVzc2UgQmFybmVz IDxqYmFybmVzQHZpcnR1b3VzZ2Vlay5vcmc+CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeAo=