From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sagar Arun Kamble Subject: [PATCH v5 1/1] drm/i915/bxt: Check BIOS RC6 setup before enabling RC6 Date: Thu, 14 Jan 2016 21:26:11 +0530 Message-ID: <1452786971-2258-1-git-send-email-sagar.a.kamble@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 DAC107A0B1 for ; Thu, 14 Jan 2016 07:53:53 -0800 (PST) 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: shashidhar.hiremath@intel.com List-Id: intel-gfx@lists.freedesktop.org UkM2IHNldHVwIGlzIHNoYXJlZCBiZXR3ZWVuIEJJT1MgYW5kIERyaXZlci4gQklPUyBzZXRzIHVw IHN1YnNldCBvZiBSQzYKc2V0dXAgcmVnaXN0ZXJzLiBJZiB0aG9zZSBhcmUgbm90IHNldHVwIERy aXZlciBzaG91bGQgbm90IGVuYWJsZSBSQzYuCkZvciBpbXBsZW1lbnRpbmcgdGhpcywgZHJpdmVy IGNhbiBjaGVjayBSQ19DVFJMMCBhbmQgUkNfQ1RSTDEgdmFsdWVzCnRvIGtub3cgaWYgQklPUyBo YXMgZW5hYmxlZCBIVy9TVyBSQzYuClRoaXMgd2lsbCBhbHNvIGVuYWJsZSB1c2VyIHRvIGNvbnRy b2wgUkM2IHVzaW5nIEJJT1Mgc2V0dGluZ3MgYWxvbmUuClJDNiByZWxhdGVkIGluc3RhYmlsaXR5 IGNhbiBiZSBhdm9pZGVkIGJ5IGRpc2FibGluZyB2aWEgQklPUyBzZXR0aW5ncwp0aWxsIGRyaXZl ciBmaXhlcyBpdC4KCnYyOiBIYWQgcGxhY2VkIGxvZ2ljIGluIGdlbjggZnVuY3Rpb24gYnkgbWlz dGFrZS4gRml4ZWQgaXQuCkVuc3VyaW5nIFJQTSBpcyBub3QgZW5hYmxlZCBpbiBjYXNlIEJJT1Mg ZGlzYWJsZWQgUkM2LgoKdjM6IE5lZWQgdG8gZGlzYWJsZSBSUE0gaWYgUkM2IGlzIGRpc2FibGVk IGR1ZSB0byBCSU9TIHNldHRpbmdzLiAoRGFuaWVsKQpSdW50aW1lIFBNIGVuYWJsaW5nIGhhcHBl bnMgYmVmb3JlIGdlbjlfZW5hYmxlX3JjNi4KTW92ZWQgdGhlIHVwZGF0aW9uIG9mIGVuYWJsZV9y YzYgcGFyYW1ldGVyIGluIGludGVsX3VuY29yZV9zYW5pdGl6ZS4KCnY0OiBBZGRlZCBlbGFib3Jh dGUgY2hlY2sgZm9yIEJJT1MgUkM2IHNldHVwLiBQcmVwYXJlZCBjaGVja19wY3R4IGZvciBieHQu IChJbXJlKQoKdjU6IENhY2hpbmcgcmVzZXJ2ZWQgc3RvbGVuIGJhc2UgYW5kIHNpemUgaW4gdGhl IGRyaXZlciBwcml2YXRlIGRhdGEuClJlb3JnYW5pemVkIFJDNiBzZXR1cCBjaGVjay4gTW92ZWQg ZnJvbSBnZW45X2VuYWJsZV9yYzYgdG8gaW50ZWxfdW5jb3JlX3Nhbml0aXplLiAoSW1yZSkKCkNj OiBJbXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5jb20+CkNoYW5nZS1JZDogSWY4OTUxODcwOGUx MzNiZTZiM2M3YzZmOTA4NjlmYjY2MjI0YjdiODcKU2lnbmVkLW9mZi1ieTogU2FnYXIgQXJ1biBL YW1ibGUgPHNhZ2FyLmEua2FtYmxlQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oICAgICAgICB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2d0dC5oICAgIHwgIDIgKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3N0b2xlbi5j IHwgMzkgKysrKysrKysrKysrKysrKysrLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZWcuaCAgICAgICAgfCAxMSArKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYu aCAgICAgICB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgICAgICAgIHwg NTkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfdW5jb3JlLmMgICAgfCAgNCArKysKIDcgZmlsZXMgY2hhbmdlZCwgMTA5IGluc2Vy dGlvbnMoKyksIDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggY2Y3 ZTBmYy4uMGM4ZTYxYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0zMjIzLDYgKzMyMjMs NyBAQCBpbnQgaTkxNV9nZW1fc3RvbGVuX2luc2VydF9ub2RlX2luX3JhbmdlKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCQkJIHU2NCBlbmQpOwogdm9pZCBpOTE1X2dlbV9z dG9sZW5fcmVtb3ZlX25vZGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJ CSBzdHJ1Y3QgZHJtX21tX25vZGUgKm5vZGUpOworaW50IGk5MTVfZ2VtX2luaXRfc3RvbGVuX3Jl c2VydmVkKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogaW50IGk5MTVfZ2VtX2luaXRfc3RvbGVu KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogdm9pZCBpOTE1X2dlbV9jbGVhbnVwX3N0b2xlbihz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmgKaW5kZXggYjQ0OGFkOC4uMjBmZjZjYSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmgKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmgKQEAgLTM0Myw2ICszNDMsOCBAQCBzdHJ1Y3QgaTkx NV9ndHQgewogCiAJc2l6ZV90IHN0b2xlbl9zaXplOwkJLyogVG90YWwgc2l6ZSBvZiBzdG9sZW4g bWVtb3J5ICovCiAJc2l6ZV90IHN0b2xlbl91c2FibGVfc2l6ZTsJLyogVG90YWwgc2l6ZSBtaW51 cyBCSU9TIHJlc2VydmVkICovCisJc2l6ZV90IHN0b2xlbl9yZXNlcnZlZF9iYXNlOworCXNpemVf dCBzdG9sZW5fcmVzZXJ2ZWRfc2l6ZTsKIAl1NjQgbWFwcGFibGVfZW5kOwkJLyogRW5kIG9mZnNl dCB0aGF0IHdlIGNhbiBDUFUgbWFwICovCiAJc3RydWN0IGlvX21hcHBpbmcgKm1hcHBhYmxlOwkv KiBNYXBwaW5nIHRvIG91ciBDUFUgbWFwcGFibGUgcmVnaW9uICovCiAJcGh5c19hZGRyX3QgbWFw cGFibGVfYmFzZTsJLyogUEEgb2Ygb3VyIEdNQURSICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9zdG9sZW4uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX3N0b2xlbi5jCmluZGV4IDM0NzY4NzcuLmQ1YTY1ZDkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX3N0b2xlbi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX3N0b2xlbi5jCkBAIC0zODYsMTQgKzM4NiwxMiBAQCBzdGF0aWMgdm9pZCBiZHdf Z2V0X3N0b2xlbl9yZXNlcnZlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJ CSpzaXplID0gc3RvbGVuX3RvcCAtICpiYXNlOwogfQogCi1pbnQgaTkxNV9nZW1faW5pdF9zdG9s ZW4oc3RydWN0IGRybV9kZXZpY2UgKmRldikKK2ludCBpOTE1X2dlbV9pbml0X3N0b2xlbl9yZXNl cnZlZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Ci0JdW5zaWduZWQgbG9uZyByZXNlcnZlZF90 b3RhbCwgcmVzZXJ2ZWRfYmFzZSA9IDAsIHJlc2VydmVkX3NpemU7CisJdW5zaWduZWQgbG9uZyBy ZXNlcnZlZF9iYXNlID0gMCwgcmVzZXJ2ZWRfc2l6ZTsKIAl1bnNpZ25lZCBsb25nIHN0b2xlbl90 b3A7CiAKLQltdXRleF9pbml0KCZkZXZfcHJpdi0+bW0uc3RvbGVuX2xvY2spOwotCiAjaWZkZWYg Q09ORklHX0lOVEVMX0lPTU1VCiAJaWYgKGludGVsX2lvbW11X2dmeF9tYXBwZWQgJiYgSU5URUxf SU5GTyhkZXYpLT5nZW4gPCA4KSB7CiAJCURSTV9JTkZPKCJETUFSIGFjdGl2ZSwgZGlzYWJsaW5n IHVzZSBvZiBzdG9sZW4gbWVtb3J5XG4iKTsKQEAgLTQ1OCw5ICs0NTYsMzggQEAgaW50IGk5MTVf Z2VtX2luaXRfc3RvbGVuKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJCXJldHVybiAwOwogCX0K IAorCWRldl9wcml2LT5ndHQuc3RvbGVuX3Jlc2VydmVkX2Jhc2UgPSByZXNlcnZlZF9iYXNlOwor CWRldl9wcml2LT5ndHQuc3RvbGVuX3Jlc2VydmVkX3NpemUgPSByZXNlcnZlZF9zaXplOworCisJ cmV0dXJuIDA7Cit9CisKK2ludCBpOTE1X2dlbV9pbml0X3N0b2xlbihzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2 X3ByaXZhdGU7CisJdW5zaWduZWQgbG9uZyByZXNlcnZlZF90b3RhbDsKKwl1bnNpZ25lZCBsb25n IHN0b2xlbl90b3A7CisKKwltdXRleF9pbml0KCZkZXZfcHJpdi0+bW0uc3RvbGVuX2xvY2spOwor CisjaWZkZWYgQ09ORklHX0lOVEVMX0lPTU1VCisJaWYgKGludGVsX2lvbW11X2dmeF9tYXBwZWQg JiYgSU5URUxfSU5GTyhkZXYpLT5nZW4gPCA4KSB7CisJCURSTV9JTkZPKCJETUFSIGFjdGl2ZSwg ZGlzYWJsaW5nIHVzZSBvZiBzdG9sZW4gbWVtb3J5XG4iKTsKKwkJcmV0dXJuIDA7CisJfQorI2Vu ZGlmCisKKwlpZiAoZGV2X3ByaXYtPmd0dC5zdG9sZW5fc2l6ZSA9PSAwKQorCQlyZXR1cm4gMDsK KworCWlmIChkZXZfcHJpdi0+bW0uc3RvbGVuX2Jhc2UgPT0gMCkKKwkJcmV0dXJuIDA7CisKKwlz dG9sZW5fdG9wID0gZGV2X3ByaXYtPm1tLnN0b2xlbl9iYXNlICsgZGV2X3ByaXYtPmd0dC5zdG9s ZW5fc2l6ZTsKKwogCS8qIEl0IGlzIHBvc3NpYmxlIGZvciB0aGUgcmVzZXJ2ZWQgYXJlYSB0byBl bmQgYmVmb3JlIHRoZSBlbmQgb2Ygc3RvbGVuCi0JICogbWVtb3J5LCBzbyBqdXN0IGNvbnNpZGVy IHRoZSBzdGFydC4gKi8KLQlyZXNlcnZlZF90b3RhbCA9IHN0b2xlbl90b3AgLSByZXNlcnZlZF9i YXNlOworCSogbWVtb3J5LCBzbyBqdXN0IGNvbnNpZGVyIHRoZSBzdGFydC4gKi8KKwlyZXNlcnZl ZF90b3RhbCA9IHN0b2xlbl90b3AgLSBkZXZfcHJpdi0+Z3R0LnN0b2xlbl9yZXNlcnZlZF9iYXNl OwogCiAJRFJNX0RFQlVHX0tNUygiTWVtb3J5IHJlc2VydmVkIGZvciBncmFwaGljcyBkZXZpY2U6 ICV6dUssIHVzYWJsZTogJWx1S1xuIiwKIAkJICAgICAgZGV2X3ByaXYtPmd0dC5zdG9sZW5fc2l6 ZSA+PiAxMCwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCmluZGV4IDAwN2FlODMuLjE5ZGRmNzkgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9yZWcuaApAQCAtNjc2NSw2ICs2NzY1LDE2IEBAIGVudW0gc2tsX2Rp c3BfcG93ZXJfd2VsbHMgewogCiAjZGVmaW5lICBWTFZfUE1XR0lDWgkJCQlfTU1JTygweDEzMDBh NCkKIAorI2RlZmluZSAgUkM2X0xPQ0FUSU9OCQkJCV9NTUlPKDB4RDQwKQorI2RlZmluZSAgUkM2 X0NUWF9JTl9EUkFNCQkJMQorI2RlZmluZSAgUkM2X0NUWF9CQVNFCQkJCV9NTUlPKDB4RDQ4KQor I2RlZmluZSAgUkM2X0NUWF9CQVNFX01BU0sJCQkweEZGRkZGRkYwCisjZGVmaW5lICBQV1JDVFhf TUFYQ05UX1JDU1VOSVQJCQlfTU1JTygweDIwNTQpCisjZGVmaW5lICBQV1JDVFhfTUFYQ05UX1ZD U1VOSVQwCQkJX01NSU8oMHgxMjA1NCkKKyNkZWZpbmUgIFBXUkNUWF9NQVhDTlRfQkNTVU5JVAkJ CV9NTUlPKDB4MjIwNTQpCisjZGVmaW5lICBQV1JDVFhfTUFYQ05UX1ZFQ1NVTklUCQkJX01NSU8o MHgxQTA1NCkKKyNkZWZpbmUgIFBXUkNUWF9NQVhDTlRfVkNTVU5JVDEJCQlfTU1JTygweDFDMDU0 KQorI2RlZmluZSAgSURMRV9USU1FX01BU0sJCQkJMHhGRkZGRgogI2RlZmluZSAgRk9SQ0VXQUtF CQkJCV9NTUlPKDB4QTE4QykKICNkZWZpbmUgIEZPUkNFV0FLRV9WTFYJCQkJX01NSU8oMHgxMzAw YjApCiAjZGVmaW5lICBGT1JDRVdBS0VfQUNLX1ZMVgkJCV9NTUlPKDB4MTMwMGI0KQpAQCAtNjkw Myw2ICs2OTEzLDcgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7CiAjZGVmaW5lIEdFTjZf UlBERVVDCQkJCV9NTUlPKDB4QTA4NCkKICNkZWZpbmUgR0VONl9SUERFVUNTVwkJCQlfTU1JTygw eEEwODgpCiAjZGVmaW5lIEdFTjZfUkNfU1RBVEUJCQkJX01NSU8oMHhBMDk0KQorI2RlZmluZSBS QzZfU1RBVEUJCQkJKDE8PDE4KQogI2RlZmluZSBHRU42X1JDMV9XQUtFX1JBVEVfTElNSVQJCV9N TUlPKDB4QTA5OCkKICNkZWZpbmUgR0VONl9SQzZfV0FLRV9SQVRFX0xJTUlUCQlfTU1JTygweEEw OUMpCiAjZGVmaW5lIEdFTjZfUkM2cHBfV0FLRV9SQVRFX0xJTUlUCQlfTU1JTygweEEwQTApCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oCmluZGV4IDA0MzhiNTcuLmYyMmJhZWYgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rydi5oCkBAIC0xNTY0LDYgKzE1NjQsNyBAQCB2b2lkIHNrbF93bV9nZXRfaHdf c3RhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldik7CiB2b2lkIHNrbF9kZGJfZ2V0X2h3X3N0YXRl KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCSAgc3RydWN0IHNrbF9kZGJf YWxsb2NhdGlvbiAqZGRiIC8qIG91dCAqLyk7CiB1aW50MzJfdCBpbGtfcGlwZV9waXhlbF9yYXRl KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZyk7CitpbnQgc2FuaXRp emVfcmM2X29wdGlvbihjb25zdCBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgZW5hYmxlX3Jj Nik7CiAKIC8qIGludGVsX3Nkdm8uYyAqLwogYm9vbCBpbnRlbF9zZHZvX2luaXQoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bt LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCmluZGV4IDAyZmUwODEuLmM5YTMy YTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwpAQCAtNDUxOCwxMiArNDUxOCw2OCBAQCBzdGF0 aWMgdm9pZCBpbnRlbF9wcmludF9yYzZfaW5mbyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1MzIg bW9kZSkKIAkJCSAgICAgIChtb2RlICYgR0VONl9SQ19DVExfUkM2X0VOQUJMRSkgPyAib24iIDog Im9mZiIpOwogfQogCi1zdGF0aWMgaW50IHNhbml0aXplX3JjNl9vcHRpb24oY29uc3Qgc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgaW50IGVuYWJsZV9yYzYpCitzdGF0aWMgYm9vbCBieHRfY2hlY2tf Ymlvc19yYzZfc2V0dXAoY29uc3Qgc3RydWN0IGRybV9kZXZpY2UgKmRldikKK3sKKwlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOworCWJvb2wgZW5h YmxlX3JjNiA9IHRydWU7CisJdW5zaWduZWQgbG9uZyByYzZfY3R4X2Jhc2U7CisJYm9vbCBiaW9z X2h3X3JjNl9lbmFibGVkLCBiaW9zX3N3X3JjNl9lbmFibGVkOworCisJYmlvc19od19yYzZfZW5h YmxlZCA9IEk5MTVfUkVBRChHRU42X1JDX0NPTlRST0wpICYKKwkJCQkoR0VONl9SQ19DVExfUkM2 X0VOQUJMRSB8CisJCQkJCUdFTjZfUkNfQ1RMX0hXX0VOQUJMRSk7CisJYmlvc19zd19yYzZfZW5h YmxlZCA9ICEoSTkxNV9SRUFEKEdFTjZfUkNfQ09OVFJPTCkgJgorCQkJCUdFTjZfUkNfQ1RMX0hX X0VOQUJMRSkgJiYKKwkJCQkoSTkxNV9SRUFEKEdFTjZfUkNfU1RBVEUpICYgUkM2X1NUQVRFKTsK KworCWlmICghKEk5MTVfUkVBRChSQzZfTE9DQVRJT04pICYgUkM2X0NUWF9JTl9EUkFNKSkgewor CQlEUk1fREVCVUdfS01TKCJSQzYgQmFzZSBsb2NhdGlvbiBub3Qgc2V0IHByb3Blcmx5LlxuIik7 CisJCWVuYWJsZV9yYzYgPSBmYWxzZTsKKwl9CisKKwlyYzZfY3R4X2Jhc2UgPSBJOTE1X1JFQUQo UkM2X0NUWF9CQVNFKSAmIFJDNl9DVFhfQkFTRV9NQVNLOworCWlmICghKChyYzZfY3R4X2Jhc2Ug Pj0gZGV2X3ByaXYtPmd0dC5zdG9sZW5fcmVzZXJ2ZWRfYmFzZSkgJiYKKwkJKHJjNl9jdHhfYmFz ZSA8PSAoZGV2X3ByaXYtPmd0dC5zdG9sZW5fcmVzZXJ2ZWRfYmFzZSArCisJCQkJCWRldl9wcml2 LT5ndHQuc3RvbGVuX3Jlc2VydmVkX3NpemUpKSkpIHsKKwkJRFJNX0RFQlVHX0tNUygiUkM2IEJh c2UgYWRkcmVzcyBub3QgYXMgZXhwZWN0ZWQuXG4iKTsKKwkJZW5hYmxlX3JjNiA9IGZhbHNlOwor CX0KKworCWlmICghKCgoSTkxNV9SRUFEKFBXUkNUWF9NQVhDTlRfUkNTVU5JVCkgJiBJRExFX1RJ TUVfTUFTSykgPiAxKSAmJgorCSAgICAgICgoSTkxNV9SRUFEKFBXUkNUWF9NQVhDTlRfVkNTVU5J VDApICYgSURMRV9USU1FX01BU0spID4gMSkgJiYKKwkgICAgICAoKEk5MTVfUkVBRChQV1JDVFhf TUFYQ05UX0JDU1VOSVQpICYgSURMRV9USU1FX01BU0spID4gMSkgJiYKKwkgICAgICAoKEk5MTVf UkVBRChQV1JDVFhfTUFYQ05UX1ZFQ1NVTklUKSAmIElETEVfVElNRV9NQVNLKSA+IDEpKSkgewor CQlEUk1fREVCVUdfS01TKCJFbmdpbmUgSWRsZSB3YWl0IHRpbWUgbm90IHNldCBwcm9wZXJseS5c biIpOworCQllbmFibGVfcmM2ID0gZmFsc2U7CisJfQorCisJaWYgKEhBU19CU0QyKGRldikgJiYK KwkJKChJOTE1X1JFQUQoUFdSQ1RYX01BWENOVF9WQ1NVTklUMSkgJiBJRExFX1RJTUVfTUFTSykg PiAxKSkgeworCQlEUk1fREVCVUdfS01TKCJWQ1NVTklUMSBJZGxlIHdhaXQgdGltZSBub3Qgc2V0 IHByb3Blcmx5LlxuIik7CisJCWVuYWJsZV9yYzYgPSBmYWxzZTsKKwl9CisKKwlpZiAoIWJpb3Nf aHdfcmM2X2VuYWJsZWQgJiYgIWJpb3Nfc3dfcmM2X2VuYWJsZWQpIHsKKwkJRFJNX0RFQlVHX0tN UygiSFcvU1cgUkM2IGlzIG5vdCBlbmFibGVkIGJ5IEJJT1MuXG4iKTsKKwkJZW5hYmxlX3JjNiA9 IGZhbHNlOworCX0KKworCXJldHVybiBlbmFibGVfcmM2OworfQorCitpbnQgc2FuaXRpemVfcmM2 X29wdGlvbihjb25zdCBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgZW5hYmxlX3JjNikKIHsK IAkvKiBObyBSQzYgYmVmb3JlIElyb25sYWtlIGFuZCBjb2RlIGlzIGdvbmUgZm9yIGlsay4gKi8K IAlpZiAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPCA2KQogCQlyZXR1cm4gMDsKIAorCWlmIChJU19C Uk9YVE9OKGRldikpIHsKKwkJaWYgKCFieHRfY2hlY2tfYmlvc19yYzZfc2V0dXAoZGV2KSkgewor CQkJRFJNX0lORk8oIlJDNiBkaXNhYmxlZCBieSBCSU9TXG4iKTsKKwkJCXJldHVybiAwOworCQl9 CisJfQorCiAJLyogUmVzcGVjdCB0aGUga2VybmVsIHBhcmFtZXRlciBpZiBpdCBpcyBzZXQgKi8K IAlpZiAoZW5hYmxlX3JjNiA+PSAwKSB7CiAJCWludCBtYXNrOwpAQCAtNjAxNCw3ICs2MDcwLDYg QEAgdm9pZCBpbnRlbF9pbml0X2d0X3Bvd2Vyc2F2ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQog ewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7 CiAKLQlpOTE1LmVuYWJsZV9yYzYgPSBzYW5pdGl6ZV9yYzZfb3B0aW9uKGRldiwgaTkxNS5lbmFi bGVfcmM2KTsKIAkvKgogCSAqIFJQTSBkZXBlbmRzIG9uIFJDNiB0byBzYXZlIHJlc3RvcmUgdGhl IEdUIEhXIGNvbnRleHQsIHNvIG1ha2UgUkM2IGEKIAkgKiByZXF1aXJlbWVudC4KZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfdW5jb3JlLmMKaW5kZXggMjc3ZTYwYS4uNDNmYzNlOCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfdW5jb3JlLmMKQEAgLTM1OSw2ICszNTksMTAgQEAgdm9pZCBpbnRlbF91bmNv cmVfZWFybHlfc2FuaXRpemUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgYm9vbCByZXN0b3JlX2Zv cmNld2FrZSkKIAogdm9pZCBpbnRlbF91bmNvcmVfc2FuaXRpemUoc3RydWN0IGRybV9kZXZpY2Ug KmRldikKIHsKKwlpOTE1X2dlbV9pbml0X3N0b2xlbl9yZXNlcnZlZChkZXYpOworCisJaTkxNS5l bmFibGVfcmM2ID0gc2FuaXRpemVfcmM2X29wdGlvbihkZXYsIGk5MTUuZW5hYmxlX3JjNik7CisK IAkvKiBCSU9TIG9mdGVuIGxlYXZlcyBSQzYgZW5hYmxlZCwgYnV0IGRpc2FibGUgaXQgZm9yIGh3 IGluaXQgKi8KIAlpbnRlbF9kaXNhYmxlX2d0X3Bvd2Vyc2F2ZShkZXYpOwogfQotLSAKMS45LjEK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==