From mboxrd@z Thu Jan 1 00:00:00 1970 From: Uma Shankar Subject: [BXT MIPI PATCH v5 11/14] drm/i915/bxt: Modify BXT BLC according to VBT changes Date: Wed, 30 Sep 2015 22:34:57 +0530 Message-ID: <1443632697-19085-1-git-send-email-uma.shankar@intel.com> References: <87fv1yk7op.fsf@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 7256B72193 for ; Wed, 30 Sep 2015 09:37:01 -0700 (PDT) In-Reply-To: <87fv1yk7op.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 djU6IEZpeGVkIEphbmkncyByZXZpZXcgY29tbWVudCB3cnQgdXRpbCBwaW4gZW5hYmxlCgpTaWdu ZWQtb2ZmLWJ5OiBWYW5kYW5hIEthbm5hbiA8dmFuZGFuYS5rYW5uYW5AaW50ZWwuY29tPgpTaWdu ZWQtb2ZmLWJ5OiBTdW5pbCBLYW1hdGggPHN1bmlsLmthbWF0aEBpbnRlbC5jb20+ClNpZ25lZC1v ZmYtYnk6IFVtYSBTaGFua2FyIDx1bWEuc2hhbmthckBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgICB8ICAgMjggKysrKysrKystLS0tCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgIHwgICAgMiArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9wYW5lbC5jIHwgICA4MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0K IDMgZmlsZXMgY2hhbmdlZCwgODggaW5zZXJ0aW9ucygrKSwgMjUgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcmVnLmgKaW5kZXggODhhMTZlMi4uNTE5Zjc2NCAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3JlZy5oCkBAIC0zNTEyLDE3ICszNTEyLDI5IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2Vs bHMgewogI2RlZmluZSBVVElMX1BJTl9DVEwJCTB4NDg0MDAKICNkZWZpbmUgICBVVElMX1BJTl9F TkFCTEUJKDEgPDwgMzEpCiAKKyNkZWZpbmUgICBVVElMX1BJTl9QSVBFKHgpICAgICAoKHgpIDw8 IDI5KQorI2RlZmluZSAgIFVUSUxfUElOX1BJUEVfTUFTSyAgICgzIDw8IDI5KQorI2RlZmluZSAg IFVUSUxfUElOX01PREVfUFdNICAgICgxIDw8IDI0KQorI2RlZmluZSAgIFVUSUxfUElOX01PREVf TUFTSyAgICgweGYgPDwgMjQpCisjZGVmaW5lICAgVVRJTF9QSU5fUE9MQVJJVFkgICAgKDEgPDwg MjIpCisKIC8qIEJYVCBiYWNrbGlnaHQgcmVnaXN0ZXIgZGVmaW5pdGlvbi4gKi8KLSNkZWZpbmUg QlhUX0JMQ19QV01fQ1RMMQkJCTB4QzgyNTAKKyNkZWZpbmUgX0JYVF9CTENfUFdNX0NUTDEJCQkw eEM4MjUwCiAjZGVmaW5lICAgQlhUX0JMQ19QV01fRU5BQkxFCQkJKDEgPDwgMzEpCiAjZGVmaW5l ICAgQlhUX0JMQ19QV01fUE9MQVJJVFkJCQkoMSA8PCAyOSkKLSNkZWZpbmUgQlhUX0JMQ19QV01f RlJFUTEJCQkweEM4MjU0Ci0jZGVmaW5lIEJYVF9CTENfUFdNX0RVVFkxCQkJMHhDODI1OAotCi0j ZGVmaW5lIEJYVF9CTENfUFdNX0NUTDIJCQkweEM4MzUwCi0jZGVmaW5lIEJYVF9CTENfUFdNX0ZS RVEyCQkJMHhDODM1NAotI2RlZmluZSBCWFRfQkxDX1BXTV9EVVRZMgkJCTB4QzgzNTgKLQorI2Rl ZmluZSBfQlhUX0JMQ19QV01fRlJFUTEJCQkweEM4MjU0CisjZGVmaW5lIF9CWFRfQkxDX1BXTV9E VVRZMQkJCTB4QzgyNTgKKworI2RlZmluZSBfQlhUX0JMQ19QV01fQ1RMMgkJCTB4QzgzNTAKKyNk ZWZpbmUgX0JYVF9CTENfUFdNX0ZSRVEyCQkJMHhDODM1NAorI2RlZmluZSBfQlhUX0JMQ19QV01f RFVUWTIJCQkweEM4MzU4CisKKyNkZWZpbmUgQlhUX0JMQ19QV01fQ1RMKGNvbnRyb2xsZXIpICAg IF9QSVBFKGNvbnRyb2xsZXIsIFwKKwkJCQkJX0JYVF9CTENfUFdNX0NUTDEsIF9CWFRfQkxDX1BX TV9DVEwyKQorI2RlZmluZSBCWFRfQkxDX1BXTV9GUkVRKGNvbnRyb2xsZXIpICAgX1BJUEUoY29u dHJvbGxlciwgXAorCQkJCQlfQlhUX0JMQ19QV01fRlJFUTEsIF9CWFRfQkxDX1BXTV9GUkVRMikK KyNkZWZpbmUgQlhUX0JMQ19QV01fRFVUWShjb250cm9sbGVyKSAgIF9QSVBFKGNvbnRyb2xsZXIs IFwKKwkJCQkJX0JYVF9CTENfUFdNX0RVVFkxLCBfQlhUX0JMQ19QV01fRFVUWTIpCiAKICNkZWZp bmUgUENIX0dUQ19DVEwJCTB4ZTcwMDAKICNkZWZpbmUgICBQQ0hfR1RDX0VOQUJMRQkoMSA8PCAz MSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXggMTA1OTI4My4uZDhjYTA3NSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmgKQEAgLTE4Miw3ICsxODIsOSBAQCBzdHJ1Y3QgaW50ZWxfcGFu ZWwgewogCQlib29sIGVuYWJsZWQ7CiAJCWJvb2wgY29tYmluYXRpb25fbW9kZTsJLyogZ2VuIDIv NCBvbmx5ICovCiAJCWJvb2wgYWN0aXZlX2xvd19wd207CisJCWJvb2wgdXRpbF9waW5fYWN0aXZl X2xvdzsJLyogYnh0KyAqLwogCQlzdHJ1Y3QgYmFja2xpZ2h0X2RldmljZSAqZGV2aWNlOworCQl1 OCBjb250cm9sbGVyOwkJLyogYnh0KyBvbmx5ICovCiAJfSBiYWNrbGlnaHQ7CiAKIAl2b2lkICgq YmFja2xpZ2h0X3Bvd2VyKShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICosIGJvb2wgZW5hYmxlKTsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5jCmluZGV4IDU1YWFkMjMuLjBkMjE3MTUgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwuYwpAQCAtNTM5LDkgKzUzOSwxMCBAQCBzdGF0aWMgdTMy IHZsdl9nZXRfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKIHN0 YXRpYyB1MzIgYnh0X2dldF9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVj dG9yKQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmJhc2UuZGV2Owor CXN0cnVjdCBpbnRlbF9wYW5lbCAqcGFuZWwgPSAmY29ubmVjdG9yLT5wYW5lbDsKIAlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwogCi0JcmV0dXJu IEk5MTVfUkVBRChCWFRfQkxDX1BXTV9EVVRZMSk7CisJcmV0dXJuIEk5MTVfUkVBRChCWFRfQkxD X1BXTV9EVVRZKHBhbmVsLT5iYWNrbGlnaHQuY29udHJvbGxlcikpOwogfQogCiBzdGF0aWMgdTMy IGludGVsX3BhbmVsX2dldF9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVj dG9yKQpAQCAtNjI4LDggKzYyOSw5IEBAIHN0YXRpYyB2b2lkIGJ4dF9zZXRfYmFja2xpZ2h0KHN0 cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwgdTMyIGxldmVsKQogewogCXN0cnVjdCBk cm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmJhc2UuZGV2OwogCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJc3RydWN0IGludGVsX3BhbmVs ICpwYW5lbCA9ICZjb25uZWN0b3ItPnBhbmVsOwogCi0JSTkxNV9XUklURShCWFRfQkxDX1BXTV9E VVRZMSwgbGV2ZWwpOworCUk5MTVfV1JJVEUoQlhUX0JMQ19QV01fRFVUWShwYW5lbC0+YmFja2xp Z2h0LmNvbnRyb2xsZXIpLCBsZXZlbCk7CiB9CiAKIHN0YXRpYyB2b2lkCkBAIC03NjEsMTIgKzc2 MywyMCBAQCBzdGF0aWMgdm9pZCBieHRfZGlzYWJsZV9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nv bm5lY3RvciAqY29ubmVjdG9yKQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0 b3ItPmJhc2UuZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ ZGV2X3ByaXZhdGU7Ci0JdTMyIHRtcDsKKwlzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsID0gJmNv bm5lY3Rvci0+cGFuZWw7CisJdTMyIHRtcCwgdmFsOwogCiAJaW50ZWxfcGFuZWxfYWN0dWFsbHlf c2V0X2JhY2tsaWdodChjb25uZWN0b3IsIDApOwogCi0JdG1wID0gSTkxNV9SRUFEKEJYVF9CTENf UFdNX0NUTDEpOwotCUk5MTVfV1JJVEUoQlhUX0JMQ19QV01fQ1RMMSwgdG1wICYgfkJYVF9CTENf UFdNX0VOQUJMRSk7CisJdG1wID0gSTkxNV9SRUFEKEJYVF9CTENfUFdNX0NUTChwYW5lbC0+YmFj a2xpZ2h0LmNvbnRyb2xsZXIpKTsKKwlJOTE1X1dSSVRFKEJYVF9CTENfUFdNX0NUTChwYW5lbC0+ YmFja2xpZ2h0LmNvbnRyb2xsZXIpLAorCQkJdG1wICYgfkJYVF9CTENfUFdNX0VOQUJMRSk7CisK KwlpZiAocGFuZWwtPmJhY2tsaWdodC5jb250cm9sbGVyID09IDEpIHsKKwkJdmFsID0gSTkxNV9S RUFEKFVUSUxfUElOX0NUTCk7CisJCXZhbCAmPSB+VVRJTF9QSU5fRU5BQkxFOworCQlJOTE1X1dS SVRFKFVUSUxfUElOX0NUTCwgdmFsKTsKKwl9CiB9CiAKIHZvaWQgaW50ZWxfcGFuZWxfZGlzYWJs ZV9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQpAQCAtOTg4LDE2 ICs5OTgsMzggQEAgc3RhdGljIHZvaWQgYnh0X2VuYWJsZV9iYWNrbGlnaHQoc3RydWN0IGludGVs X2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0 b3ItPmJhc2UuZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ ZGV2X3ByaXZhdGU7CiAJc3RydWN0IGludGVsX3BhbmVsICpwYW5lbCA9ICZjb25uZWN0b3ItPnBh bmVsOwotCXUzMiBwd21fY3RsOworCWVudW0gcGlwZSBwaXBlID0gaW50ZWxfZ2V0X3BpcGVfZnJv bV9jb25uZWN0b3IoY29ubmVjdG9yKTsKKwl1MzIgcHdtX2N0bCwgdmFsOworCisJLyogVG8gdXNl IDJuZCBzZXQgb2YgYmFja2xpZ2h0IHJlZ2lzdGVycywgdXRpbGl0eSBwaW4gaGFzIHRvIGJlCisJ ICogZW5hYmxlZCB3aXRoIFBXTSBtb2RlLgorCSAqIFRoZSBmaWVsZCBzaG91bGQgb25seSBiZSBj aGFuZ2VkIHdoZW4gdGhlIHV0aWxpdHkgcGluIGlzIGRpc2FibGVkCisJICovCisJaWYgKHBhbmVs LT5iYWNrbGlnaHQuY29udHJvbGxlciA9PSAxKSB7CisJCXZhbCA9IEk5MTVfUkVBRChVVElMX1BJ Tl9DVEwpOworCQlpZiAodmFsICYgVVRJTF9QSU5fRU5BQkxFKSB7CisJCQlEUk1fREVCVUdfS01T KCJ1dGlsIHBpbiBhbHJlYWR5IGVuYWJsZWRcbiIpOworCQkJdmFsICY9IH5VVElMX1BJTl9FTkFC TEU7CisJCQlJOTE1X1dSSVRFKFVUSUxfUElOX0NUTCwgdmFsKTsKKwkJfQogCi0JcHdtX2N0bCA9 IEk5MTVfUkVBRChCWFRfQkxDX1BXTV9DVEwxKTsKKwkJdmFsID0gMDsKKwkJaWYgKHBhbmVsLT5i YWNrbGlnaHQudXRpbF9waW5fYWN0aXZlX2xvdykKKwkJCXZhbCB8PSBVVElMX1BJTl9QT0xBUklU WTsKKwkJSTkxNV9XUklURShVVElMX1BJTl9DVEwsIHZhbCB8IFVUSUxfUElOX1BJUEUocGlwZSkg fAorCQkJCVVUSUxfUElOX01PREVfUFdNIHwgVVRJTF9QSU5fRU5BQkxFKTsKKwl9CisKKwlwd21f Y3RsID0gSTkxNV9SRUFEKEJYVF9CTENfUFdNX0NUTChwYW5lbC0+YmFja2xpZ2h0LmNvbnRyb2xs ZXIpKTsKIAlpZiAocHdtX2N0bCAmIEJYVF9CTENfUFdNX0VOQUJMRSkgewogCQlEUk1fREVCVUdf S01TKCJiYWNrbGlnaHQgYWxyZWFkeSBlbmFibGVkXG4iKTsKIAkJcHdtX2N0bCAmPSB+QlhUX0JM Q19QV01fRU5BQkxFOwotCQlJOTE1X1dSSVRFKEJYVF9CTENfUFdNX0NUTDEsIHB3bV9jdGwpOwor CQlJOTE1X1dSSVRFKEJYVF9CTENfUFdNX0NUTChwYW5lbC0+YmFja2xpZ2h0LmNvbnRyb2xsZXIp LAorCQkJCXB3bV9jdGwpOwogCX0KIAotCUk5MTVfV1JJVEUoQlhUX0JMQ19QV01fRlJFUTEsIHBh bmVsLT5iYWNrbGlnaHQubWF4KTsKKwlJOTE1X1dSSVRFKEJYVF9CTENfUFdNX0ZSRVEocGFuZWwt PmJhY2tsaWdodC5jb250cm9sbGVyKSwKKwkJCXBhbmVsLT5iYWNrbGlnaHQubWF4KTsKIAogCWlu dGVsX3BhbmVsX2FjdHVhbGx5X3NldF9iYWNrbGlnaHQoY29ubmVjdG9yLCBwYW5lbC0+YmFja2xp Z2h0LmxldmVsKTsKIApAQCAtMTAwNSw5ICsxMDM3LDEwIEBAIHN0YXRpYyB2b2lkIGJ4dF9lbmFi bGVfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAlpZiAocGFu ZWwtPmJhY2tsaWdodC5hY3RpdmVfbG93X3B3bSkKIAkJcHdtX2N0bCB8PSBCWFRfQkxDX1BXTV9Q T0xBUklUWTsKIAotCUk5MTVfV1JJVEUoQlhUX0JMQ19QV01fQ1RMMSwgcHdtX2N0bCk7Ci0JUE9T VElOR19SRUFEKEJYVF9CTENfUFdNX0NUTDEpOwotCUk5MTVfV1JJVEUoQlhUX0JMQ19QV01fQ1RM MSwgcHdtX2N0bCB8IEJYVF9CTENfUFdNX0VOQUJMRSk7CisJSTkxNV9XUklURShCWFRfQkxDX1BX TV9DVEwocGFuZWwtPmJhY2tsaWdodC5jb250cm9sbGVyKSwgcHdtX2N0bCk7CisJUE9TVElOR19S RUFEKEJYVF9CTENfUFdNX0NUTChwYW5lbC0+YmFja2xpZ2h0LmNvbnRyb2xsZXIpKTsKKwlJOTE1 X1dSSVRFKEJYVF9CTENfUFdNX0NUTChwYW5lbC0+YmFja2xpZ2h0LmNvbnRyb2xsZXIpLAorCQkJ cHdtX2N0bCB8IEJYVF9CTENfUFdNX0VOQUJMRSk7CiB9CiAKIHZvaWQgaW50ZWxfcGFuZWxfZW5h YmxlX2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCkBAIC0xMzcw LDEyICsxNDAzLDI4IEBAIGJ4dF9zZXR1cF9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3Rv ciAqY29ubmVjdG9yLCBlbnVtIHBpcGUgdW51c2VkKQogCXN0cnVjdCBpbnRlbF9wYW5lbCAqcGFu ZWwgPSAmY29ubmVjdG9yLT5wYW5lbDsKIAl1MzIgcHdtX2N0bCwgdmFsOwogCi0JcHdtX2N0bCA9 IEk5MTVfUkVBRChCWFRfQkxDX1BXTV9DVEwxKTsKLQlwYW5lbC0+YmFja2xpZ2h0LmFjdGl2ZV9s b3dfcHdtID0gcHdtX2N0bCAmIEJYVF9CTENfUFdNX1BPTEFSSVRZOworCS8qCisJICogRm9yIEJY VCBoYXJkIGNvZGluZyB0aGUgQmFja2xpZ2h0IGNvbnRyb2xsZXIgdG8gMC4KKwkgKiBUT0RPIDog UmVhZCB0aGUgY29udHJvbGxlciB2YWx1ZSBmcm9tIFZCVCBhbmQgZ2VuZXJhbGl6ZQorCSAqLwor CXBhbmVsLT5iYWNrbGlnaHQuY29udHJvbGxlciA9IDA7CiAKLQlwYW5lbC0+YmFja2xpZ2h0Lm1h eCA9IEk5MTVfUkVBRChCWFRfQkxDX1BXTV9GUkVRMSk7Ci0JaWYgKCFwYW5lbC0+YmFja2xpZ2h0 Lm1heCkKLQkJcmV0dXJuIC1FTk9ERVY7CisJcHdtX2N0bCA9IEk5MTVfUkVBRChCWFRfQkxDX1BX TV9DVEwocGFuZWwtPmJhY2tsaWdodC5jb250cm9sbGVyKSk7CisKKwkvKiBLZWVwaW5nIHRoZSBj aGVjayBpZiBjb250cm9sbGVyIDEgaXMgdG8gYmUgcHJvZ3JhbW1lZC4KKwkgKiBUaGlzIHdpbGwg Y29tZSBpbnRvIGFmZmVjdCBvbmNlIHRoZSBWQlQgcGFyc2luZworCSAqIGlzIGZpeGVkIGZvciBj b250cm9sbGVyIHNlbGVjdGlvbiwgYW5kIGNvbnRyb2xsZXIgMSBpcyB1c2VkCisJICogZm9yIGEg cHJ0aWN1bGFyIGRpc3BsYXkgY29uZmlndXJhdGlvbi4KKwkgKi8KKwlpZiAocGFuZWwtPmJhY2ts aWdodC5jb250cm9sbGVyID09IDEpIHsKKwkJdmFsID0gSTkxNV9SRUFEKFVUSUxfUElOX0NUTCk7 CisJCXBhbmVsLT5iYWNrbGlnaHQudXRpbF9waW5fYWN0aXZlX2xvdyA9CisJCQkJCXZhbCAmIFVU SUxfUElOX1BPTEFSSVRZOworCX0KKworCXBhbmVsLT5iYWNrbGlnaHQuYWN0aXZlX2xvd19wd20g PSBwd21fY3RsICYgQlhUX0JMQ19QV01fUE9MQVJJVFk7CisJcGFuZWwtPmJhY2tsaWdodC5tYXgg PSBJOTE1X1JFQUQoCisJCQlCWFRfQkxDX1BXTV9GUkVRKHBhbmVsLT5iYWNrbGlnaHQuY29udHJv bGxlcikpOwogCiAJdmFsID0gYnh0X2dldF9iYWNrbGlnaHQoY29ubmVjdG9yKTsKIAlwYW5lbC0+ YmFja2xpZ2h0LmxldmVsID0gaW50ZWxfcGFuZWxfY29tcHV0ZV9icmlnaHRuZXNzKGNvbm5lY3Rv ciwgdmFsKTsKLS0gCjEuNy45LjUKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4Cg==