From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: [PATCH] drm/i915/kbl: Introduce Kabylake platform defition. Date: Wed, 28 Oct 2015 04:16:45 -0700 Message-ID: <1446031005-1725-1-git-send-email-rodrigo.vivi@intel.com> References: <87611rp6gy.fsf@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 205D46E33C for ; Wed, 28 Oct 2015 11:17:19 -0700 (PDT) In-Reply-To: <87611rp6gy.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: Jani Nikula , Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org S2FieWxha2UgaXMgYSBJbnRlbMKuIFByb2Nlc3NvciBjb250YWluaW5nIEludGVswq4gSEQgR3Jh cGhpY3MKZm9sbG93aW5nIFNreWxha2UuCgpJdCBpcyBHZW45cDUsIHNvIGl0IGluaGVyaXRzIGV2 ZXJ5dGhpbmcgZnJvbSBTa3lsYWtlLgoKTGV0J3Mgc3RhcnQgYnkgYWRkaW5nIHRoZSBwbGF0Zm9y bSBzZXBhcmF0ZWQgZnJvbSBTa3lsYWtlCmJ1dCByZXVzaW5nIG1vc3Qgb2YgYWxsIGZlYXR1cmVz LCBmdW5jdGlvbnMgZXRjLiBMYXRlciB3ZQpyZWJhc2UgdGhlIFBDSS1JRCBwYXRjaCB3aXRob3V0 IGlzX3NreWxha2U9MQpzbyB3ZSBkb24ndCByZXBsYWNlIHdoYXQgb3JpZ2luYWwgQXV0aG9yIGRp ZCB0aGVyZS4KCkZldyBJU19TS1lMQUtFcyBpZiBzdGF0ZW1lbnRzIGFyZSBub3QgYmVpbmcgY292 ZXJlZCBieSB0aGlzIHBhdGNoCm9uIHB1cnBvc2U6CiAgIC0gV29ya2Fyb3VuZHM6IEthYnlsYWtl IGlzIGRlcml2YXRlZCBmcm9tIFNreWxha2UgSDAgc28gbm8KICAgICAJCSAgVy9BcyBhcHBseSBo ZXJlLgogICAtIEd1QzogQSBmb2xsb3dpbmcgcGF0Y2ggcmVtb3ZlcyBLYWJ5bGFrZSBzdXBwb3J0 IHdpdGggYW4KICAgICAJICBleHBsYW5hdGlvbjogTm8gZmlybXdhcmUgYXZhaWxhYmxlIHlldC4K ICAgLSBETUMvQ1NSOiBEb25lIGluIGEgc2VwYXJhdGVkIHBhdGNoIHNpbmNlIHdlIG5lZWQgdG8g YmUgY2FyZWZ1bGwKICAgICAJICAgICAgYW5kIGxvYWQgdGhlIHZlcnNpb24gZm9yIHJldmlzaW9u IDcgc2luY2UKCSAgICAgIEthYnlsYWtlIGlzIFNreWxha2UgSDAuCgp2MjogcmVsYXRpdmUgY2xl YW5lciBjb21taXQgbWVzc2FnZSBhbmQgYWRkZWQgdGhlIG1pc3NlZAogICAgSVNfS0FCWUxBS0Ug dG8gaW50ZWxfaTJjLmMgYXMgcG9pbnRlZCBvdXQgYnkgSmFuaS4KCkNjOiBKYW5pIE5pa3VsYSA8 amFuaS5uaWt1bGFAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBSb2RyaWdvIFZpdmkgPHJvZHJp Z28udml2aUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2Zz LmMgICAgIHwgMTYgKysrKysrKy0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RtYS5j ICAgICAgICAgfCAgMyArKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgICAgICAg ICB8IDQ0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLQogZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaCAgICAgICAgIHwgIDYgKysrLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX3N0b2xlbi5jICB8ICAzICsrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf YXVkaW8uYyAgICAgIHwgIDkgKysrKy0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRp LmMgICAgICAgIHwgMTYgKysrKysrLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k aXNwbGF5LmMgICAgfCAxMiArKysrLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rw LmMgICAgICAgICB8ICA2ICsrLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmMuYyAg ICAgICAgfCAgMyArKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2kyYy5jICAgICAgICB8 ICA0ICstLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbW9jcy5jICAgICAgIHwgIDIgKy0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgICAgICAgICB8IDExICsrKysrLS0tLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jIHwgIDIgKy0KIDE0IGZpbGVz IGNoYW5nZWQsIDkwIGluc2VydGlvbnMoKyksIDQ3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kZWJ1Z2ZzLmMKaW5kZXggZWNhOTRkMC4uNTEyNWFhNSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kZWJ1Z2ZzLmMKQEAgLTEyNTIsMTggKzEyNTIsMjEgQEAgc3RhdGljIGludCBpOTE1 X2ZyZXF1ZW5jeV9pbmZvKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdW51c2VkKQogCiAJCW1h eF9mcmVxID0gKElTX0JST1hUT04oZGV2KSA/IHJwX3N0YXRlX2NhcCA+PiAwIDoKIAkJCSAgICBy cF9zdGF0ZV9jYXAgPj4gMTYpICYgMHhmZjsKLQkJbWF4X2ZyZXEgKj0gKElTX1NLWUxBS0UoZGV2 KSA/IEdFTjlfRlJFUV9TQ0FMRVIgOiAxKTsKKwkJbWF4X2ZyZXEgKj0gKElTX1NLWUxBS0UoZGV2 KSB8fCBJU19LQUJZTEFLRShkZXYpID8KKwkJCSAgICAgR0VOOV9GUkVRX1NDQUxFUiA6IDEpOwog CQlzZXFfcHJpbnRmKG0sICJMb3dlc3QgKFJQTikgZnJlcXVlbmN5OiAlZE1IelxuIiwKIAkJCSAg IGludGVsX2dwdV9mcmVxKGRldl9wcml2LCBtYXhfZnJlcSkpOwogCiAJCW1heF9mcmVxID0gKHJw X3N0YXRlX2NhcCAmIDB4ZmYwMCkgPj4gODsKLQkJbWF4X2ZyZXEgKj0gKElTX1NLWUxBS0UoZGV2 KSA/IEdFTjlfRlJFUV9TQ0FMRVIgOiAxKTsKKwkJbWF4X2ZyZXEgKj0gKElTX1NLWUxBS0UoZGV2 KSB8fCBJU19LQUJZTEFLRShkZXYpID8KKwkJCSAgICAgR0VOOV9GUkVRX1NDQUxFUiA6IDEpOwog CQlzZXFfcHJpbnRmKG0sICJOb21pbmFsIChSUDEpIGZyZXF1ZW5jeTogJWRNSHpcbiIsCiAJCQkg ICBpbnRlbF9ncHVfZnJlcShkZXZfcHJpdiwgbWF4X2ZyZXEpKTsKIAogCQltYXhfZnJlcSA9IChJ U19CUk9YVE9OKGRldikgPyBycF9zdGF0ZV9jYXAgPj4gMTYgOgogCQkJICAgIHJwX3N0YXRlX2Nh cCA+PiAwKSAmIDB4ZmY7Ci0JCW1heF9mcmVxICo9IChJU19TS1lMQUtFKGRldikgPyBHRU45X0ZS RVFfU0NBTEVSIDogMSk7CisJCW1heF9mcmVxICo9IChJU19TS1lMQUtFKGRldikgfHwgSVNfS0FC WUxBS0UoZGV2KSA/CisJCQkgICAgIEdFTjlfRlJFUV9TQ0FMRVIgOiAxKTsKIAkJc2VxX3ByaW50 ZihtLCAiTWF4IG5vbi1vdmVyY2xvY2tlZCAoUlAwKSBmcmVxdWVuY3k6ICVkTUh6XG4iLAogCQkJ ICAgaW50ZWxfZ3B1X2ZyZXEoZGV2X3ByaXYsIG1heF9mcmVxKSk7CiAJCXNlcV9wcmludGYobSwg Ik1heCBvdmVyY2xvY2tlZCBmcmVxdWVuY3k6ICVkTUh6XG4iLApAQCAtMTgwMSw3ICsxODA0LDcg QEAgc3RhdGljIGludCBpOTE1X3JpbmdfZnJlcV90YWJsZShzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZv aWQgKnVudXNlZCkKIAlpZiAocmV0KQogCQlnb3RvIG91dDsKIAotCWlmIChJU19TS1lMQUtFKGRl dikpIHsKKwlpZiAoSVNfU0tZTEFLRShkZXYpIHx8IElTX0tBQllMQUtFKGRldikpIHsKIAkJLyog Q29udmVydCBHVCBmcmVxdWVuY3kgdG8gNTAgSFogdW5pdHMgKi8KIAkJbWluX2dwdV9mcmVxID0K IAkJCWRldl9wcml2LT5ycHMubWluX2ZyZXFfc29mdGxpbWl0IC8gR0VOOV9GUkVRX1NDQUxFUjsK QEAgLTE4MjEsNyArMTgyNCw4IEBAIHN0YXRpYyBpbnQgaTkxNV9yaW5nX2ZyZXFfdGFibGUoc3Ry dWN0IHNlcV9maWxlICptLCB2b2lkICp1bnVzZWQpCiAJCQkJICAgICAgICZpYV9mcmVxKTsKIAkJ c2VxX3ByaW50ZihtLCAiJWRcdFx0JWRcdFx0XHRcdCVkXG4iLAogCQkJICAgaW50ZWxfZ3B1X2Zy ZXEoZGV2X3ByaXYsIChncHVfZnJlcSAqCi0JCQkJKElTX1NLWUxBS0UoZGV2KSA/IEdFTjlfRlJF UV9TQ0FMRVIgOiAxKSkpLAorCQkJCShJU19TS1lMQUtFKGRldikgfHwgSVNfS0FCWUxBS0UoZGV2 KSA/CisJCQkJIEdFTjlfRlJFUV9TQ0FMRVIgOiAxKSkpLAogCQkJICAgKChpYV9mcmVxID4+IDAp ICYgMHhmZikgKiAxMDAsCiAJCQkgICAoKGlhX2ZyZXEgPj4gOCkgJiAweGZmKSAqIDEwMCk7CiAJ fQpAQCAtNTAyOSw3ICs1MDMzLDcgQEAgc3RhdGljIHZvaWQgZ2VuOV9zc2V1X2RldmljZV9zdGF0 dXMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAogCQlzdGF0LT5zbGljZV90b3RhbCsrOwogCi0J CWlmIChJU19TS1lMQUtFKGRldikpCisJCWlmIChJU19TS1lMQUtFKGRldikgfHwgSVNfS0FCWUxB S0UoZGV2KSkKIAkJCXNzX2NudCA9IElOVEVMX0lORk8oZGV2KS0+c3Vic2xpY2VfcGVyX3NsaWNl OwogCiAJCWZvciAoc3MgPSAwOyBzcyA8IHNzX21heDsgc3MrKykgewpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kbWEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZG1hLmMKaW5kZXggMjMzNmFmOS4uZGRkMWQ0NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kbWEuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RtYS5jCkBA IC02NjgsNyArNjY4LDggQEAgc3RhdGljIHZvaWQgZ2VuOV9zc2V1X2luZm9faW5pdChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KQogCSAqIHN1cHBvcnRzIEVVIHBvd2VyIGdhdGluZyBvbiBkZXZpY2Vz IHdpdGggbW9yZSB0aGFuIG9uZSBFVQogCSAqIHBhaXIgcGVyIHN1YnNsaWNlLgogCSovCi0JaW5m by0+aGFzX3NsaWNlX3BnID0gKElTX1NLWUxBS0UoZGV2KSAmJiAoaW5mby0+c2xpY2VfdG90YWwg PiAxKSk7CisJaW5mby0+aGFzX3NsaWNlX3BnID0gKChJU19TS1lMQUtFKGRldikgfHwgSVNfS0FC WUxBS0UoZGV2KSkgJiYKKwkJCSAgICAgICAoaW5mby0+c2xpY2VfdG90YWwgPiAxKSk7CiAJaW5m by0+aGFzX3N1YnNsaWNlX3BnID0gKElTX0JST1hUT04oZGV2KSAmJiAoaW5mby0+c3Vic2xpY2Vf dG90YWwgPiAxKSk7CiAJaW5mby0+aGFzX2V1X3BnID0gKGluZm8tPmV1X3Blcl9zdWJzbGljZSA+ IDIpOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKaW5kZXggNzBmOWQzZC4uYzllODBmYiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5jCkBAIC0zOTUsNiArMzk1LDM2IEBAIHN0YXRpYyBjb25zdCBz dHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gaW50ZWxfYnJveHRvbl9pbmZvID0gewogCUlWQl9DVVJT T1JfT0ZGU0VUUywKIH07CiAKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8g aW50ZWxfa2FieWxha2VfaW5mbyA9IHsKKwkuaXNfcHJlbGltaW5hcnkgPSAxLAorCS5pc19rYWJ5 bGFrZSA9IDEsCisJLmdlbiA9IDksCisJLm51bV9waXBlcyA9IDMsCisJLm5lZWRfZ2Z4X2h3cyA9 IDEsIC5oYXNfaG90cGx1ZyA9IDEsCisJLnJpbmdfbWFzayA9IFJFTkRFUl9SSU5HIHwgQlNEX1JJ TkcgfCBCTFRfUklORyB8IFZFQk9YX1JJTkcsCisJLmhhc19sbGMgPSAxLAorCS5oYXNfZGRpID0g MSwKKwkuaGFzX2ZwZ2FfZGJnID0gMSwKKwkuaGFzX2ZiYyA9IDEsCisJR0VOX0RFRkFVTFRfUElQ RU9GRlNFVFMsCisJSVZCX0NVUlNPUl9PRkZTRVRTLAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVj dCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF9rYWJ5bGFrZV9ndDNfaW5mbyA9IHsKKwkuaXNfcHJl bGltaW5hcnkgPSAxLAorCS5pc19rYWJ5bGFrZSA9IDEsCisJLmdlbiA9IDksCisJLm51bV9waXBl cyA9IDMsCisJLm5lZWRfZ2Z4X2h3cyA9IDEsIC5oYXNfaG90cGx1ZyA9IDEsCisJLnJpbmdfbWFz ayA9IFJFTkRFUl9SSU5HIHwgQlNEX1JJTkcgfCBCTFRfUklORyB8IFZFQk9YX1JJTkcgfCBCU0Qy X1JJTkcsCisJLmhhc19sbGMgPSAxLAorCS5oYXNfZGRpID0gMSwKKwkuaGFzX2ZwZ2FfZGJnID0g MSwKKwkuaGFzX2ZiYyA9IDEsCisJR0VOX0RFRkFVTFRfUElQRU9GRlNFVFMsCisJSVZCX0NVUlNP Ul9PRkZTRVRTLAorfTsKKwogLyoKICAqIE1ha2Ugc3VyZSBhbnkgZGV2aWNlIG1hdGNoZXMgaGVy ZSBhcmUgZnJvbSBtb3N0IHNwZWNpZmljIHRvIG1vc3QKICAqIGdlbmVyYWwuICBGb3IgZXhhbXBs ZSwgc2luY2UgdGhlIFF1YW50YSBtYXRjaCBpcyBiYXNlZCBvbiB0aGUgc3Vic3lzdGVtCkBAIC00 NjQsNyArNDk0LDcgQEAgc3RhdGljIGVudW0gaW50ZWxfcGNoIGludGVsX3ZpcnRfZGV0ZWN0X3Bj aChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCX0gZWxzZSBpZiAoSVNfSEFTV0VMTChkZXYpIHx8 IElTX0JST0FEV0VMTChkZXYpKSB7CiAJCXJldCA9IFBDSF9MUFQ7CiAJCURSTV9ERUJVR19LTVMo IkFzc3VtaW5nIEx5bnhQb2ludCBQQ0hcbiIpOwotCX0gZWxzZSBpZiAoSVNfU0tZTEFLRShkZXYp KSB7CisJfSBlbHNlIGlmIChJU19TS1lMQUtFKGRldikgfHwgSVNfS0FCWUxBS0UoZGV2KSkgewog CQlyZXQgPSBQQ0hfU1BUOwogCQlEUk1fREVCVUdfS01TKCJBc3N1bWluZyBTdW5yaXNlUG9pbnQg UENIXG4iKTsKIAl9CkBAIC01MjcsMTEgKzU1NywxMyBAQCB2b2lkIGludGVsX2RldGVjdF9wY2go c3RydWN0IGRybV9kZXZpY2UgKmRldikKIAkJCX0gZWxzZSBpZiAoaWQgPT0gSU5URUxfUENIX1NQ VF9ERVZJQ0VfSURfVFlQRSkgewogCQkJCWRldl9wcml2LT5wY2hfdHlwZSA9IFBDSF9TUFQ7CiAJ CQkJRFJNX0RFQlVHX0tNUygiRm91bmQgU3VucmlzZVBvaW50IFBDSFxuIik7Ci0JCQkJV0FSTl9P TighSVNfU0tZTEFLRShkZXYpKTsKKwkJCQlXQVJOX09OKCFJU19TS1lMQUtFKGRldikgJiYKKwkJ CQkJIUlTX0tBQllMQUtFKGRldikpOwogCQkJfSBlbHNlIGlmIChpZCA9PSBJTlRFTF9QQ0hfU1BU X0xQX0RFVklDRV9JRF9UWVBFKSB7CiAJCQkJZGV2X3ByaXYtPnBjaF90eXBlID0gUENIX1NQVDsK IAkJCQlEUk1fREVCVUdfS01TKCJGb3VuZCBTdW5yaXNlUG9pbnQgTFAgUENIXG4iKTsKLQkJCQlX QVJOX09OKCFJU19TS1lMQUtFKGRldikpOworCQkJCVdBUk5fT04oIUlTX1NLWUxBS0UoZGV2KSAm JgorCQkJCQkhSVNfS0FCWUxBS0UoZGV2KSk7CiAJCQl9IGVsc2UgaWYgKGlkID09IElOVEVMX1BD SF9QMlhfREVWSUNFX0lEX1RZUEUpIHsKIAkJCQlkZXZfcHJpdi0+cGNoX3R5cGUgPSBpbnRlbF92 aXJ0X2RldGVjdF9wY2goZGV2KTsKIAkJCX0gZWxzZQpAQCAtODM5LDcgKzg3MSw3IEBAIHN0YXRp YyBpbnQgaTkxNV9kcm1fcmVzdW1lX2Vhcmx5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAKIAlp ZiAoSVNfQlJPWFRPTihkZXYpKQogCQlyZXQgPSBieHRfcmVzdW1lX3ByZXBhcmUoZGV2X3ByaXYp OwotCWVsc2UgaWYgKElTX1NLWUxBS0UoZGV2X3ByaXYpKQorCWVsc2UgaWYgKElTX1NLWUxBS0Uo ZGV2X3ByaXYpIHx8IElTX0tBQllMQUtFKGRldl9wcml2KSkKIAkJcmV0ID0gc2tsX3Jlc3VtZV9w cmVwYXJlKGRldl9wcml2KTsKIAllbHNlIGlmIChJU19IQVNXRUxMKGRldl9wcml2KSB8fCBJU19C Uk9BRFdFTEwoZGV2X3ByaXYpKQogCQloc3dfZGlzYWJsZV9wYzgoZGV2X3ByaXYpOwpAQCAtMTU4 Niw3ICsxNjE4LDcgQEAgc3RhdGljIGludCBpbnRlbF9ydW50aW1lX3Jlc3VtZShzdHJ1Y3QgZGV2 aWNlICpkZXZpY2UpCiAKIAlpZiAoSVNfQlJPWFRPTihkZXYpKQogCQlyZXQgPSBieHRfcmVzdW1l X3ByZXBhcmUoZGV2X3ByaXYpOwotCWVsc2UgaWYgKElTX1NLWUxBS0UoZGV2KSkKKwllbHNlIGlm IChJU19TS1lMQUtFKGRldikgfHwgSVNfS0FCWUxBS0UoZGV2KSkKIAkJcmV0ID0gc2tsX3Jlc3Vt ZV9wcmVwYXJlKGRldl9wcml2KTsKIAllbHNlIGlmIChJU19IQVNXRUxMKGRldl9wcml2KSB8fCBJ U19CUk9BRFdFTEwoZGV2X3ByaXYpKQogCQloc3dfZGlzYWJsZV9wYzgoZGV2X3ByaXYpOwpAQCAt MTYzMCw3ICsxNjYyLDcgQEAgc3RhdGljIGludCBpbnRlbF9zdXNwZW5kX2NvbXBsZXRlKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAogCWlmIChJU19CUk9YVE9OKGRldl9wcml2 KSkKIAkJcmV0ID0gYnh0X3N1c3BlbmRfY29tcGxldGUoZGV2X3ByaXYpOwotCWVsc2UgaWYgKElT X1NLWUxBS0UoZGV2X3ByaXYpKQorCWVsc2UgaWYgKElTX1NLWUxBS0UoZGV2X3ByaXYpIHx8IElT X0tBQllMQUtFKGRldl9wcml2KSkKIAkJcmV0ID0gc2tsX3N1c3BlbmRfY29tcGxldGUoZGV2X3By aXYpOwogCWVsc2UgaWYgKElTX0hBU1dFTEwoZGV2X3ByaXYpIHx8IElTX0JST0FEV0VMTChkZXZf cHJpdikpCiAJCXJldCA9IGhzd19zdXNwZW5kX2NvbXBsZXRlKGRldl9wcml2KTsKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oCmluZGV4IDU2NWU2M2EuLjM5ODJkMWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaApAQCAtNzY2LDYgKzc2Niw3IEBAIHN0cnVjdCBpbnRlbF9jc3IgewogCWZ1bmMoaXNfaGFz d2VsbCkgc2VwIFwKIAlmdW5jKGlzX3NreWxha2UpIHNlcCBcCiAJZnVuYyhpc19icm94dG9uKSBz ZXAgXAorCWZ1bmMoaXNfa2FieWxha2UpIHNlcCBcCiAJZnVuYyhpc19wcmVsaW1pbmFyeSkgc2Vw IFwKIAlmdW5jKGhhc19mYmMpIHNlcCBcCiAJZnVuYyhoYXNfcGlwZV9jeHNyKSBzZXAgXApAQCAt MjQ3Nyw2ICsyNDc4LDcgQEAgc3RydWN0IGRybV9pOTE1X2NtZF90YWJsZSB7CiAjZGVmaW5lIElT X0JST0FEV0VMTChkZXYpCSghSU5URUxfSU5GTyhkZXYpLT5pc192YWxsZXl2aWV3ICYmIElTX0dF TjgoZGV2KSkKICNkZWZpbmUgSVNfU0tZTEFLRShkZXYpCShJTlRFTF9JTkZPKGRldiktPmlzX3Nr eWxha2UpCiAjZGVmaW5lIElTX0JST1hUT04oZGV2KQkJKElOVEVMX0lORk8oZGV2KS0+aXNfYnJv eHRvbikKKyNkZWZpbmUgSVNfS0FCWUxBS0UoZGV2KQkoSU5URUxfSU5GTyhkZXYpLT5pc19rYWJ5 bGFrZSkKICNkZWZpbmUgSVNfTU9CSUxFKGRldikJCShJTlRFTF9JTkZPKGRldiktPmlzX21vYmls ZSkKICNkZWZpbmUgSVNfSFNXX0VBUkxZX1NEVihkZXYpCShJU19IQVNXRUxMKGRldikgJiYgXAog CQkJCSAoSU5URUxfREVWSUQoZGV2KSAmIDB4RkYwMCkgPT0gMHgwQzAwKQpAQCAtMjU5NywxMCAr MjU5OSwxMCBAQCBzdHJ1Y3QgZHJtX2k5MTVfY21kX3RhYmxlIHsKICNkZWZpbmUgSEFTX0ZQR0Ff REJHX1VOQ0xBSU1FRChkZXYpCShJTlRFTF9JTkZPKGRldiktPmhhc19mcGdhX2RiZykKICNkZWZp bmUgSEFTX1BTUihkZXYpCQkoSVNfSEFTV0VMTChkZXYpIHx8IElTX0JST0FEV0VMTChkZXYpIHx8 IFwKIAkJCQkgSVNfVkFMTEVZVklFVyhkZXYpIHx8IElTX0NIRVJSWVZJRVcoZGV2KSB8fCBcCi0J CQkJIElTX1NLWUxBS0UoZGV2KSkKKwkJCQkgSVNfU0tZTEFLRShkZXYpIHx8IElTX0tBQllMQUtF KGRldikpCiAjZGVmaW5lIEhBU19SVU5USU1FX1BNKGRldikJKElTX0dFTjYoZGV2KSB8fCBJU19I QVNXRUxMKGRldikgfHwgXAogCQkJCSBJU19CUk9BRFdFTEwoZGV2KSB8fCBJU19WQUxMRVlWSUVX KGRldikgfHwgXAotCQkJCSBJU19TS1lMQUtFKGRldikpCisJCQkJIElTX1NLWUxBS0UoZGV2KSB8 fCBJU19LQUJZTEFLRShkZXYpKQogI2RlZmluZSBIQVNfUkM2KGRldikJCShJTlRFTF9JTkZPKGRl diktPmdlbiA+PSA2KQogI2RlZmluZSBIQVNfUkM2cChkZXYpCQkoSU5URUxfSU5GTyhkZXYpLT5n ZW4gPT0gNiB8fCBJU19JVllCUklER0UoZGV2KSkKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fc3RvbGVuLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bV9zdG9sZW4uYwppbmRleCBjZGFjZjNmLi41OThlZDJmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9zdG9sZW4uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9zdG9sZW4uYwpAQCAtNDMzLDcgKzQzMyw4IEBAIGludCBpOTE1X2dlbV9pbml0X3N0 b2xlbihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCQkJCQkgJnJlc2VydmVkX3NpemUpOwogCQli cmVhazsKIAlkZWZhdWx0OgotCQlpZiAoSVNfQlJPQURXRUxMKGRldl9wcml2KSB8fCBJU19TS1lM QUtFKGRldl9wcml2KSkKKwkJaWYgKElTX0JST0FEV0VMTChkZXZfcHJpdikgfHwKKwkJICAgIElT X1NLWUxBS0UoZGV2X3ByaXYpIHx8IElTX0tBQllMQUtFKGRldikpCiAJCQliZHdfZ2V0X3N0b2xl bl9yZXNlcnZlZChkZXZfcHJpdiwgJnJlc2VydmVkX2Jhc2UsCiAJCQkJCQkmcmVzZXJ2ZWRfc2l6 ZSk7CiAJCWVsc2UKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F1ZGlv LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdWRpby5jCmluZGV4IDRkY2NkOWIuLjYz ZDQ3MDYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F1ZGlvLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXVkaW8uYwpAQCAtNTkxLDcgKzU5MSw3IEBA IHN0YXRpYyB2b2lkIGk5MTVfYXVkaW9fY29tcG9uZW50X2NvZGVjX3dha2Vfb3ZlcnJpZGUoc3Ry dWN0IGRldmljZSAqZGV2LAogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRl dl90b19pOTE1KGRldik7CiAJdTMyIHRtcDsKIAotCWlmICghSVNfU0tZTEFLRShkZXZfcHJpdikp CisJaWYgKCFJU19TS1lMQUtFKGRldl9wcml2KSAmJiAhSVNfS0FCWUxBS0UoZGV2X3ByaXYpKQog CQlyZXR1cm47CiAKIAkvKgpAQCAtNjQyLDEwICs2NDIsMTEgQEAgc3RhdGljIGludCBpOTE1X2F1 ZGlvX2NvbXBvbmVudF9zeW5jX2F1ZGlvX3JhdGUoc3RydWN0IGRldmljZSAqZGV2LAogCXUzMiB0 bXA7CiAJaW50IG47CiAKLQkvKiBIU1csIEJEVyBTS0wgbmVlZCB0aGlzIGZpeCAqLworCS8qIEhT VywgQkRXLCBTS0wsIEtCTCBuZWVkIHRoaXMgZml4ICovCiAJaWYgKCFJU19TS1lMQUtFKGRldl9w cml2KSAmJgotCQkhSVNfQlJPQURXRUxMKGRldl9wcml2KSAmJgotCQkhSVNfSEFTV0VMTChkZXZf cHJpdikpCisJICAgICFJU19LQUJZTEFLRShkZXZfcHJpdikgJiYKKwkgICAgIUlTX0JST0FEV0VM TChkZXZfcHJpdikgJiYKKwkgICAgIUlTX0hBU1dFTEwoZGV2X3ByaXYpKQogCQlyZXR1cm4gMDsK IAogCW11dGV4X2xvY2soJmRldl9wcml2LT5hdl9tdXRleCk7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rk aS5jCmluZGV4IGExNjM3NDEuLjhkZDlmYWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RkaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCkBA IC00NDgsNyArNDQ4LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfcHJlcGFyZV9kZGlfYnVmZmVycyhz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBlbnVtIHBvcnQgcG9ydCwKIAkJYnh0X2RkaV92c3dpbmdf c2VxdWVuY2UoZGV2LCBoZG1pX2xldmVsLCBwb3J0LAogCQkJCQlJTlRFTF9PVVRQVVRfSERNSSk7 CiAJCXJldHVybjsKLQl9IGVsc2UgaWYgKElTX1NLWUxBS0UoZGV2KSkgeworCX0gZWxzZSBpZiAo SVNfU0tZTEFLRShkZXYpIHx8IElTX0tBQllMQUtFKGRldikpIHsKIAkJZGRpX3RyYW5zbGF0aW9u c19mZGkgPSBOVUxMOwogCQlkZGlfdHJhbnNsYXRpb25zX2RwID0KIAkJCQlza2xfZ2V0X2J1Zl90 cmFuc19kcChkZXYsICZuX2RwX2VudHJpZXMpOwpAQCAtMTE4NCw3ICsxMTg0LDcgQEAgdm9pZCBp bnRlbF9kZGlfY2xvY2tfZ2V0KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCiAJaWYg KElOVEVMX0lORk8oZGV2KS0+Z2VuIDw9IDgpCiAJCWhzd19kZGlfY2xvY2tfZ2V0KGVuY29kZXIs IHBpcGVfY29uZmlnKTsKLQllbHNlIGlmIChJU19TS1lMQUtFKGRldikpCisJZWxzZSBpZiAoSVNf U0tZTEFLRShkZXYpIHx8IElTX0tBQllMQUtFKGRldikpCiAJCXNrbF9kZGlfY2xvY2tfZ2V0KGVu Y29kZXIsIHBpcGVfY29uZmlnKTsKIAllbHNlIGlmIChJU19CUk9YVE9OKGRldikpCiAJCWJ4dF9k ZGlfY2xvY2tfZ2V0KGVuY29kZXIsIHBpcGVfY29uZmlnKTsKQEAgLTE3NjgsNyArMTc2OCw3IEBA IGJvb2wgaW50ZWxfZGRpX3BsbF9zZWxlY3Qoc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMs CiAJc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIgPQogCQlpbnRlbF9kZGlfZ2V0 X2NydGNfbmV3X2VuY29kZXIoY3J0Y19zdGF0ZSk7CiAKLQlpZiAoSVNfU0tZTEFLRShkZXYpKQor CWlmIChJU19TS1lMQUtFKGRldikgfHwgSVNfS0FCWUxBS0UoZGV2KSkKIAkJcmV0dXJuIHNrbF9k ZGlfcGxsX3NlbGVjdChpbnRlbF9jcnRjLCBjcnRjX3N0YXRlLAogCQkJCQkgIGludGVsX2VuY29k ZXIpOwogCWVsc2UgaWYgKElTX0JST1hUT04oZGV2KSkKQEAgLTIyNTEsNyArMjI1MSw3IEBAIHVp bnQzMl90IGRkaV9zaWduYWxfbGV2ZWxzKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAKIAls ZXZlbCA9IHRyYW5zbGF0ZV9zaWduYWxfbGV2ZWwoc2lnbmFsX2xldmVscyk7CiAKLQlpZiAoSVNf U0tZTEFLRShkZXYpKQorCWlmIChJU19TS1lMQUtFKGRldikgfHwgSVNfS0FCWUxBS0UoZGV2KSkK IAkJc2tsX2RkaV9zZXRfaWJvb3N0KGRldiwgbGV2ZWwsIHBvcnQsIGVuY29kZXItPnR5cGUpOwog CWVsc2UgaWYgKElTX0JST1hUT04oZGV2KSkKIAkJYnh0X2RkaV92c3dpbmdfc2VxdWVuY2UoZGV2 LCBsZXZlbCwgcG9ydCwgZW5jb2Rlci0+dHlwZSk7CkBAIC0yMjc0LDcgKzIyNzQsNyBAQCBzdGF0 aWMgdm9pZCBpbnRlbF9kZGlfcHJlX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxf ZW5jb2RlcikKIAkJaW50ZWxfZWRwX3BhbmVsX29uKGludGVsX2RwKTsKIAl9CiAKLQlpZiAoSVNf U0tZTEFLRShkZXYpKSB7CisJaWYgKElTX1NLWUxBS0UoZGV2KSB8fCBJU19LQUJZTEFLRShkZXYp KSB7CiAJCXVpbnQzMl90IGRwbGwgPSBjcnRjLT5jb25maWctPmRkaV9wbGxfc2VsOwogCQl1aW50 MzJfdCB2YWw7CiAKQEAgLTIzNjksNyArMjM2OSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2RkaV9w b3N0X2Rpc2FibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIpCiAJCWludGVs X2VkcF9wYW5lbF9vZmYoaW50ZWxfZHApOwogCX0KIAotCWlmIChJU19TS1lMQUtFKGRldikpCisJ aWYgKElTX1NLWUxBS0UoZGV2KSB8fCBJU19LQUJZTEFLRShkZXYpKQogCQlJOTE1X1dSSVRFKERQ TExfQ1RSTDIsIChJOTE1X1JFQUQoRFBMTF9DVFJMMikgfAogCQkJCQlEUExMX0NUUkwyX0RESV9D TEtfT0ZGKHBvcnQpKSk7CiAJZWxzZSBpZiAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPCA5KQpAQCAt MjkzNywxNCArMjkzNywxNCBAQCB2b2lkIGludGVsX2RkaV9wbGxfaW5pdChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KQogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2 X3ByaXZhdGU7CiAJdWludDMyX3QgdmFsID0gSTkxNV9SRUFEKExDUExMX0NUTCk7CiAKLQlpZiAo SVNfU0tZTEFLRShkZXYpKQorCWlmIChJU19TS1lMQUtFKGRldikgfHwgSVNfS0FCWUxBS0UoZGV2 KSkKIAkJc2tsX3NoYXJlZF9kcGxsc19pbml0KGRldl9wcml2KTsKIAllbHNlIGlmIChJU19CUk9Y VE9OKGRldikpCiAJCWJ4dF9zaGFyZWRfZHBsbHNfaW5pdChkZXZfcHJpdik7CiAJZWxzZQogCQlo c3dfc2hhcmVkX2RwbGxzX2luaXQoZGV2X3ByaXYpOwogCi0JaWYgKElTX1NLWUxBS0UoZGV2KSkg eworCWlmIChJU19TS1lMQUtFKGRldikgfHwgSVNfS0FCWUxBS0UoZGV2KSkgewogCQlpbnQgY2Rj bGtfZnJlcTsKIAogCQljZGNsa19mcmVxID0gZGV2X3ByaXYtPmRpc3BsYXkuZ2V0X2Rpc3BsYXlf Y2xvY2tfc3BlZWQoZGV2KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRleCAz MzkwZmNjLi5mMTliMzA2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k aXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC01 MzAxLDcgKzUzMDEsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF91cGRhdGVfbWF4X2NkY2xrKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAotCWlmIChJU19TS1lMQUtFKGRldikpIHsKKwlpZiAoSVNf U0tZTEFLRShkZXYpIHx8IElTX0tBQllMQUtFKGRldikpIHsKIAkJdTMyIGxpbWl0ID0gSTkxNV9S RUFEKFNLTF9ERlNNKSAmIFNLTF9ERlNNX0NEQ0xLX0xJTUlUX01BU0s7CiAKIAkJaWYgKGxpbWl0 ID09IFNLTF9ERlNNX0NEQ0xLX0xJTUlUXzY3NSkKQEAgLTk3NDcsNyArOTc0Nyw3IEBAIHN0YXRp YyB2b2lkIGhhc3dlbGxfZ2V0X2RkaV9wb3J0X3N0YXRlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRj LAogCiAJcG9ydCA9ICh0bXAgJiBUUkFOU19ERElfUE9SVF9NQVNLKSA+PiBUUkFOU19ERElfUE9S VF9TSElGVDsKIAotCWlmIChJU19TS1lMQUtFKGRldikpCisJaWYgKElTX1NLWUxBS0UoZGV2KSB8 fCBJU19LQUJZTEFLRShkZXYpKQogCQlza3lsYWtlX2dldF9kZGlfcGxsKGRldl9wcml2LCBwb3J0 LCBwaXBlX2NvbmZpZyk7CiAJZWxzZSBpZiAoSVNfQlJPWFRPTihkZXYpKQogCQlieHRfZ2V0X2Rk aV9wbGwoZGV2X3ByaXYsIHBvcnQsIHBpcGVfY29uZmlnKTsKQEAgLTEyMDMxLDcgKzEyMDMxLDcg QEAgc3RhdGljIHZvaWQgaW50ZWxfZHVtcF9waXBlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0YyAq Y3J0YywKIAkJCSAgICAgIHBpcGVfY29uZmlnLT5kcGxsX2h3X3N0YXRlLnBsbDksCiAJCQkgICAg ICBwaXBlX2NvbmZpZy0+ZHBsbF9od19zdGF0ZS5wbGwxMCwKIAkJCSAgICAgIHBpcGVfY29uZmln LT5kcGxsX2h3X3N0YXRlLnBjc2R3MTIpOwotCX0gZWxzZSBpZiAoSVNfU0tZTEFLRShkZXYpKSB7 CisJfSBlbHNlIGlmIChJU19TS1lMQUtFKGRldikgfHwgSVNfS0FCWUxBS0UoZGV2KSkgewogCQlE Uk1fREVCVUdfS01TKCJkZGlfcGxsX3NlbDogJXU7IGRwbGxfaHdfc3RhdGU6ICIKIAkJCSAgICAg ICJjdHJsMTogMHgleCwgY2ZnY3IxOiAweCV4LCBjZmdjcjI6IDB4JXhcbiIsCiAJCQkgICAgICBw aXBlX2NvbmZpZy0+ZGRpX3BsbF9zZWwsCkBAIC0xNDA5MCw3ICsxNDA5MCw3IEBAIHN0YXRpYyB2 b2lkIGludGVsX3NldHVwX291dHB1dHMoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAkJICovCiAJ CWZvdW5kID0gSTkxNV9SRUFEKERESV9CVUZfQ1RMKFBPUlRfQSkpICYgRERJX0lOSVRfRElTUExB WV9ERVRFQ1RFRDsKIAkJLyogV2FJZ25vcmVERElBU3RyYXA6IHNrbCAqLwotCQlpZiAoZm91bmQg fHwgSVNfU0tZTEFLRShkZXYpKQorCQlpZiAoZm91bmQgfHwgSVNfU0tZTEFLRShkZXYpIHx8IElT X0tBQllMQUtFKGRldikpCiAJCQlpbnRlbF9kZGlfaW5pdChkZXYsIFBPUlRfQSk7CiAKIAkJLyog RERJIEIsIEMgYW5kIEQgZGV0ZWN0aW9uIGlzIGluZGljYXRlZCBieSB0aGUgU0ZVU0VfU1RSQVAK QEAgLTE0MTA2LDcgKzE0MTA2LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfc2V0dXBfb3V0cHV0cyhz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCQkvKgogCQkgKiBPbiBTS0wgd2UgZG9uJ3QgaGF2ZSBh IHdheSB0byBkZXRlY3QgRERJLUUgc28gd2UgcmVseSBvbiBWQlQuCiAJCSAqLwotCQlpZiAoSVNf U0tZTEFLRShkZXYpICYmCisJCWlmICgoSVNfU0tZTEFLRShkZXYpIHx8IElTX0tBQllMQUtFKGRl dikpICYmCiAJCSAgICAoZGV2X3ByaXYtPnZidC5kZGlfcG9ydF9pbmZvW1BPUlRfRV0uc3VwcG9y dHNfZHAgfHwKIAkJICAgICBkZXZfcHJpdi0+dmJ0LmRkaV9wb3J0X2luZm9bUE9SVF9FXS5zdXBw b3J0c19kdmkgfHwKIAkJICAgICBkZXZfcHJpdi0+dmJ0LmRkaV9wb3J0X2luZm9bUE9SVF9FXS5z dXBwb3J0c19oZG1pKSkKQEAgLTE0NTUxLDcgKzE0NTUxLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxf aW5pdF9kaXNwbGF5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJfQogCiAJLyogUmV0dXJucyB0 aGUgY29yZSBkaXNwbGF5IGNsb2NrIHNwZWVkICovCi0JaWYgKElTX1NLWUxBS0UoZGV2KSkKKwlp ZiAoSVNfU0tZTEFLRShkZXYpIHx8IElTX0tBQllMQUtFKGRldikpCiAJCWRldl9wcml2LT5kaXNw bGF5LmdldF9kaXNwbGF5X2Nsb2NrX3NwZWVkID0KIAkJCXNreWxha2VfZ2V0X2Rpc3BsYXlfY2xv Y2tfc3BlZWQ7CiAJZWxzZSBpZiAoSVNfQlJPWFRPTihkZXYpKQpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rw LmMKaW5kZXggODI4N2RmNC4uMWNiMWYzZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCkBAIC0x MDIzLDcgKzEwMjMsNyBAQCBpbnRlbF9kcF9hdXhfaW5pdChzdHJ1Y3QgaW50ZWxfZHAgKmludGVs X2RwLCBzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCiAJLyogT24gU0tMIHdlIGRv bid0IGhhdmUgQXV4IGZvciBwb3J0IEUgc28gd2UgcmVseSBvbiBWQlQgdG8gc2V0CiAJICogYSBw cm9wZXIgYWx0ZXJuYXRlIGF1eCBjaGFubmVsLgogCSAqLwotCWlmIChJU19TS1lMQUtFKGRldikg JiYgcG9ydCA9PSBQT1JUX0UpIHsKKwlpZiAoKElTX1NLWUxBS0UoZGV2KSB8fCBJU19LQUJZTEFL RShkZXYpKSAmJiBwb3J0ID09IFBPUlRfRSkgewogCQlzd2l0Y2ggKGluZm8tPmFsdGVybmF0ZV9h dXhfY2hhbm5lbCkgewogCQljYXNlIERQX0FVWF9COgogCQkJcG9ydGVfYXV4X2N0bF9yZWcgPSBE UEJfQVVYX0NIX0NUTDsKQEAgLTEyMTAsNyArMTIxMCw3IEBAIGludGVsX2RwX3NvdXJjZV9yYXRl cyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBjb25zdCBpbnQgKipzb3VyY2VfcmF0ZXMpCiAJaWYg KElTX0JST1hUT04oZGV2KSkgewogCQkqc291cmNlX3JhdGVzID0gYnh0X3JhdGVzOwogCQlzaXpl ID0gQVJSQVlfU0laRShieHRfcmF0ZXMpOwotCX0gZWxzZSBpZiAoSVNfU0tZTEFLRShkZXYpKSB7 CisJfSBlbHNlIGlmIChJU19TS1lMQUtFKGRldikgfHwgSVNfS0FCWUxBS0UoZGV2KSkgewogCQkq c291cmNlX3JhdGVzID0gc2tsX3JhdGVzOwogCQlzaXplID0gQVJSQVlfU0laRShza2xfcmF0ZXMp OwogCX0gZWxzZSB7CkBAIC0xNTMwLDcgKzE1MzAsNyBAQCBmb3VuZDoKIAkJCQkmcGlwZV9jb25m aWctPmRwX20yX24yKTsKIAl9CiAKLQlpZiAoSVNfU0tZTEFLRShkZXYpICYmIGlzX2VkcChpbnRl bF9kcCkpCisJaWYgKChJU19TS1lMQUtFKGRldikgIHx8IElTX0tBQllMQUtFKGRldikpICYmIGlz X2VkcChpbnRlbF9kcCkpCiAJCXNrbF9lZHBfc2V0X3BsbF9jb25maWcocGlwZV9jb25maWcpOwog CWVsc2UgaWYgKElTX0JST1hUT04oZGV2KSkKIAkJLyogaGFuZGxlZCBpbiBkZGkgKi87CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmMuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2ZiYy5jCmluZGV4IGNmNDczNTIuLmZkYTVmYzUgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2ZiYy5jCkBAIC01ODEsNyArNTgxLDggQEAgc3RhdGljIGludCBmaW5kX2NvbXByZXNz aW9uX3RocmVzaG9sZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJICogcmVz ZXJ2ZWQgcmFuZ2Ugc2l6ZSwgc28gaXQgYWx3YXlzIGFzc3VtZXMgdGhlIG1heGltdW0gKDhtYikg aXMgdXNlZC4KIAkgKiBJZiB3ZSBlbmFibGUgRkJDIHVzaW5nIGEgQ0ZCIG9uIHRoYXQgbWVtb3J5 IHJhbmdlIHdlJ2xsIGdldCBGSUZPCiAJICogdW5kZXJydW5zLCBldmVuIGlmIHRoYXQgcmFuZ2Ug aXMgbm90IHJlc2VydmVkIGJ5IHRoZSBCSU9TLiAqLwotCWlmIChJU19CUk9BRFdFTEwoZGV2X3By aXYpIHx8IElTX1NLWUxBS0UoZGV2X3ByaXYpKQorCWlmIChJU19CUk9BRFdFTEwoZGV2X3ByaXYp IHx8CisJICAgIElTX1NLWUxBS0UoZGV2X3ByaXYpIHx8IElTX0tBQllMQUtFKGRldl9wcml2KSkK IAkJZW5kID0gZGV2X3ByaXYtPmd0dC5zdG9sZW5fc2l6ZSAtIDggKiAxMDI0ICogMTAyNDsKIAll bHNlCiAJCWVuZCA9IGRldl9wcml2LT5ndHQuc3RvbGVuX3VzYWJsZV9zaXplOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaTJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9pMmMuYwppbmRleCAxMzY5ZmM0Li5iZDU4ZGEwIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9pMmMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9pMmMuYwpAQCAtNzQsNyArNzQsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGdtYnVzX3BpbiAq Z2V0X2dtYnVzX3BpbihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiB7CiAJaWYg KElTX0JST1hUT04oZGV2X3ByaXYpKQogCQlyZXR1cm4gJmdtYnVzX3BpbnNfYnh0W3Bpbl07Ci0J ZWxzZSBpZiAoSVNfU0tZTEFLRShkZXZfcHJpdikpCisJZWxzZSBpZiAoSVNfU0tZTEFLRShkZXZf cHJpdikgfHwgSVNfS0FCWUxBS0UoZGV2X3ByaXYpKQogCQlyZXR1cm4gJmdtYnVzX3BpbnNfc2ts W3Bpbl07CiAJZWxzZSBpZiAoSVNfQlJPQURXRUxMKGRldl9wcml2KSkKIAkJcmV0dXJuICZnbWJ1 c19waW5zX2Jkd1twaW5dOwpAQCAtODksNyArODksNyBAQCBib29sIGludGVsX2dtYnVzX2lzX3Zh bGlkX3BpbihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAKIAlpZiAoSVNfQlJP WFRPTihkZXZfcHJpdikpCiAJCXNpemUgPSBBUlJBWV9TSVpFKGdtYnVzX3BpbnNfYnh0KTsKLQll bHNlIGlmIChJU19TS1lMQUtFKGRldl9wcml2KSkKKwllbHNlIGlmIChJU19TS1lMQUtFKGRldl9w cml2KSB8fCBJU19LQUJZTEFLRShkZXZfcHJpdikpCiAJCXNpemUgPSBBUlJBWV9TSVpFKGdtYnVz X3BpbnNfc2tsKTsKIAllbHNlIGlmIChJU19CUk9BRFdFTEwoZGV2X3ByaXYpKQogCQlzaXplID0g QVJSQVlfU0laRShnbWJ1c19waW5zX2Jkdyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9tb2NzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9tb2NzLmMKaW5k ZXggNmQzYzZjMC4uYjI1OGEyYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfbW9jcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX21vY3MuYwpAQCAtMTQz LDcgKzE0Myw3IEBAIHN0YXRpYyBib29sIGdldF9tb2NzX3NldHRpbmdzKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCiB7CiAJYm9vbCByZXN1bHQgPSBmYWxzZTsKIAotCWlmIChJU19TS1lMQUtFKGRl dikpIHsKKwlpZiAoSVNfU0tZTEFLRShkZXYpIHx8IElTX0tBQllMQUtFKGRldikpIHsKIAkJdGFi bGUtPnNpemUgID0gQVJSQVlfU0laRShza3lsYWtlX21vY3NfdGFibGUpOwogCQl0YWJsZS0+dGFi bGUgPSBza3lsYWtlX21vY3NfdGFibGU7CiAJCXJlc3VsdCA9IHRydWU7CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcG0uYwppbmRleCA3YjExMGNkLi5kZDYzYmJhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9wbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMK QEAgLTQ1NjcsNyArNDU2Nyw4IEBAIHN0YXRpYyB2b2lkIGdlbjZfaW5pdF9ycHNfZnJlcXVlbmNp ZXMoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAlkZXZfcHJpdi0+cnBzLm1heF9mcmVxCQk9IGRl dl9wcml2LT5ycHMucnAwX2ZyZXE7CiAKIAlkZXZfcHJpdi0+cnBzLmVmZmljaWVudF9mcmVxID0g ZGV2X3ByaXYtPnJwcy5ycDFfZnJlcTsKLQlpZiAoSVNfSEFTV0VMTChkZXYpIHx8IElTX0JST0FE V0VMTChkZXYpIHx8IElTX1NLWUxBS0UoZGV2KSkgeworCWlmIChJU19IQVNXRUxMKGRldikgfHwg SVNfQlJPQURXRUxMKGRldikgfHwKKwkgICAgSVNfU0tZTEFLRShkZXYpIHx8IElTX0tBQllMQUtF KGRldikpIHsKIAkJcmV0ID0gc2FuZHlicmlkZ2VfcGNvZGVfcmVhZChkZXZfcHJpdiwKIAkJCQkJ SFNXX1BDT0RFX0RZTkFNSUNfRFVUWV9DWUNMRV9DT05UUk9MLAogCQkJCQkmZGRjY19zdGF0dXMp OwpAQCAtNDU3OSw3ICs0NTgwLDcgQEAgc3RhdGljIHZvaWQgZ2VuNl9pbml0X3Jwc19mcmVxdWVu Y2llcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCQkJCQlkZXZfcHJpdi0+cnBzLm1heF9mcmVx KTsKIAl9CiAKLQlpZiAoSVNfU0tZTEFLRShkZXYpKSB7CisJaWYgKElTX1NLWUxBS0UoZGV2KSB8 fCBJU19LQUJZTEFLRShkZXYpKSB7CiAJCS8qIFN0b3JlIHRoZSBmcmVxdWVuY3kgdmFsdWVzIGlu IDE2LjY2IE1IWiB1bml0cywgd2hpY2ggaXMKIAkJICAgdGhlIG5hdHVyYWwgaGFyZHdhcmUgdW5p dCBmb3IgU0tMICovCiAJCWRldl9wcml2LT5ycHMucnAwX2ZyZXEgKj0gR0VOOV9GUkVRX1NDQUxF UjsKQEAgLTQ5MzUsNyArNDkzNiw3IEBAIHN0YXRpYyB2b2lkIF9fZ2VuNl91cGRhdGVfcmluZ19m cmVxKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJLyogY29udmVydCBERFIgZnJlcXVlbmN5IGZy b20gdW5pdHMgb2YgMjY2LjZNSHogdG8gYmFuZHdpZHRoICovCiAJbWluX3JpbmdfZnJlcSA9IG11 bHRfZnJhYyhtaW5fcmluZ19mcmVxLCA4LCAzKTsKIAotCWlmIChJU19TS1lMQUtFKGRldikpIHsK KwlpZiAoSVNfU0tZTEFLRShkZXYpIHx8IElTX0tBQllMQUtFKGRldikpIHsKIAkJLyogQ29udmVy dCBHVCBmcmVxdWVuY3kgdG8gNTAgSFogdW5pdHMgKi8KIAkJbWluX2dwdV9mcmVxID0gZGV2X3By aXYtPnJwcy5taW5fZnJlcSAvIEdFTjlfRlJFUV9TQ0FMRVI7CiAJCW1heF9ncHVfZnJlcSA9IGRl dl9wcml2LT5ycHMubWF4X2ZyZXEgLyBHRU45X0ZSRVFfU0NBTEVSOwpAQCAtNDk1Myw3ICs0OTU0 LDcgQEAgc3RhdGljIHZvaWQgX19nZW42X3VwZGF0ZV9yaW5nX2ZyZXEoc3RydWN0IGRybV9kZXZp Y2UgKmRldikKIAkJaW50IGRpZmYgPSBtYXhfZ3B1X2ZyZXEgLSBncHVfZnJlcTsKIAkJdW5zaWdu ZWQgaW50IGlhX2ZyZXEgPSAwLCByaW5nX2ZyZXEgPSAwOwogCi0JCWlmIChJU19TS1lMQUtFKGRl dikpIHsKKwkJaWYgKElTX1NLWUxBS0UoZGV2KSB8fCBJU19LQUJZTEFLRShkZXYpKSB7CiAJCQkv KgogCQkJICogcmluZ19mcmVxID0gMiAqIEdULiByaW5nX2ZyZXEgaXMgaW4gMTAwTUh6IHVuaXRz CiAJCQkgKiBObyBmbG9vciByZXF1aXJlZCBmb3IgcmluZyBmcmVxdWVuY3kgb24gU0tMLgpAQCAt NjA4MSw3ICs2MDgyLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZ2VuNl9wb3dlcnNhdmVfd29yayhz dHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiAJfSBlbHNlIGlmIChJTlRFTF9JTkZPKGRldiktPmdl biA+PSA5KSB7CiAJCWdlbjlfZW5hYmxlX3JjNihkZXYpOwogCQlnZW45X2VuYWJsZV9ycHMoZGV2 KTsKLQkJaWYgKElTX1NLWUxBS0UoZGV2KSkKKwkJaWYgKElTX1NLWUxBS0UoZGV2KSB8fCBJU19L QUJZTEFLRShkZXYpKQogCQkJX19nZW42X3VwZGF0ZV9yaW5nX2ZyZXEoZGV2KTsKIAl9IGVsc2Ug aWYgKElTX0JST0FEV0VMTChkZXYpKSB7CiAJCWdlbjhfZW5hYmxlX3JwcyhkZXYpOwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCmluZGV4IGU1MGNjODguLjEwMTc1NTUgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMKQEAgLTE4MzIsNyArMTgzMiw3 IEBAIGludCBpbnRlbF9wb3dlcl9kb21haW5zX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KQogCQlzZXRfcG93ZXJfd2VsbHMocG93ZXJfZG9tYWlucywgaHN3X3Bvd2VyX3dl bGxzKTsKIAl9IGVsc2UgaWYgKElTX0JST0FEV0VMTChkZXZfcHJpdi0+ZGV2KSkgewogCQlzZXRf cG93ZXJfd2VsbHMocG93ZXJfZG9tYWlucywgYmR3X3Bvd2VyX3dlbGxzKTsKLQl9IGVsc2UgaWYg KElTX1NLWUxBS0UoZGV2X3ByaXYtPmRldikpIHsKKwl9IGVsc2UgaWYgKElTX1NLWUxBS0UoZGV2 X3ByaXYtPmRldikgfHwgSVNfS0FCWUxBS0UoZGV2X3ByaXYtPmRldikpIHsKIAkJc2V0X3Bvd2Vy X3dlbGxzKHBvd2VyX2RvbWFpbnMsIHNrbF9wb3dlcl93ZWxscyk7CiAJfSBlbHNlIGlmIChJU19C Uk9YVE9OKGRldl9wcml2LT5kZXYpKSB7CiAJCXNldF9wb3dlcl93ZWxscyhwb3dlcl9kb21haW5z LCBieHRfcG93ZXJfd2VsbHMpOwotLSAKMi40LjMKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4Cg==