From mboxrd@z Thu Jan 1 00:00:00 1970 From: Uma Shankar Subject: [BXT MIPI PATCH v4 11/14] drm/i915/bxt: Modify BXT BLC according to VBT changes Date: Wed, 23 Sep 2015 23:29:11 +0530 Message-ID: <1443031151-11914-1-git-send-email-uma.shankar@intel.com> References: <874mirrg2q.fsf@intel.com> 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 B62406E1A0 for ; Wed, 23 Sep 2015 10:31:32 -0700 (PDT) In-Reply-To: <874mirrg2q.fsf@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: shobhit.kumar@intel.com List-Id: intel-gfx@lists.freedesktop.org RnJvbTogU3VuaWwgS2FtYXRoIDxzdW5pbC5rYW1hdGhAaW50ZWwuY29tPgoKTGF0ZXN0IFZCVCBt ZW50aW9ucyB3aGljaCBzZXQgb2YgcmVnaXN0ZXJzIHdpbGwgYmUgdXNlZCBmb3IgQkxDLAphcyBj b250cm9sbGVyIG51bWJlciBmaWVsZC4gTWFraW5nIHVzZSBvZiB0aGlzIGZpZWxkIGluIEJYVApC TEMgaW1wbGVtZW50YXRpb24uIEFsc28sIHRoZSByZWdpc3RlcnMgYXJlIHVzZWQgaW4gY2FzZSBj b250cm9sCnBpbiBpbmRpY2F0ZXMgZGlzcGxheSBEREkuIEFkZGluZyBhIGNoZWNrIGZvciB0aGlz LgpBY2NvcmRpbmcgdG8gQnNwZWMsIEJMQ19QV01fKl8yIHVzZXMgdGhlIGRpc3BsYXkgdXRpbGl0 eSBwaW4gZm9yIG91dHB1dC4KVG8gdXNlIGJhY2tsaWdodCAyLCBlbmFibGUgdGhlIHV0aWxpdHkg cGluIHdpdGggbW9kZSA9IFBXTQogICB2MjogSmFuaSdzIHJldmlldyBjb21tZW50cwogICBhZGRy ZXNzZWQKICAgICAgIC0gQWRkIGEgcHJlZml4IF8gdG8gQlhUIEJMQyByZWdpc3RlcnMgZGVmaW5p dGlvbnMuCiAgICAgICAtIEFkZCAiYnh0IG9ubHkiIGNvbW1lbnQgZm9yIHU4IGNvbnRyb2xsZXIK ICAgICAgIC0gUmVtb3ZlIGNvbnRyb2xfcGluIGNoZWNrIGZvciBEREkgY29udHJvbGxlcgogICAg ICAgLSBDaGVjayBmb3IgdmFsaWQgY29udHJvbGxlciB2YWx1ZXMKICAgICAgIC0gU2V0IHBpcGUg Yml0cyBpbiBVVElMX1BJTl9DVEwKICAgICAgIC0gRW5hYmxlL0Rpc2FibGUgVVRJTF9QSU5fQ1RM IGluIGVuYWJsZS9kaXNhYmxlX2JhY2tsaWdodCgpCiAgICAgICAtIElmIEJMQyAyIGlzIHVzZWQs IHJlYWQgYWN0aXZlX2xvd19wd20gZnJvbSBVVElMX1BJTiBwb2xhcml0eQogICBTYXRoZWVzaCdz IHJldmlldyBjb21tZW50IGFkZHJlc3NlZAogICAgICAgLSBJZiBVVElMIFBJTiBpcyBhbHJlYWR5 IGVuYWJsZWQsIEJJT1Mgd291bGQgaGF2ZSBwcm9ncmFtbWVkIGl0LiBObwogICAgICAgbmVlZCB0 byBkaXNhYmxlIGFuZCBlbmFibGUgYWdhaW4uCiAgIHYzOiBKYW5pJ3MgcmV2aWV3IGNvbW1lbnRz CiAgICAgICAtIGFkZCBVVElMX1BJTl9QSVBFX01BU0sgYW5kIFVUSUxfUElOX01PREVfTUFTSwog ICAgICAgLSBEaXNhYmxlIFVUSUxfUElOIGlmIGNvbnRyb2xsZXIgMSBpcyB1c2VkCiAgICAgICAt IE1hc2sgb3V0IFVUSUxfUElOX1BJUEVfTUFTSyBhbmQgVVRJTF9QSU5fTU9ERV9NQVNLIGJlZm9y ZSBlbmFibGluZwogICAgICAgVVRJTF9QSU4KICAgICAgIC0gY2hlY2sgdmFsaWQgY29udHJvbGxl ciB2YWx1ZSBpbiBpbnRlbF9iaW9zLmMKICAgICAgIC0gYWRkIGJhY2tsaWdodC51dGlsX3Bpbl9h Y3RpdmVfbG93CiAgICAgICAtIGRpc2FibGUgdXRpbCBwaW4gYmVmb3JlIGVuYWJsaW5nCiAgIHY0 OiBDaGFuZ2UgZm9yIEJYVC1QTyBicmFuY2g6CiAgIFN0dWJiZWQgdW53YW50ZWQgZGVmaW5pdGlv biB3aGljaCB3YXMgZXhpc3RpbmcgYmVmb3JlCiAgIGJlY2F1c2Ugb2YgREM2IHBhdGNoLgogICBV VElMX1BJTl9NT0RFX1BXTSAgICAgKDB4MWIgPDwgMjQpCgp2MjogRml4ZWQgSmFuaSdzIHJldmll dyBjb21tZW50LgoKdjM6IFNwbGl0IHRoZSBiYWNraWdodCBQV00gZnJlcXVlbmN5IHByb2dyYW1t aW5nIGludG8gc2VwYXJhdGUgcGF0Y2gsCiAgICBpbiBjYXNlcyBCSU9TIGRvZXNuJ3QgaW5pdGlh bGl6ZXMgaXQuCgp2NDogU3RhcnRpbmcgYWZyZXNoIGFuZCBub3QgbW9kaWZ5aW5nIGV4aXN0aW5n IHN0YXRlIGZvciBiYWNrbGlnaHQsIGFzCiAgICBwZXIgSmFuaSdzIHJlY29tbWVuZGF0aW9uLgoK U2lnbmVkLW9mZi1ieTogVmFuZGFuYSBLYW5uYW4gPHZhbmRhbmEua2FubmFuQGludGVsLmNvbT4K U2lnbmVkLW9mZi1ieTogU3VuaWwgS2FtYXRoIDxzdW5pbC5rYW1hdGhAaW50ZWwuY29tPgpTaWdu ZWQtb2ZmLWJ5OiBVbWEgU2hhbmthciA8dW1hLnNoYW5rYXJAaW50ZWwuY29tPgotLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggICAgfCAgIDI4ICsrKysrKysrKy0tLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgfCAgICAyICsKIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3BhbmVsLmMgfCAgIDc2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0t LS0tLQogMyBmaWxlcyBjaGFuZ2VkLCA4MSBpbnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9yZWcuaAppbmRleCA4OGExNmUyLi41MTlmNzY0IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfcmVnLmgKQEAgLTM1MTIsMTcgKzM1MTIsMjkgQEAgZW51bSBza2xfZGlzcF9wb3dl cl93ZWxscyB7CiAjZGVmaW5lIFVUSUxfUElOX0NUTAkJMHg0ODQwMAogI2RlZmluZSAgIFVUSUxf UElOX0VOQUJMRQkoMSA8PCAzMSkKIAorI2RlZmluZSAgIFVUSUxfUElOX1BJUEUoeCkgICAgICgo eCkgPDwgMjkpCisjZGVmaW5lICAgVVRJTF9QSU5fUElQRV9NQVNLICAgKDMgPDwgMjkpCisjZGVm aW5lICAgVVRJTF9QSU5fTU9ERV9QV00gICAgKDEgPDwgMjQpCisjZGVmaW5lICAgVVRJTF9QSU5f TU9ERV9NQVNLICAgKDB4ZiA8PCAyNCkKKyNkZWZpbmUgICBVVElMX1BJTl9QT0xBUklUWSAgICAo MSA8PCAyMikKKwogLyogQlhUIGJhY2tsaWdodCByZWdpc3RlciBkZWZpbml0aW9uLiAqLwotI2Rl ZmluZSBCWFRfQkxDX1BXTV9DVEwxCQkJMHhDODI1MAorI2RlZmluZSBfQlhUX0JMQ19QV01fQ1RM MQkJCTB4QzgyNTAKICNkZWZpbmUgICBCWFRfQkxDX1BXTV9FTkFCTEUJCQkoMSA8PCAzMSkKICNk ZWZpbmUgICBCWFRfQkxDX1BXTV9QT0xBUklUWQkJCSgxIDw8IDI5KQotI2RlZmluZSBCWFRfQkxD X1BXTV9GUkVRMQkJCTB4QzgyNTQKLSNkZWZpbmUgQlhUX0JMQ19QV01fRFVUWTEJCQkweEM4MjU4 Ci0KLSNkZWZpbmUgQlhUX0JMQ19QV01fQ1RMMgkJCTB4QzgzNTAKLSNkZWZpbmUgQlhUX0JMQ19Q V01fRlJFUTIJCQkweEM4MzU0Ci0jZGVmaW5lIEJYVF9CTENfUFdNX0RVVFkyCQkJMHhDODM1OAot CisjZGVmaW5lIF9CWFRfQkxDX1BXTV9GUkVRMQkJCTB4QzgyNTQKKyNkZWZpbmUgX0JYVF9CTENf UFdNX0RVVFkxCQkJMHhDODI1OAorCisjZGVmaW5lIF9CWFRfQkxDX1BXTV9DVEwyCQkJMHhDODM1 MAorI2RlZmluZSBfQlhUX0JMQ19QV01fRlJFUTIJCQkweEM4MzU0CisjZGVmaW5lIF9CWFRfQkxD X1BXTV9EVVRZMgkJCTB4QzgzNTgKKworI2RlZmluZSBCWFRfQkxDX1BXTV9DVEwoY29udHJvbGxl cikgICAgX1BJUEUoY29udHJvbGxlciwgXAorCQkJCQlfQlhUX0JMQ19QV01fQ1RMMSwgX0JYVF9C TENfUFdNX0NUTDIpCisjZGVmaW5lIEJYVF9CTENfUFdNX0ZSRVEoY29udHJvbGxlcikgICBfUElQ RShjb250cm9sbGVyLCBcCisJCQkJCV9CWFRfQkxDX1BXTV9GUkVRMSwgX0JYVF9CTENfUFdNX0ZS RVEyKQorI2RlZmluZSBCWFRfQkxDX1BXTV9EVVRZKGNvbnRyb2xsZXIpICAgX1BJUEUoY29udHJv bGxlciwgXAorCQkJCQlfQlhUX0JMQ19QV01fRFVUWTEsIF9CWFRfQkxDX1BXTV9EVVRZMikKIAog I2RlZmluZSBQQ0hfR1RDX0NUTAkJMHhlNzAwMAogI2RlZmluZSAgIFBDSF9HVENfRU5BQkxFCSgx IDw8IDMxKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAppbmRleCAxMDU5MjgzLi5kOGNhMDc1IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAorKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAtMTgyLDcgKzE4Miw5IEBAIHN0cnVjdCBpbnRl bF9wYW5lbCB7CiAJCWJvb2wgZW5hYmxlZDsKIAkJYm9vbCBjb21iaW5hdGlvbl9tb2RlOwkvKiBn ZW4gMi80IG9ubHkgKi8KIAkJYm9vbCBhY3RpdmVfbG93X3B3bTsKKwkJYm9vbCB1dGlsX3Bpbl9h Y3RpdmVfbG93OwkvKiBieHQrICovCiAJCXN0cnVjdCBiYWNrbGlnaHRfZGV2aWNlICpkZXZpY2U7 CisJCXU4IGNvbnRyb2xsZXI7CQkvKiBieHQrIG9ubHkgKi8KIAl9IGJhY2tsaWdodDsKIAogCXZv aWQgKCpiYWNrbGlnaHRfcG93ZXIpKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKiwgYm9vbCBlbmFi bGUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMKaW5kZXggNTVhYWQyMy4uZmFmYmNjYyAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5jCkBAIC01MzksOSArNTM5LDEwIEBAIHN0YXRp YyB1MzIgdmx2X2dldF9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9y KQogc3RhdGljIHUzMiBieHRfZ2V0X2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpj b25uZWN0b3IpCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+YmFzZS5k ZXY7CisJc3RydWN0IGludGVsX3BhbmVsICpwYW5lbCA9ICZjb25uZWN0b3ItPnBhbmVsOwogCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CiAKLQly ZXR1cm4gSTkxNV9SRUFEKEJYVF9CTENfUFdNX0RVVFkxKTsKKwlyZXR1cm4gSTkxNV9SRUFEKEJY VF9CTENfUFdNX0RVVFkocGFuZWwtPmJhY2tsaWdodC5jb250cm9sbGVyKSk7CiB9CiAKIHN0YXRp YyB1MzIgaW50ZWxfcGFuZWxfZ2V0X2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpj b25uZWN0b3IpCkBAIC02MjgsOCArNjI5LDkgQEAgc3RhdGljIHZvaWQgYnh0X3NldF9iYWNrbGln aHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLCB1MzIgbGV2ZWwpCiB7CiAJc3Ry dWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+YmFzZS5kZXY7CiAJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKwlzdHJ1Y3QgaW50ZWxf cGFuZWwgKnBhbmVsID0gJmNvbm5lY3Rvci0+cGFuZWw7CiAKLQlJOTE1X1dSSVRFKEJYVF9CTENf UFdNX0RVVFkxLCBsZXZlbCk7CisJSTkxNV9XUklURShCWFRfQkxDX1BXTV9EVVRZKHBhbmVsLT5i YWNrbGlnaHQuY29udHJvbGxlciksIGxldmVsKTsKIH0KIAogc3RhdGljIHZvaWQKQEAgLTc2MSwx MiArNzYzLDIwIEBAIHN0YXRpYyB2b2lkIGJ4dF9kaXNhYmxlX2JhY2tsaWdodChzdHJ1Y3QgaW50 ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNv bm5lY3Rvci0+YmFzZS5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g ZGV2LT5kZXZfcHJpdmF0ZTsKLQl1MzIgdG1wOworCXN0cnVjdCBpbnRlbF9wYW5lbCAqcGFuZWwg PSAmY29ubmVjdG9yLT5wYW5lbDsKKwl1MzIgdG1wLCB2YWw7CiAKIAlpbnRlbF9wYW5lbF9hY3R1 YWxseV9zZXRfYmFja2xpZ2h0KGNvbm5lY3RvciwgMCk7CiAKLQl0bXAgPSBJOTE1X1JFQUQoQlhU X0JMQ19QV01fQ1RMMSk7Ci0JSTkxNV9XUklURShCWFRfQkxDX1BXTV9DVEwxLCB0bXAgJiB+QlhU X0JMQ19QV01fRU5BQkxFKTsKKwl0bXAgPSBJOTE1X1JFQUQoQlhUX0JMQ19QV01fQ1RMKHBhbmVs LT5iYWNrbGlnaHQuY29udHJvbGxlcikpOworCUk5MTVfV1JJVEUoQlhUX0JMQ19QV01fQ1RMKHBh bmVsLT5iYWNrbGlnaHQuY29udHJvbGxlciksCisJCQl0bXAgJiB+QlhUX0JMQ19QV01fRU5BQkxF KTsKKworCWlmIChwYW5lbC0+YmFja2xpZ2h0LmNvbnRyb2xsZXIgPT0gMSkgeworCQl2YWwgPSBJ OTE1X1JFQUQoVVRJTF9QSU5fQ1RMKTsKKwkJdmFsICY9IH5VVElMX1BJTl9FTkFCTEU7CisJCUk5 MTVfV1JJVEUoVVRJTF9QSU5fQ1RMLCB2YWwpOworCX0KIH0KIAogdm9pZCBpbnRlbF9wYW5lbF9k aXNhYmxlX2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCkBAIC05 ODgsMTYgKzk5OCwzMSBAQCBzdGF0aWMgdm9pZCBieHRfZW5hYmxlX2JhY2tsaWdodChzdHJ1Y3Qg aW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNv bm5lY3Rvci0+YmFzZS5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g ZGV2LT5kZXZfcHJpdmF0ZTsKIAlzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsID0gJmNvbm5lY3Rv ci0+cGFuZWw7Ci0JdTMyIHB3bV9jdGw7CisJZW51bSBwaXBlIHBpcGUgPSBpbnRlbF9nZXRfcGlw ZV9mcm9tX2Nvbm5lY3Rvcihjb25uZWN0b3IpOworCXUzMiBwd21fY3RsLCB2YWw7CisKKwkvKiBU byB1c2UgMm5kIHNldCBvZiBiYWNrbGlnaHQgcmVnaXN0ZXJzLCB1dGlsaXR5IHBpbiBoYXMgdG8g YmUKKwkgKiBlbmFibGVkIHdpdGggUFdNIG1vZGUuCisJICogVGhlIGZpZWxkIHNob3VsZCBvbmx5 IGJlIGNoYW5nZWQgd2hlbiB0aGUgdXRpbGl0eSBwaW4gaXMgZGlzYWJsZWQKKwkgKi8KKwlpZiAo cGFuZWwtPmJhY2tsaWdodC5jb250cm9sbGVyID09IDEpIHsKKwkJdmFsID0gMDsKKwkJaWYgKHBh bmVsLT5iYWNrbGlnaHQudXRpbF9waW5fYWN0aXZlX2xvdykKKwkJCXZhbCB8PSBVVElMX1BJTl9Q T0xBUklUWTsKKwkJSTkxNV9XUklURShVVElMX1BJTl9DVEwsIHZhbCB8IFVUSUxfUElOX1BJUEUo cGlwZSkgfAorCQkJCVVUSUxfUElOX01PREVfUFdNIHwgVVRJTF9QSU5fRU5BQkxFKTsKKwl9CiAK LQlwd21fY3RsID0gSTkxNV9SRUFEKEJYVF9CTENfUFdNX0NUTDEpOworCXB3bV9jdGwgPSBJOTE1 X1JFQUQoQlhUX0JMQ19QV01fQ1RMKHBhbmVsLT5iYWNrbGlnaHQuY29udHJvbGxlcikpOwogCWlm IChwd21fY3RsICYgQlhUX0JMQ19QV01fRU5BQkxFKSB7CiAJCURSTV9ERUJVR19LTVMoImJhY2ts aWdodCBhbHJlYWR5IGVuYWJsZWRcbiIpOwogCQlwd21fY3RsICY9IH5CWFRfQkxDX1BXTV9FTkFC TEU7Ci0JCUk5MTVfV1JJVEUoQlhUX0JMQ19QV01fQ1RMMSwgcHdtX2N0bCk7CisJCUk5MTVfV1JJ VEUoQlhUX0JMQ19QV01fQ1RMKHBhbmVsLT5iYWNrbGlnaHQuY29udHJvbGxlciksCisJCQkJcHdt X2N0bCk7CiAJfQogCi0JSTkxNV9XUklURShCWFRfQkxDX1BXTV9GUkVRMSwgcGFuZWwtPmJhY2ts aWdodC5tYXgpOworCUk5MTVfV1JJVEUoQlhUX0JMQ19QV01fRlJFUShwYW5lbC0+YmFja2xpZ2h0 LmNvbnRyb2xsZXIpLAorCQkJcGFuZWwtPmJhY2tsaWdodC5tYXgpOwogCiAJaW50ZWxfcGFuZWxf YWN0dWFsbHlfc2V0X2JhY2tsaWdodChjb25uZWN0b3IsIHBhbmVsLT5iYWNrbGlnaHQubGV2ZWwp OwogCkBAIC0xMDA1LDkgKzEwMzAsMTAgQEAgc3RhdGljIHZvaWQgYnh0X2VuYWJsZV9iYWNrbGln aHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCWlmIChwYW5lbC0+YmFja2xp Z2h0LmFjdGl2ZV9sb3dfcHdtKQogCQlwd21fY3RsIHw9IEJYVF9CTENfUFdNX1BPTEFSSVRZOwog Ci0JSTkxNV9XUklURShCWFRfQkxDX1BXTV9DVEwxLCBwd21fY3RsKTsKLQlQT1NUSU5HX1JFQUQo QlhUX0JMQ19QV01fQ1RMMSk7Ci0JSTkxNV9XUklURShCWFRfQkxDX1BXTV9DVEwxLCBwd21fY3Rs IHwgQlhUX0JMQ19QV01fRU5BQkxFKTsKKwlJOTE1X1dSSVRFKEJYVF9CTENfUFdNX0NUTChwYW5l bC0+YmFja2xpZ2h0LmNvbnRyb2xsZXIpLCBwd21fY3RsKTsKKwlQT1NUSU5HX1JFQUQoQlhUX0JM Q19QV01fQ1RMKHBhbmVsLT5iYWNrbGlnaHQuY29udHJvbGxlcikpOworCUk5MTVfV1JJVEUoQlhU X0JMQ19QV01fQ1RMKHBhbmVsLT5iYWNrbGlnaHQuY29udHJvbGxlciksCisJCQlwd21fY3RsIHwg QlhUX0JMQ19QV01fRU5BQkxFKTsKIH0KIAogdm9pZCBpbnRlbF9wYW5lbF9lbmFibGVfYmFja2xp Z2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKQEAgLTEzNzAsMTIgKzEzOTYs MjggQEAgYnh0X3NldHVwX2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0 b3IsIGVudW0gcGlwZSB1bnVzZWQpCiAJc3RydWN0IGludGVsX3BhbmVsICpwYW5lbCA9ICZjb25u ZWN0b3ItPnBhbmVsOwogCXUzMiBwd21fY3RsLCB2YWw7CiAKLQlwd21fY3RsID0gSTkxNV9SRUFE KEJYVF9CTENfUFdNX0NUTDEpOwotCXBhbmVsLT5iYWNrbGlnaHQuYWN0aXZlX2xvd19wd20gPSBw d21fY3RsICYgQlhUX0JMQ19QV01fUE9MQVJJVFk7CisJLyoKKwkgKiBGb3IgQlhUIGhhcmQgY29k aW5nIHRoZSBCYWNrbGlnaHQgY29udHJvbGxlciB0byAwLgorCSAqIFRPRE8gOiBSZWFkIHRoZSBj b250cm9sbGVyIHZhbHVlIGZyb20gVkJUIGFuZCBnZW5lcmFsaXplCisJICovCisJcGFuZWwtPmJh Y2tsaWdodC5jb250cm9sbGVyID0gMDsKIAotCXBhbmVsLT5iYWNrbGlnaHQubWF4ID0gSTkxNV9S RUFEKEJYVF9CTENfUFdNX0ZSRVExKTsKLQlpZiAoIXBhbmVsLT5iYWNrbGlnaHQubWF4KQotCQly ZXR1cm4gLUVOT0RFVjsKKwlwd21fY3RsID0gSTkxNV9SRUFEKEJYVF9CTENfUFdNX0NUTChwYW5l bC0+YmFja2xpZ2h0LmNvbnRyb2xsZXIpKTsKKworCS8qIEtlZXBpbmcgdGhlIGNoZWNrIGlmIGNv bnRyb2xsZXIgMSBpcyB0byBiZSBwcm9ncmFtbWVkLgorCSAqIFRoaXMgd2lsbCBjb21lIGludG8g YWZmZWN0IG9uY2UgdGhlIFZCVCBwYXJzaW5nCisJICogaXMgZml4ZWQgZm9yIGNvbnRyb2xsZXIg c2VsZWN0aW9uLCBhbmQgY29udHJvbGxlciAxIGlzIHVzZWQKKwkgKiBmb3IgYSBwcnRpY3VsYXIg ZGlzcGxheSBjb25maWd1cmF0aW9uLgorCSAqLworCWlmIChwYW5lbC0+YmFja2xpZ2h0LmNvbnRy b2xsZXIgPT0gMSkgeworCQl2YWwgPSBJOTE1X1JFQUQoVVRJTF9QSU5fQ1RMKTsKKwkJcGFuZWwt PmJhY2tsaWdodC51dGlsX3Bpbl9hY3RpdmVfbG93ID0KKwkJCQkJdmFsICYgVVRJTF9QSU5fUE9M QVJJVFk7CisJfQorCisJcGFuZWwtPmJhY2tsaWdodC5hY3RpdmVfbG93X3B3bSA9IHB3bV9jdGwg JiBCWFRfQkxDX1BXTV9QT0xBUklUWTsKKwlwYW5lbC0+YmFja2xpZ2h0Lm1heCA9IEk5MTVfUkVB RCgKKwkJCUJYVF9CTENfUFdNX0ZSRVEocGFuZWwtPmJhY2tsaWdodC5jb250cm9sbGVyKSk7CiAK IAl2YWwgPSBieHRfZ2V0X2JhY2tsaWdodChjb25uZWN0b3IpOwogCXBhbmVsLT5iYWNrbGlnaHQu bGV2ZWwgPSBpbnRlbF9wYW5lbF9jb21wdXRlX2JyaWdodG5lc3MoY29ubmVjdG9yLCB2YWwpOwot LSAKMS43LjkuNQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK