From mboxrd@z Thu Jan 1 00:00:00 1970 From: Uma Shankar Subject: [BXT MIPI PATCH v3 11/14] drm/i915/bxt: Modify BXT BLC according to VBT changes Date: Tue, 1 Sep 2015 19:41:47 +0530 Message-ID: <1441116710-14118-12-git-send-email-uma.shankar@intel.com> References: <1441116710-14118-1-git-send-email-uma.shankar@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 3601D72098 for ; Tue, 1 Sep 2015 06:45:24 -0700 (PDT) In-Reply-To: <1441116710-14118-1-git-send-email-uma.shankar@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@intel.com, 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 bGl6ZXMgaXQuCgpTaWduZWQtb2ZmLWJ5OiBWYW5kYW5hIEthbm5hbiA8dmFuZGFuYS5rYW5uYW5A aW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBTdW5pbCBLYW1hdGggPHN1bmlsLmthbWF0aEBpbnRl bC5jb20+ClNpZ25lZC1vZmYtYnk6IFVtYSBTaGFua2FyIDx1bWEuc2hhbmthckBpbnRlbC5jb20+ Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgICB8ICAgMjggKysrKysrKyst LS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgIHwgICAgMiArCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5jIHwgICA4NCArKysrKysrKysrKysrKysrKysrKysr KysrKysrLS0tLS0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgODkgaW5zZXJ0aW9ucygrKSwgMjUgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKaW5kZXggZTQzYjA1My4uODQwN2I1YyAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAorKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCkBAIC0zNTEyLDE3ICszNTEyLDI5IEBAIGVudW0gc2ts X2Rpc3BfcG93ZXJfd2VsbHMgewogI2RlZmluZSBVVElMX1BJTl9DVEwJCTB4NDg0MDAKICNkZWZp bmUgICBVVElMX1BJTl9FTkFCTEUJKDEgPDwgMzEpCiAKKyNkZWZpbmUgICBVVElMX1BJTl9QSVBF KHgpICAgICAoKHgpIDw8IDI5KQorI2RlZmluZSAgIFVUSUxfUElOX1BJUEVfTUFTSyAgICgzIDw8 IDI5KQorI2RlZmluZSAgIFVUSUxfUElOX01PREVfUFdNICAgICgxIDw8IDI0KQorI2RlZmluZSAg IFVUSUxfUElOX01PREVfTUFTSyAgICgweGYgPDwgMjQpCisjZGVmaW5lICAgVVRJTF9QSU5fUE9M QVJJVFkgICAgKDEgPDwgMjIpCisKIC8qIEJYVCBiYWNrbGlnaHQgcmVnaXN0ZXIgZGVmaW5pdGlv bi4gKi8KLSNkZWZpbmUgQlhUX0JMQ19QV01fQ1RMMQkJCTB4QzgyNTAKKyNkZWZpbmUgX0JYVF9C TENfUFdNX0NUTDEJCQkweEM4MjUwCiAjZGVmaW5lICAgQlhUX0JMQ19QV01fRU5BQkxFCQkJKDEg PDwgMzEpCiAjZGVmaW5lICAgQlhUX0JMQ19QV01fUE9MQVJJVFkJCQkoMSA8PCAyOSkKLSNkZWZp bmUgQlhUX0JMQ19QV01fRlJFUTEJCQkweEM4MjU0Ci0jZGVmaW5lIEJYVF9CTENfUFdNX0RVVFkx CQkJMHhDODI1OAotCi0jZGVmaW5lIEJYVF9CTENfUFdNX0NUTDIJCQkweEM4MzUwCi0jZGVmaW5l IEJYVF9CTENfUFdNX0ZSRVEyCQkJMHhDODM1NAotI2RlZmluZSBCWFRfQkxDX1BXTV9EVVRZMgkJ CTB4QzgzNTgKLQorI2RlZmluZSBfQlhUX0JMQ19QV01fRlJFUTEJCQkweEM4MjU0CisjZGVmaW5l IF9CWFRfQkxDX1BXTV9EVVRZMQkJCTB4QzgyNTgKKworI2RlZmluZSBfQlhUX0JMQ19QV01fQ1RM MgkJCTB4QzgzNTAKKyNkZWZpbmUgX0JYVF9CTENfUFdNX0ZSRVEyCQkJMHhDODM1NAorI2RlZmlu ZSBfQlhUX0JMQ19QV01fRFVUWTIJCQkweEM4MzU4CisKKyNkZWZpbmUgQlhUX0JMQ19QV01fQ1RM KGNvbnRyb2xsZXIpICAgIF9QSVBFKGNvbnRyb2xsZXIsIFwKKwkJCQkJX0JYVF9CTENfUFdNX0NU TDEsIF9CWFRfQkxDX1BXTV9DVEwyKQorI2RlZmluZSBCWFRfQkxDX1BXTV9GUkVRKGNvbnRyb2xs ZXIpICAgX1BJUEUoY29udHJvbGxlciwgXAorCQkJCQlfQlhUX0JMQ19QV01fRlJFUTEsIF9CWFRf QkxDX1BXTV9GUkVRMikKKyNkZWZpbmUgQlhUX0JMQ19QV01fRFVUWShjb250cm9sbGVyKSAgIF9Q SVBFKGNvbnRyb2xsZXIsIFwKKwkJCQkJX0JYVF9CTENfUFdNX0RVVFkxLCBfQlhUX0JMQ19QV01f RFVUWTIpCiAKICNkZWZpbmUgUENIX0dUQ19DVEwJCTB4ZTcwMDAKICNkZWZpbmUgICBQQ0hfR1RD X0VOQUJMRQkoMSA8PCAzMSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXggMTA1OTI4My4u ZDhjYTA3NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKQEAgLTE4Miw3ICsxODIsOSBAQCBz dHJ1Y3QgaW50ZWxfcGFuZWwgewogCQlib29sIGVuYWJsZWQ7CiAJCWJvb2wgY29tYmluYXRpb25f bW9kZTsJLyogZ2VuIDIvNCBvbmx5ICovCiAJCWJvb2wgYWN0aXZlX2xvd19wd207CisJCWJvb2wg dXRpbF9waW5fYWN0aXZlX2xvdzsJLyogYnh0KyAqLwogCQlzdHJ1Y3QgYmFja2xpZ2h0X2Rldmlj ZSAqZGV2aWNlOworCQl1OCBjb250cm9sbGVyOwkJLyogYnh0KyBvbmx5ICovCiAJfSBiYWNrbGln aHQ7CiAKIAl2b2lkICgqYmFja2xpZ2h0X3Bvd2VyKShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICos IGJvb2wgZW5hYmxlKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bh bmVsLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5jCmluZGV4IDU1YWFkMjMu LjlmY2Y4NmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwuYwpAQCAtNTM5LDkgKzUzOSwx MCBAQCBzdGF0aWMgdTMyIHZsdl9nZXRfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3Ig KmNvbm5lY3RvcikKIHN0YXRpYyB1MzIgYnh0X2dldF9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nv bm5lY3RvciAqY29ubmVjdG9yKQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0 b3ItPmJhc2UuZGV2OworCXN0cnVjdCBpbnRlbF9wYW5lbCAqcGFuZWwgPSAmY29ubmVjdG9yLT5w YW5lbDsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2 YXRlOwogCi0JcmV0dXJuIEk5MTVfUkVBRChCWFRfQkxDX1BXTV9EVVRZMSk7CisJcmV0dXJuIEk5 MTVfUkVBRChCWFRfQkxDX1BXTV9EVVRZKHBhbmVsLT5iYWNrbGlnaHQuY29udHJvbGxlcikpOwog fQogCiBzdGF0aWMgdTMyIGludGVsX3BhbmVsX2dldF9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nv bm5lY3RvciAqY29ubmVjdG9yKQpAQCAtNjI4LDggKzYyOSw5IEBAIHN0YXRpYyB2b2lkIGJ4dF9z ZXRfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwgdTMyIGxldmVs KQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmJhc2UuZGV2OwogCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJc3Ry dWN0IGludGVsX3BhbmVsICpwYW5lbCA9ICZjb25uZWN0b3ItPnBhbmVsOwogCi0JSTkxNV9XUklU RShCWFRfQkxDX1BXTV9EVVRZMSwgbGV2ZWwpOworCUk5MTVfV1JJVEUoQlhUX0JMQ19QV01fRFVU WShwYW5lbC0+YmFja2xpZ2h0LmNvbnRyb2xsZXIpLCBsZXZlbCk7CiB9CiAKIHN0YXRpYyB2b2lk CkBAIC03NjEsMTIgKzc2MywyMCBAQCBzdGF0aWMgdm9pZCBieHRfZGlzYWJsZV9iYWNrbGlnaHQo c3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogewogCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSBjb25uZWN0b3ItPmJhc2UuZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Ci0JdTMyIHRtcDsKKwlzdHJ1Y3QgaW50ZWxfcGFu ZWwgKnBhbmVsID0gJmNvbm5lY3Rvci0+cGFuZWw7CisJdTMyIHRtcCwgdmFsOwogCiAJaW50ZWxf cGFuZWxfYWN0dWFsbHlfc2V0X2JhY2tsaWdodChjb25uZWN0b3IsIDApOwogCi0JdG1wID0gSTkx NV9SRUFEKEJYVF9CTENfUFdNX0NUTDEpOwotCUk5MTVfV1JJVEUoQlhUX0JMQ19QV01fQ1RMMSwg dG1wICYgfkJYVF9CTENfUFdNX0VOQUJMRSk7CisJdG1wID0gSTkxNV9SRUFEKEJYVF9CTENfUFdN X0NUTChwYW5lbC0+YmFja2xpZ2h0LmNvbnRyb2xsZXIpKTsKKwlJOTE1X1dSSVRFKEJYVF9CTENf UFdNX0NUTChwYW5lbC0+YmFja2xpZ2h0LmNvbnRyb2xsZXIpLAorCQkJdG1wICYgfkJYVF9CTENf UFdNX0VOQUJMRSk7CisKKwlpZiAocGFuZWwtPmJhY2tsaWdodC5jb250cm9sbGVyID09IDEpIHsK KwkJdmFsID0gSTkxNV9SRUFEKFVUSUxfUElOX0NUTCk7CisJCXZhbCAmPSB+VVRJTF9QSU5fRU5B QkxFOworCQlJOTE1X1dSSVRFKFVUSUxfUElOX0NUTCwgdmFsKTsKKwl9CiB9CiAKIHZvaWQgaW50 ZWxfcGFuZWxfZGlzYWJsZV9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVj dG9yKQpAQCAtOTg4LDE2ICs5OTgsMzkgQEAgc3RhdGljIHZvaWQgYnh0X2VuYWJsZV9iYWNrbGln aHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSBjb25uZWN0b3ItPmJhc2UuZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CiAJc3RydWN0IGludGVsX3BhbmVsICpwYW5lbCA9 ICZjb25uZWN0b3ItPnBhbmVsOwotCXUzMiBwd21fY3RsOworCWVudW0gcGlwZSBwaXBlID0gaW50 ZWxfZ2V0X3BpcGVfZnJvbV9jb25uZWN0b3IoY29ubmVjdG9yKTsKKwl1MzIgcHdtX2N0bCwgdmFs OworCisJLyogVG8gdXNlIDJuZCBzZXQgb2YgYmFja2xpZ2h0IHJlZ2lzdGVycywgdXRpbGl0eSBw aW4gaGFzIHRvIGJlCisJICogZW5hYmxlZCB3aXRoIFBXTSBtb2RlLgorCSAqIFRoZSBmaWVsZCBz aG91bGQgb25seSBiZSBjaGFuZ2VkIHdoZW4gdGhlIHV0aWxpdHkgcGluIGlzIGRpc2FibGVkCisJ ICovCisJaWYgKHBhbmVsLT5iYWNrbGlnaHQuY29udHJvbGxlciA9PSAxKSB7CisJCXZhbCA9IEk5 MTVfUkVBRChVVElMX1BJTl9DVEwpOworCQlpZiAodmFsICYgVVRJTF9QSU5fRU5BQkxFKSB7CisJ CQlEUk1fREVCVUdfS01TKCJ1dGlsIHBpbiBhbHJlYWR5IGVuYWJsZWRcbiIpOworCQkJdmFsICY9 IH5VVElMX1BJTl9FTkFCTEU7CisJCQlJOTE1X1dSSVRFKFVUSUxfUElOX0NUTCwgdmFsKTsKKwkJ fQorCQkvKiBtYXNrIG91dCBVVElMX1BJTl9QSVBFIGFuZCBVVElMX1BJTl9NT0RFICovCisJCXZh bCAmPSB+KFVUSUxfUElOX1BJUEVfTUFTSyB8IFVUSUxfUElOX01PREVfTUFTSyk7CisJCUk5MTVf V1JJVEUoVVRJTF9QSU5fQ1RMLCB2YWwpOworCQlpZiAocGFuZWwtPmJhY2tsaWdodC51dGlsX3Bp bl9hY3RpdmVfbG93KQorCQkJdmFsIHw9IFVUSUxfUElOX1BPTEFSSVRZOworCQlJOTE1X1dSSVRF KFVUSUxfUElOX0NUTCwgdmFsIHwgVVRJTF9QSU5fUElQRShwaXBlKSB8CisJCQkJVVRJTF9QSU5f TU9ERV9QV00gfCBVVElMX1BJTl9FTkFCTEUpOworCX0KIAotCXB3bV9jdGwgPSBJOTE1X1JFQUQo QlhUX0JMQ19QV01fQ1RMMSk7CisJcHdtX2N0bCA9IEk5MTVfUkVBRChCWFRfQkxDX1BXTV9DVEwo cGFuZWwtPmJhY2tsaWdodC5jb250cm9sbGVyKSk7CiAJaWYgKHB3bV9jdGwgJiBCWFRfQkxDX1BX TV9FTkFCTEUpIHsKIAkJRFJNX0RFQlVHX0tNUygiYmFja2xpZ2h0IGFscmVhZHkgZW5hYmxlZFxu Iik7CiAJCXB3bV9jdGwgJj0gfkJYVF9CTENfUFdNX0VOQUJMRTsKLQkJSTkxNV9XUklURShCWFRf QkxDX1BXTV9DVEwxLCBwd21fY3RsKTsKKwkJSTkxNV9XUklURShCWFRfQkxDX1BXTV9DVEwocGFu ZWwtPmJhY2tsaWdodC5jb250cm9sbGVyKSwKKwkJCQlwd21fY3RsKTsKIAl9CiAKLQlJOTE1X1dS SVRFKEJYVF9CTENfUFdNX0ZSRVExLCBwYW5lbC0+YmFja2xpZ2h0Lm1heCk7CisJSTkxNV9XUklU RShCWFRfQkxDX1BXTV9GUkVRKHBhbmVsLT5iYWNrbGlnaHQuY29udHJvbGxlciksCisJCQlwYW5l bC0+YmFja2xpZ2h0Lm1heCk7CiAKIAlpbnRlbF9wYW5lbF9hY3R1YWxseV9zZXRfYmFja2xpZ2h0 KGNvbm5lY3RvciwgcGFuZWwtPmJhY2tsaWdodC5sZXZlbCk7CiAKQEAgLTEwMDUsOSArMTAzOCwx MCBAQCBzdGF0aWMgdm9pZCBieHRfZW5hYmxlX2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVj dG9yICpjb25uZWN0b3IpCiAJaWYgKHBhbmVsLT5iYWNrbGlnaHQuYWN0aXZlX2xvd19wd20pCiAJ CXB3bV9jdGwgfD0gQlhUX0JMQ19QV01fUE9MQVJJVFk7CiAKLQlJOTE1X1dSSVRFKEJYVF9CTENf UFdNX0NUTDEsIHB3bV9jdGwpOwotCVBPU1RJTkdfUkVBRChCWFRfQkxDX1BXTV9DVEwxKTsKLQlJ OTE1X1dSSVRFKEJYVF9CTENfUFdNX0NUTDEsIHB3bV9jdGwgfCBCWFRfQkxDX1BXTV9FTkFCTEUp OworCUk5MTVfV1JJVEUoQlhUX0JMQ19QV01fQ1RMKHBhbmVsLT5iYWNrbGlnaHQuY29udHJvbGxl ciksIHB3bV9jdGwpOworCVBPU1RJTkdfUkVBRChCWFRfQkxDX1BXTV9DVEwocGFuZWwtPmJhY2ts aWdodC5jb250cm9sbGVyKSk7CisJSTkxNV9XUklURShCWFRfQkxDX1BXTV9DVEwocGFuZWwtPmJh Y2tsaWdodC5jb250cm9sbGVyKSwKKwkJCXB3bV9jdGwgfCBCWFRfQkxDX1BXTV9FTkFCTEUpOwog fQogCiB2b2lkIGludGVsX3BhbmVsX2VuYWJsZV9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5l Y3RvciAqY29ubmVjdG9yKQpAQCAtMTM3MCwxMiArMTQwNCwyOCBAQCBieHRfc2V0dXBfYmFja2xp Z2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwgZW51bSBwaXBlIHVudXNlZCkK IAlzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsID0gJmNvbm5lY3Rvci0+cGFuZWw7CiAJdTMyIHB3 bV9jdGwsIHZhbDsKIAotCXB3bV9jdGwgPSBJOTE1X1JFQUQoQlhUX0JMQ19QV01fQ1RMMSk7Ci0J cGFuZWwtPmJhY2tsaWdodC5hY3RpdmVfbG93X3B3bSA9IHB3bV9jdGwgJiBCWFRfQkxDX1BXTV9Q T0xBUklUWTsKKwkvKgorCSAqIEZvciBCWFQgaGFyZCBjb2RpbmcgdGhlIEJhY2tsaWdodCBjb250 cm9sbGVyIHRvIDAuCisJICogVE9ETyA6IFJlYWQgdGhlIGNvbnRyb2xsZXIgdmFsdWUgZnJvbSBW QlQgYW5kIGdlbmVyYWxpemUKKwkgKi8KKwlwYW5lbC0+YmFja2xpZ2h0LmNvbnRyb2xsZXIgPSAw OwogCi0JcGFuZWwtPmJhY2tsaWdodC5tYXggPSBJOTE1X1JFQUQoQlhUX0JMQ19QV01fRlJFUTEp OwotCWlmICghcGFuZWwtPmJhY2tsaWdodC5tYXgpCi0JCXJldHVybiAtRU5PREVWOworCXB3bV9j dGwgPSBJOTE1X1JFQUQoQlhUX0JMQ19QV01fQ1RMKHBhbmVsLT5iYWNrbGlnaHQuY29udHJvbGxl cikpOworCisJLyogS2VlcGluZyB0aGUgY2hlY2sgaWYgY29udHJvbGxlciAxIGlzIHRvIGJlIHBy b2dyYW1tZWQuCisJICogVGhpcyB3aWxsIGNvbWUgaW50byBhZmZlY3Qgb25jZSB0aGUgVkJUIHBh cnNpbmcKKwkgKiBpcyBmaXhlZCBmb3IgY29udHJvbGxlciBzZWxlY3Rpb24sIGFuZCBjb250cm9s bGVyIDEgaXMgdXNlZAorCSAqIGZvciBhIHBydGljdWxhciBkaXNwbGF5IGNvbmZpZ3VyYXRpb24u CisJICovCisJaWYgKHBhbmVsLT5iYWNrbGlnaHQuY29udHJvbGxlciA9PSAxKSB7CisJCXZhbCA9 IEk5MTVfUkVBRChVVElMX1BJTl9DVEwpOworCQlwYW5lbC0+YmFja2xpZ2h0LnV0aWxfcGluX2Fj dGl2ZV9sb3cgPQorCQkJCQl2YWwgJiBVVElMX1BJTl9QT0xBUklUWTsKKwl9CisKKwlwYW5lbC0+ YmFja2xpZ2h0LmFjdGl2ZV9sb3dfcHdtID0gcHdtX2N0bCAmIEJYVF9CTENfUFdNX1BPTEFSSVRZ OworCXBhbmVsLT5iYWNrbGlnaHQubWF4ID0gSTkxNV9SRUFEKAorCQkJQlhUX0JMQ19QV01fRlJF UShwYW5lbC0+YmFja2xpZ2h0LmNvbnRyb2xsZXIpKTsKIAogCXZhbCA9IGJ4dF9nZXRfYmFja2xp Z2h0KGNvbm5lY3Rvcik7CiAJcGFuZWwtPmJhY2tsaWdodC5sZXZlbCA9IGludGVsX3BhbmVsX2Nv bXB1dGVfYnJpZ2h0bmVzcyhjb25uZWN0b3IsIHZhbCk7Ci0tIAoxLjcuOS41CgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBs aXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=