From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: [PATCH 1/1] drm/i915: make backlight hooks connector specific Date: Mon, 14 Sep 2015 14:03:48 +0300 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id EB81D6E76A for ; Mon, 14 Sep 2015 04:00:38 -0700 (PDT) In-Reply-To: In-Reply-To: References: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: m.deepak@intel.com, yetundex.adebisi@intel.com, intel-gfx@lists.freedesktop.org Cc: jani.nikula@intel.com List-Id: intel-gfx@lists.freedesktop.org UHJldmlvdXNseSB3ZSd2ZSByZWxpZWQgb24gaGF2aW5nIGJhc2ljYWxseSBvbmUgYmFja2xpZ2h0 IGFuZCBvbmUKYmFja2xpZ2h0IHR5cGUgcGVyIHBsYXRmb3JtLiBUaGlzIGlzIGFscmVhZHkgYSBi aXQgcXVpcmt5IHdpdGggUE1JQyBQV00Kc3VwcG9ydCBvbiBWTFYvQ0hWIHBsYXRmb3JtcyB3aXRo IE1JUEkgRFNJLiBJbiB0aGUgZm9yZXNlZWFibGUgZnV0dXJlCndlJ2xsIGhhdmUgYXQgbGVhc3Qg RFBDRCBiYXNlZCBiYWNrbGlnaHQgY29udHJvbCBvbiBlRFAgYW5kIERDUyBjb21tYW5kCmJhc2Vk IGJhY2tsaWdodCBjb250cm9sIG9uIE1JUEkgRFNJLiBCYWNrbGlnaHQgaXMgYmVjb21pbmcgbW9y ZSBhbmQgbW9yZQpjb25uZWN0b3Igc3BlY2lmaWMsIHNvIHJlZmxlY3QgdGhpcyBmYWN0IGJ5IG1h a2luZyB0aGUgYmFja2xpZ2h0IGNvbnRyb2wKaG9va3MgY29ubmVjdG9yIHNwZWNpZmljLgoKVGhp cyBlbmFibGVzIGZ1cnRoZXIgd29yayB0byByZXVzZSBnZW5lcmljIGJhY2tsaWdodCBjb2RlIGlu CmludGVsX3BhbmVsLmMgd2hpbGUgYWRkaW5nIG1vcmUgc3BlY2lmaWMgYmFja2xpZ2h0IGNvZGUg YWNjZXNzZWQgdmlhIHRoZQpob29rcy4KCkNjOiBEZWVwYWsgTSA8bS5kZWVwYWtAaW50ZWwuY29t PgpDYzogWWV0dW5kZSBBZGViaXNpIDx5ZXR1bmRleC5hZGViaXNpQGludGVsLmNvbT4KU2lnbmVk LW9mZi1ieTogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNvbT4KLS0tCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgfCAgIDkgLS0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAgIDIgLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHAuYyAgICAgIHwgICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAg fCAgMTMgKysrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwuYyAgIHwgMTE2ICsr KysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tCiA1IGZpbGVzIGNoYW5nZWQsIDc0IGlu c2VydGlvbnMoKyksIDY4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4 IDE3NGYzOWQwYmY0Ni4uODEzMDIzYjQzOGIyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAg LTY2NCwxNSArNjY0LDYgQEAgc3RydWN0IGRybV9pOTE1X2Rpc3BsYXlfZnVuY3MgewogCS8qIHJl bmRlciBjbG9jayBpbmNyZWFzZS9kZWNyZWFzZSAqLwogCS8qIGRpc3BsYXkgY2xvY2sgaW5jcmVh c2UvZGVjcmVhc2UgKi8KIAkvKiBwbGwgY2xvY2sgaW5jcmVhc2UvZGVjcmVhc2UgKi8KLQotCWlu dCAoKnNldHVwX2JhY2tsaWdodCkoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBl bnVtIHBpcGUgcGlwZSk7Ci0JdWludDMyX3QgKCpnZXRfYmFja2xpZ2h0KShzdHJ1Y3QgaW50ZWxf Y29ubmVjdG9yICpjb25uZWN0b3IpOwotCXZvaWQgKCpzZXRfYmFja2xpZ2h0KShzdHJ1Y3QgaW50 ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsCi0JCQkgICAgICB1aW50MzJfdCBsZXZlbCk7Ci0Jdm9p ZCAoKmRpc2FibGVfYmFja2xpZ2h0KShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3Ip OwotCXZvaWQgKCplbmFibGVfYmFja2xpZ2h0KShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25u ZWN0b3IpOwotCXVpbnQzMl90ICgqYmFja2xpZ2h0X2h6X3RvX3B3bSkoc3RydWN0IGludGVsX2Nv bm5lY3RvciAqY29ubmVjdG9yLAotCQkJCQl1aW50MzJfdCBoeik7CiB9OwogCiBlbnVtIGZvcmNl d2FrZV9kb21haW5faWQgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IGZj MDA4Njc0OGI3MS4uMTVkZTRjY2MzOTAzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5jCkBAIC0xNDUyMCw4ICsxNDUyMCw2IEBAIHN0YXRpYyB2b2lkIGludGVsX2luaXRfZGlzcGxh eShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCQlkZXZfcHJpdi0+ZGlzcGxheS5xdWV1ZV9mbGlw ID0gaW50ZWxfZGVmYXVsdF9xdWV1ZV9mbGlwOwogCX0KIAotCWludGVsX3BhbmVsX2luaXRfYmFj a2xpZ2h0X2Z1bmNzKGRldik7Ci0KIAltdXRleF9pbml0KCZkZXZfcHJpdi0+cHBzX211dGV4KTsK IH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKaW5kZXggYTY4NzI1MDhhZGVjLi5mYTFhNTI0ODQ0 ZDUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwpAQCAtNTk5MCw3ICs1OTkwLDcgQEAgc3RhdGlj IGJvb2wgaW50ZWxfZWRwX2luaXRfY29ubmVjdG9yKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAs CiAJfQogCiAJaW50ZWxfcGFuZWxfaW5pdCgmaW50ZWxfY29ubmVjdG9yLT5wYW5lbCwgZml4ZWRf bW9kZSwgZG93bmNsb2NrX21vZGUpOwotCWludGVsX2Nvbm5lY3Rvci0+cGFuZWwuYmFja2xpZ2h0 X3Bvd2VyID0gaW50ZWxfZWRwX2JhY2tsaWdodF9wb3dlcjsKKwlpbnRlbF9jb25uZWN0b3ItPnBh bmVsLmJhY2tsaWdodC5wb3dlciA9IGludGVsX2VkcF9iYWNrbGlnaHRfcG93ZXI7CiAJaW50ZWxf cGFuZWxfc2V0dXBfYmFja2xpZ2h0KGNvbm5lY3RvciwgcGlwZSk7CiAKIAlyZXR1cm4gdHJ1ZTsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXggMDJhNzU1YTUwYTk2Li4zNWE2NWNhMTA1YjMg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCkBAIC0xODIsOSArMTgyLDE3IEBAIHN0cnVjdCBp bnRlbF9wYW5lbCB7CiAJCXN0cnVjdCBwd21fZGV2aWNlICpwd207CiAKIAkJc3RydWN0IGJhY2ts aWdodF9kZXZpY2UgKmRldmljZTsKLQl9IGJhY2tsaWdodDsKIAotCXZvaWQgKCpiYWNrbGlnaHRf cG93ZXIpKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKiwgYm9vbCBlbmFibGUpOworCQkvKiBDb25u ZWN0b3IgYW5kIHBsYXRmb3JtIHNwZWNpZmljIGJhY2tsaWdodCBmdW5jdGlvbnMgKi8KKwkJaW50 ICgqc2V0dXApKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwgZW51bSBwaXBlIHBp cGUpOworCQl1aW50MzJfdCAoKmdldCkoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9y KTsKKwkJdm9pZCAoKnNldCkoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLCB1aW50 MzJfdCBsZXZlbCk7CisJCXZvaWQgKCpkaXNhYmxlKShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpj b25uZWN0b3IpOworCQl2b2lkICgqZW5hYmxlKShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25u ZWN0b3IpOworCQl1aW50MzJfdCAoKmh6X3RvX3B3bSkoc3RydWN0IGludGVsX2Nvbm5lY3RvciAq Y29ubmVjdG9yLAorCQkJCSAgICAgIHVpbnQzMl90IGh6KTsKKwkJdm9pZCAoKnBvd2VyKShzdHJ1 Y3QgaW50ZWxfY29ubmVjdG9yICosIGJvb2wgZW5hYmxlKTsKKwl9IGJhY2tsaWdodDsKIH07CiAK IHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgewpAQCAtMTMyMiw3ICsxMzMwLDYgQEAgaW50IGludGVs X3BhbmVsX3NldHVwX2JhY2tsaWdodChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBl bnVtIHBpcGUgcGlwZSkKIHZvaWQgaW50ZWxfcGFuZWxfZW5hYmxlX2JhY2tsaWdodChzdHJ1Y3Qg aW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpOwogdm9pZCBpbnRlbF9wYW5lbF9kaXNhYmxlX2Jh Y2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpOwogdm9pZCBpbnRlbF9w YW5lbF9kZXN0cm95X2JhY2tsaWdodChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsK LXZvaWQgaW50ZWxfcGFuZWxfaW5pdF9iYWNrbGlnaHRfZnVuY3Moc3RydWN0IGRybV9kZXZpY2Ug KmRldik7CiBlbnVtIGRybV9jb25uZWN0b3Jfc3RhdHVzIGludGVsX3BhbmVsX2RldGVjdChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KTsKIGV4dGVybiBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqaW50 ZWxfZmluZF9wYW5lbF9kb3duY2xvY2soCiAJCQkJc3RydWN0IGRybV9kZXZpY2UgKmRldiwKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5jCmluZGV4IDIwMzQ0MzhhMDY2NC4uOWFkYjYyYjFiOTlm IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMKQEAgLTU2Niw3ICs1NjYsNyBAQCBzdGF0 aWMgdTMyIGludGVsX3BhbmVsX2dldF9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAq Y29ubmVjdG9yKQogCW11dGV4X2xvY2soJmRldl9wcml2LT5iYWNrbGlnaHRfbG9jayk7CiAKIAlp ZiAocGFuZWwtPmJhY2tsaWdodC5lbmFibGVkKSB7Ci0JCXZhbCA9IGRldl9wcml2LT5kaXNwbGF5 LmdldF9iYWNrbGlnaHQoY29ubmVjdG9yKTsKKwkJdmFsID0gcGFuZWwtPmJhY2tsaWdodC5nZXQo Y29ubmVjdG9yKTsKIAkJdmFsID0gaW50ZWxfcGFuZWxfY29tcHV0ZV9icmlnaHRuZXNzKGNvbm5l Y3RvciwgdmFsKTsKIAl9CiAKQEAgLTY1NSwxMyArNjU1LDEyIEBAIHN0YXRpYyB2b2lkIHB3bV9z ZXRfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwgdTMyIGxldmVs KQogc3RhdGljIHZvaWQKIGludGVsX3BhbmVsX2FjdHVhbGx5X3NldF9iYWNrbGlnaHQoc3RydWN0 IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLCB1MzIgbGV2ZWwpCiB7Ci0Jc3RydWN0IGRybV9k ZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+YmFzZS5kZXY7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKwlzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBh bmVsID0gJmNvbm5lY3Rvci0+cGFuZWw7CiAKIAlEUk1fREVCVUdfRFJJVkVSKCJzZXQgYmFja2xp Z2h0IFBXTSA9ICVkXG4iLCBsZXZlbCk7CiAKIAlsZXZlbCA9IGludGVsX3BhbmVsX2NvbXB1dGVf YnJpZ2h0bmVzcyhjb25uZWN0b3IsIGxldmVsKTsKLQlkZXZfcHJpdi0+ZGlzcGxheS5zZXRfYmFj a2xpZ2h0KGNvbm5lY3RvciwgbGV2ZWwpOworCXBhbmVsLT5iYWNrbGlnaHQuc2V0KGNvbm5lY3Rv ciwgbGV2ZWwpOwogfQogCiAvKiBzZXQgYmFja2xpZ2h0IGJyaWdodG5lc3MgdG8gbGV2ZWwgaW4g cmFuZ2UgWzAuLm1heF0sIHNjYWxpbmcgd3J0IGh3IG1pbiAqLwpAQCAtODM2LDcgKzgzNSw3IEBA IHZvaWQgaW50ZWxfcGFuZWxfZGlzYWJsZV9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3Rv ciAqY29ubmVjdG9yKQogCWlmIChwYW5lbC0+YmFja2xpZ2h0LmRldmljZSkKIAkJcGFuZWwtPmJh Y2tsaWdodC5kZXZpY2UtPnByb3BzLnBvd2VyID0gRkJfQkxBTktfUE9XRVJET1dOOwogCXBhbmVs LT5iYWNrbGlnaHQuZW5hYmxlZCA9IGZhbHNlOwotCWRldl9wcml2LT5kaXNwbGF5LmRpc2FibGVf YmFja2xpZ2h0KGNvbm5lY3Rvcik7CisJcGFuZWwtPmJhY2tsaWdodC5kaXNhYmxlKGNvbm5lY3Rv cik7CiAKIAltdXRleF91bmxvY2soJmRldl9wcml2LT5iYWNrbGlnaHRfbG9jayk7CiB9CkBAIC0x MDg1LDcgKzEwODQsNyBAQCB2b2lkIGludGVsX3BhbmVsX2VuYWJsZV9iYWNrbGlnaHQoc3RydWN0 IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCQkJCQkJIHBhbmVsLT5iYWNrbGlnaHQuZGV2 aWNlLT5wcm9wcy5tYXhfYnJpZ2h0bmVzcyk7CiAJfQogCi0JZGV2X3ByaXYtPmRpc3BsYXkuZW5h YmxlX2JhY2tsaWdodChjb25uZWN0b3IpOworCXBhbmVsLT5iYWNrbGlnaHQuZW5hYmxlKGNvbm5l Y3Rvcik7CiAJcGFuZWwtPmJhY2tsaWdodC5lbmFibGVkID0gdHJ1ZTsKIAlpZiAocGFuZWwtPmJh Y2tsaWdodC5kZXZpY2UpCiAJCXBhbmVsLT5iYWNrbGlnaHQuZGV2aWNlLT5wcm9wcy5wb3dlciA9 IEZCX0JMQU5LX1VOQkxBTks7CkBAIC0xMTEzLDEwICsxMTEyLDEwIEBAIHN0YXRpYyBpbnQgaW50 ZWxfYmFja2xpZ2h0X2RldmljZV91cGRhdGVfc3RhdHVzKHN0cnVjdCBiYWNrbGlnaHRfZGV2aWNl ICpiZCkKIAkgKiBjYWxsYmFjayBuZWVkcyB0byB0YWtlIHRoaXMgaW50byBhY2NvdW50LgogCSAq LwogCWlmIChwYW5lbC0+YmFja2xpZ2h0LmVuYWJsZWQpIHsKLQkJaWYgKHBhbmVsLT5iYWNrbGln aHRfcG93ZXIpIHsKKwkJaWYgKHBhbmVsLT5iYWNrbGlnaHQucG93ZXIpIHsKIAkJCWJvb2wgZW5h YmxlID0gYmQtPnByb3BzLnBvd2VyID09IEZCX0JMQU5LX1VOQkxBTksgJiYKIAkJCQliZC0+cHJv cHMuYnJpZ2h0bmVzcyAhPSAwOwotCQkJcGFuZWwtPmJhY2tsaWdodF9wb3dlcihjb25uZWN0b3Is IGVuYWJsZSk7CisJCQlwYW5lbC0+YmFja2xpZ2h0LnBvd2VyKGNvbm5lY3RvciwgZW5hYmxlKTsK IAkJfQogCX0gZWxzZSB7CiAJCWJkLT5wcm9wcy5wb3dlciA9IEZCX0JMQU5LX1BPV0VSRE9XTjsK QEAgLTEzNDEsNiArMTM0MCw3IEBAIHN0YXRpYyB1MzIgZ2V0X2JhY2tsaWdodF9tYXhfdmJ0KHN0 cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2ID0gY29ubmVjdG9yLT5iYXNlLmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOworCXN0cnVjdCBpbnRlbF9wYW5lbCAqcGFuZWwgPSAm Y29ubmVjdG9yLT5wYW5lbDsKIAl1MTYgcHdtX2ZyZXFfaHogPSBkZXZfcHJpdi0+dmJ0LmJhY2ts aWdodC5wd21fZnJlcV9oejsKIAl1MzIgcHdtOwogCkBAIC0xMzQ5LDEyICsxMzQ5LDEyIEBAIHN0 YXRpYyB1MzIgZ2V0X2JhY2tsaWdodF9tYXhfdmJ0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNv bm5lY3RvcikKIAkJcmV0dXJuIDA7CiAJfQogCi0JaWYgKCFkZXZfcHJpdi0+ZGlzcGxheS5iYWNr bGlnaHRfaHpfdG9fcHdtKSB7CisJaWYgKCFwYW5lbC0+YmFja2xpZ2h0Lmh6X3RvX3B3bSkgewog CQlEUk1fREVCVUdfS01TKCJiYWNrbGlnaHQgZnJlcXVlbmN5IHNldHRpbmcgZnJvbSBWQlQgY3Vy cmVudGx5IG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBwbGF0Zm9ybVxuIik7CiAJCXJldHVybiAwOwog CX0KIAotCXB3bSA9IGRldl9wcml2LT5kaXNwbGF5LmJhY2tsaWdodF9oel90b19wd20oY29ubmVj dG9yLCBwd21fZnJlcV9oeik7CisJcHdtID0gcGFuZWwtPmJhY2tsaWdodC5oel90b19wd20oY29u bmVjdG9yLCBwd21fZnJlcV9oeik7CiAJaWYgKCFwd20pIHsKIAkJRFJNX0RFQlVHX0tNUygiYmFj a2xpZ2h0IGZyZXF1ZW5jeSBjb252ZXJzaW9uIGZhaWxlZFxuIik7CiAJCXJldHVybiAwOwpAQCAt MTYzOSw5ICsxNjM5LDEzIEBAIGludCBpbnRlbF9wYW5lbF9zZXR1cF9iYWNrbGlnaHQoc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwgZW51bSBwaXBlIHBpcGUpCiAJCX0KIAl9CiAKKwkv KiBlbnN1cmUgaW50ZWxfcGFuZWwgaGFzIGJlZW4gaW5pdGlhbGl6ZWQgZmlyc3QgKi8KKwlpZiAo V0FSTl9PTighcGFuZWwtPmJhY2tsaWdodC5zZXR1cCkpCisJCXJldHVybiAtRU5PREVWOworCiAJ Lyogc2V0IGxldmVsIGFuZCBtYXggaW4gcGFuZWwgc3RydWN0ICovCiAJbXV0ZXhfbG9jaygmZGV2 X3ByaXYtPmJhY2tsaWdodF9sb2NrKTsKLQlyZXQgPSBkZXZfcHJpdi0+ZGlzcGxheS5zZXR1cF9i YWNrbGlnaHQoaW50ZWxfY29ubmVjdG9yLCBwaXBlKTsKKwlyZXQgPSBwYW5lbC0+YmFja2xpZ2h0 LnNldHVwKGludGVsX2Nvbm5lY3RvciwgcGlwZSk7CiAJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+ YmFja2xpZ2h0X2xvY2spOwogCiAJaWYgKHJldCkgewpAQCAtMTY3Myw2MiArMTY3Nyw2NiBAQCB2 b2lkIGludGVsX3BhbmVsX2Rlc3Ryb3lfYmFja2xpZ2h0KHN0cnVjdCBkcm1fY29ubmVjdG9yICpj b25uZWN0b3IpCiB9CiAKIC8qIFNldCB1cCBjaGlwIHNwZWNpZmljIGJhY2tsaWdodCBmdW5jdGlv bnMgKi8KLXZvaWQgaW50ZWxfcGFuZWxfaW5pdF9iYWNrbGlnaHRfZnVuY3Moc3RydWN0IGRybV9k ZXZpY2UgKmRldikKK3N0YXRpYyB2b2lkCitpbnRlbF9wYW5lbF9pbml0X2JhY2tsaWdodF9mdW5j cyhzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsKQogeworCXN0cnVjdCBpbnRlbF9jb25uZWN0b3Ig KmludGVsX2Nvbm5lY3RvciA9CisJCWNvbnRhaW5lcl9vZihwYW5lbCwgc3RydWN0IGludGVsX2Nv bm5lY3RvciwgcGFuZWwpOworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9jb25uZWN0 b3ItPmJhc2UuZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ ZGV2X3ByaXZhdGU7CiAKIAlpZiAoSVNfQlJPWFRPTihkZXYpKSB7Ci0JCWRldl9wcml2LT5kaXNw bGF5LnNldHVwX2JhY2tsaWdodCA9IGJ4dF9zZXR1cF9iYWNrbGlnaHQ7Ci0JCWRldl9wcml2LT5k aXNwbGF5LmVuYWJsZV9iYWNrbGlnaHQgPSBieHRfZW5hYmxlX2JhY2tsaWdodDsKLQkJZGV2X3By aXYtPmRpc3BsYXkuZGlzYWJsZV9iYWNrbGlnaHQgPSBieHRfZGlzYWJsZV9iYWNrbGlnaHQ7Ci0J CWRldl9wcml2LT5kaXNwbGF5LnNldF9iYWNrbGlnaHQgPSBieHRfc2V0X2JhY2tsaWdodDsKLQkJ ZGV2X3ByaXYtPmRpc3BsYXkuZ2V0X2JhY2tsaWdodCA9IGJ4dF9nZXRfYmFja2xpZ2h0OworCQlw YW5lbC0+YmFja2xpZ2h0LnNldHVwID0gYnh0X3NldHVwX2JhY2tsaWdodDsKKwkJcGFuZWwtPmJh Y2tsaWdodC5lbmFibGUgPSBieHRfZW5hYmxlX2JhY2tsaWdodDsKKwkJcGFuZWwtPmJhY2tsaWdo dC5kaXNhYmxlID0gYnh0X2Rpc2FibGVfYmFja2xpZ2h0OworCQlwYW5lbC0+YmFja2xpZ2h0LnNl dCA9IGJ4dF9zZXRfYmFja2xpZ2h0OworCQlwYW5lbC0+YmFja2xpZ2h0LmdldCA9IGJ4dF9nZXRf YmFja2xpZ2h0OwogCX0gZWxzZSBpZiAoSEFTX1BDSF9MUFQoZGV2KSB8fCBIQVNfUENIX1NQVChk ZXYpKSB7Ci0JCWRldl9wcml2LT5kaXNwbGF5LnNldHVwX2JhY2tsaWdodCA9IGxwdF9zZXR1cF9i YWNrbGlnaHQ7Ci0JCWRldl9wcml2LT5kaXNwbGF5LmVuYWJsZV9iYWNrbGlnaHQgPSBscHRfZW5h YmxlX2JhY2tsaWdodDsKLQkJZGV2X3ByaXYtPmRpc3BsYXkuZGlzYWJsZV9iYWNrbGlnaHQgPSBs cHRfZGlzYWJsZV9iYWNrbGlnaHQ7Ci0JCWRldl9wcml2LT5kaXNwbGF5LnNldF9iYWNrbGlnaHQg PSBscHRfc2V0X2JhY2tsaWdodDsKLQkJZGV2X3ByaXYtPmRpc3BsYXkuZ2V0X2JhY2tsaWdodCA9 IGxwdF9nZXRfYmFja2xpZ2h0OworCQlwYW5lbC0+YmFja2xpZ2h0LnNldHVwID0gbHB0X3NldHVw X2JhY2tsaWdodDsKKwkJcGFuZWwtPmJhY2tsaWdodC5lbmFibGUgPSBscHRfZW5hYmxlX2JhY2ts aWdodDsKKwkJcGFuZWwtPmJhY2tsaWdodC5kaXNhYmxlID0gbHB0X2Rpc2FibGVfYmFja2xpZ2h0 OworCQlwYW5lbC0+YmFja2xpZ2h0LnNldCA9IGxwdF9zZXRfYmFja2xpZ2h0OworCQlwYW5lbC0+ YmFja2xpZ2h0LmdldCA9IGxwdF9nZXRfYmFja2xpZ2h0OwogCQlpZiAoSEFTX1BDSF9MUFQoZGV2 KSkKLQkJCWRldl9wcml2LT5kaXNwbGF5LmJhY2tsaWdodF9oel90b19wd20gPSBscHRfaHpfdG9f cHdtOworCQkJcGFuZWwtPmJhY2tsaWdodC5oel90b19wd20gPSBscHRfaHpfdG9fcHdtOwogCQll bHNlCi0JCQlkZXZfcHJpdi0+ZGlzcGxheS5iYWNrbGlnaHRfaHpfdG9fcHdtID0gc3B0X2h6X3Rv X3B3bTsKKwkJCXBhbmVsLT5iYWNrbGlnaHQuaHpfdG9fcHdtID0gc3B0X2h6X3RvX3B3bTsKIAl9 IGVsc2UgaWYgKEhBU19QQ0hfU1BMSVQoZGV2KSkgewotCQlkZXZfcHJpdi0+ZGlzcGxheS5zZXR1 cF9iYWNrbGlnaHQgPSBwY2hfc2V0dXBfYmFja2xpZ2h0OwotCQlkZXZfcHJpdi0+ZGlzcGxheS5l bmFibGVfYmFja2xpZ2h0ID0gcGNoX2VuYWJsZV9iYWNrbGlnaHQ7Ci0JCWRldl9wcml2LT5kaXNw bGF5LmRpc2FibGVfYmFja2xpZ2h0ID0gcGNoX2Rpc2FibGVfYmFja2xpZ2h0OwotCQlkZXZfcHJp di0+ZGlzcGxheS5zZXRfYmFja2xpZ2h0ID0gcGNoX3NldF9iYWNrbGlnaHQ7Ci0JCWRldl9wcml2 LT5kaXNwbGF5LmdldF9iYWNrbGlnaHQgPSBwY2hfZ2V0X2JhY2tsaWdodDsKLQkJZGV2X3ByaXYt PmRpc3BsYXkuYmFja2xpZ2h0X2h6X3RvX3B3bSA9IHBjaF9oel90b19wd207CisJCXBhbmVsLT5i YWNrbGlnaHQuc2V0dXAgPSBwY2hfc2V0dXBfYmFja2xpZ2h0OworCQlwYW5lbC0+YmFja2xpZ2h0 LmVuYWJsZSA9IHBjaF9lbmFibGVfYmFja2xpZ2h0OworCQlwYW5lbC0+YmFja2xpZ2h0LmRpc2Fi bGUgPSBwY2hfZGlzYWJsZV9iYWNrbGlnaHQ7CisJCXBhbmVsLT5iYWNrbGlnaHQuc2V0ID0gcGNo X3NldF9iYWNrbGlnaHQ7CisJCXBhbmVsLT5iYWNrbGlnaHQuZ2V0ID0gcGNoX2dldF9iYWNrbGln aHQ7CisJCXBhbmVsLT5iYWNrbGlnaHQuaHpfdG9fcHdtID0gcGNoX2h6X3RvX3B3bTsKIAl9IGVs c2UgaWYgKElTX1ZBTExFWVZJRVcoZGV2KSkgewogCQlpZiAoZGV2X3ByaXYtPnZidC5oYXNfbWlw aSkgewotCQkJZGV2X3ByaXYtPmRpc3BsYXkuc2V0dXBfYmFja2xpZ2h0ID0gcHdtX3NldHVwX2Jh Y2tsaWdodDsKLQkJCWRldl9wcml2LT5kaXNwbGF5LmVuYWJsZV9iYWNrbGlnaHQgPSBwd21fZW5h YmxlX2JhY2tsaWdodDsKLQkJCWRldl9wcml2LT5kaXNwbGF5LmRpc2FibGVfYmFja2xpZ2h0ID0g cHdtX2Rpc2FibGVfYmFja2xpZ2h0OwotCQkJZGV2X3ByaXYtPmRpc3BsYXkuc2V0X2JhY2tsaWdo dCA9IHB3bV9zZXRfYmFja2xpZ2h0OwotCQkJZGV2X3ByaXYtPmRpc3BsYXkuZ2V0X2JhY2tsaWdo dCA9IHB3bV9nZXRfYmFja2xpZ2h0OworCQkJcGFuZWwtPmJhY2tsaWdodC5zZXR1cCA9IHB3bV9z ZXR1cF9iYWNrbGlnaHQ7CisJCQlwYW5lbC0+YmFja2xpZ2h0LmVuYWJsZSA9IHB3bV9lbmFibGVf YmFja2xpZ2h0OworCQkJcGFuZWwtPmJhY2tsaWdodC5kaXNhYmxlID0gcHdtX2Rpc2FibGVfYmFj a2xpZ2h0OworCQkJcGFuZWwtPmJhY2tsaWdodC5zZXQgPSBwd21fc2V0X2JhY2tsaWdodDsKKwkJ CXBhbmVsLT5iYWNrbGlnaHQuZ2V0ID0gcHdtX2dldF9iYWNrbGlnaHQ7CiAJCX0gZWxzZSB7Ci0J CQlkZXZfcHJpdi0+ZGlzcGxheS5zZXR1cF9iYWNrbGlnaHQgPSB2bHZfc2V0dXBfYmFja2xpZ2h0 OwotCQkJZGV2X3ByaXYtPmRpc3BsYXkuZW5hYmxlX2JhY2tsaWdodCA9IHZsdl9lbmFibGVfYmFj a2xpZ2h0OwotCQkJZGV2X3ByaXYtPmRpc3BsYXkuZGlzYWJsZV9iYWNrbGlnaHQgPSB2bHZfZGlz YWJsZV9iYWNrbGlnaHQ7Ci0JCQlkZXZfcHJpdi0+ZGlzcGxheS5zZXRfYmFja2xpZ2h0ID0gdmx2 X3NldF9iYWNrbGlnaHQ7Ci0JCQlkZXZfcHJpdi0+ZGlzcGxheS5nZXRfYmFja2xpZ2h0ID0gdmx2 X2dldF9iYWNrbGlnaHQ7Ci0JCQlkZXZfcHJpdi0+ZGlzcGxheS5iYWNrbGlnaHRfaHpfdG9fcHdt ID0gdmx2X2h6X3RvX3B3bTsKKwkJCXBhbmVsLT5iYWNrbGlnaHQuc2V0dXAgPSB2bHZfc2V0dXBf YmFja2xpZ2h0OworCQkJcGFuZWwtPmJhY2tsaWdodC5lbmFibGUgPSB2bHZfZW5hYmxlX2JhY2ts aWdodDsKKwkJCXBhbmVsLT5iYWNrbGlnaHQuZGlzYWJsZSA9IHZsdl9kaXNhYmxlX2JhY2tsaWdo dDsKKwkJCXBhbmVsLT5iYWNrbGlnaHQuc2V0ID0gdmx2X3NldF9iYWNrbGlnaHQ7CisJCQlwYW5l bC0+YmFja2xpZ2h0LmdldCA9IHZsdl9nZXRfYmFja2xpZ2h0OworCQkJcGFuZWwtPmJhY2tsaWdo dC5oel90b19wd20gPSB2bHZfaHpfdG9fcHdtOwogCQl9CiAJfSBlbHNlIGlmIChJU19HRU40KGRl dikpIHsKLQkJZGV2X3ByaXYtPmRpc3BsYXkuc2V0dXBfYmFja2xpZ2h0ID0gaTk2NV9zZXR1cF9i YWNrbGlnaHQ7Ci0JCWRldl9wcml2LT5kaXNwbGF5LmVuYWJsZV9iYWNrbGlnaHQgPSBpOTY1X2Vu YWJsZV9iYWNrbGlnaHQ7Ci0JCWRldl9wcml2LT5kaXNwbGF5LmRpc2FibGVfYmFja2xpZ2h0ID0g aTk2NV9kaXNhYmxlX2JhY2tsaWdodDsKLQkJZGV2X3ByaXYtPmRpc3BsYXkuc2V0X2JhY2tsaWdo dCA9IGk5eHhfc2V0X2JhY2tsaWdodDsKLQkJZGV2X3ByaXYtPmRpc3BsYXkuZ2V0X2JhY2tsaWdo dCA9IGk5eHhfZ2V0X2JhY2tsaWdodDsKLQkJZGV2X3ByaXYtPmRpc3BsYXkuYmFja2xpZ2h0X2h6 X3RvX3B3bSA9IGk5NjVfaHpfdG9fcHdtOworCQlwYW5lbC0+YmFja2xpZ2h0LnNldHVwID0gaTk2 NV9zZXR1cF9iYWNrbGlnaHQ7CisJCXBhbmVsLT5iYWNrbGlnaHQuZW5hYmxlID0gaTk2NV9lbmFi bGVfYmFja2xpZ2h0OworCQlwYW5lbC0+YmFja2xpZ2h0LmRpc2FibGUgPSBpOTY1X2Rpc2FibGVf YmFja2xpZ2h0OworCQlwYW5lbC0+YmFja2xpZ2h0LnNldCA9IGk5eHhfc2V0X2JhY2tsaWdodDsK KwkJcGFuZWwtPmJhY2tsaWdodC5nZXQgPSBpOXh4X2dldF9iYWNrbGlnaHQ7CisJCXBhbmVsLT5i YWNrbGlnaHQuaHpfdG9fcHdtID0gaTk2NV9oel90b19wd207CiAJfSBlbHNlIHsKLQkJZGV2X3By aXYtPmRpc3BsYXkuc2V0dXBfYmFja2xpZ2h0ID0gaTl4eF9zZXR1cF9iYWNrbGlnaHQ7Ci0JCWRl dl9wcml2LT5kaXNwbGF5LmVuYWJsZV9iYWNrbGlnaHQgPSBpOXh4X2VuYWJsZV9iYWNrbGlnaHQ7 Ci0JCWRldl9wcml2LT5kaXNwbGF5LmRpc2FibGVfYmFja2xpZ2h0ID0gaTl4eF9kaXNhYmxlX2Jh Y2tsaWdodDsKLQkJZGV2X3ByaXYtPmRpc3BsYXkuc2V0X2JhY2tsaWdodCA9IGk5eHhfc2V0X2Jh Y2tsaWdodDsKLQkJZGV2X3ByaXYtPmRpc3BsYXkuZ2V0X2JhY2tsaWdodCA9IGk5eHhfZ2V0X2Jh Y2tsaWdodDsKLQkJZGV2X3ByaXYtPmRpc3BsYXkuYmFja2xpZ2h0X2h6X3RvX3B3bSA9IGk5eHhf aHpfdG9fcHdtOworCQlwYW5lbC0+YmFja2xpZ2h0LnNldHVwID0gaTl4eF9zZXR1cF9iYWNrbGln aHQ7CisJCXBhbmVsLT5iYWNrbGlnaHQuZW5hYmxlID0gaTl4eF9lbmFibGVfYmFja2xpZ2h0Owor CQlwYW5lbC0+YmFja2xpZ2h0LmRpc2FibGUgPSBpOXh4X2Rpc2FibGVfYmFja2xpZ2h0OworCQlw YW5lbC0+YmFja2xpZ2h0LnNldCA9IGk5eHhfc2V0X2JhY2tsaWdodDsKKwkJcGFuZWwtPmJhY2ts aWdodC5nZXQgPSBpOXh4X2dldF9iYWNrbGlnaHQ7CisJCXBhbmVsLT5iYWNrbGlnaHQuaHpfdG9f cHdtID0gaTl4eF9oel90b19wd207CiAJfQogfQogCkBAIC0xNzM2LDYgKzE3NDQsOCBAQCBpbnQg aW50ZWxfcGFuZWxfaW5pdChzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsLAogCQkgICAgIHN0cnVj dCBkcm1fZGlzcGxheV9tb2RlICpmaXhlZF9tb2RlLAogCQkgICAgIHN0cnVjdCBkcm1fZGlzcGxh eV9tb2RlICpkb3duY2xvY2tfbW9kZSkKIHsKKwlpbnRlbF9wYW5lbF9pbml0X2JhY2tsaWdodF9m dW5jcyhwYW5lbCk7CisKIAlwYW5lbC0+Zml4ZWRfbW9kZSA9IGZpeGVkX21vZGU7CiAJcGFuZWwt PmRvd25jbG9ja19tb2RlID0gZG93bmNsb2NrX21vZGU7CiAKLS0gCjIuMS40CgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBs aXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=