From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: Re: [PATCH v5 1/1] drm/i915/bxt: Check BIOS RC6 setup before enabling RC6 Date: Fri, 15 Jan 2016 16:49:37 +0200 Message-ID: <1452869377.5306.21.camel@intel.com> References: <1452786971-2258-1-git-send-email-sagar.a.kamble@intel.com> <1452869086.5306.20.camel@intel.com> Reply-To: imre.deak@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 4D4A66E0D4 for ; Fri, 15 Jan 2016 06:49:40 -0800 (PST) In-Reply-To: <1452869086.5306.20.camel@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Sagar Arun Kamble , intel-gfx@lists.freedesktop.org, Chris Wilson Cc: shashidhar.hiremath@intel.com List-Id: intel-gfx@lists.freedesktop.org T24gcGUsIDIwMTYtMDEtMTUgYXQgMTY6NDQgKzAyMDAsIEltcmUgRGVhayB3cm90ZToKPiBBZGRp bmcgQ2hyaXMuIFdlIHdvdWxkIG5lZWQgc3RvbGVuX2Jhc2UgYW5kIHNpemUgZWFybHksIGNvdWxk IHlvdQo+IGNoZWNrCj4gaWYgbW92aW5nIGk5MTVfZ2VtX2luaXRfc3RvbGVuKCkgZWFybGllciBi YXNlZCBvbiB0aGUgZGlmZiBhdCB0aGUgZW5kCj4gaXMgb2s/CgpPb3BzLCBJIG1lYW50IHN0b2xl biByZXNlcnZlZF9iYXNlIGFuZCByZXNlcnZlZF9zaXplLgoKPiBPbiB0bywgMjAxNi0wMS0xNCBh dCAyMToyNiArMDUzMCwgU2FnYXIgQXJ1biBLYW1ibGUgd3JvdGU6Cj4gPiBSQzYgc2V0dXAgaXMg c2hhcmVkIGJldHdlZW4gQklPUyBhbmQgRHJpdmVyLiBCSU9TIHNldHMgdXAgc3Vic2V0IG9mCj4g PiBSQzYKPiA+IHNldHVwIHJlZ2lzdGVycy4gSWYgdGhvc2UgYXJlIG5vdCBzZXR1cCBEcml2ZXIg c2hvdWxkIG5vdCBlbmFibGUKPiA+IFJDNi4KPiA+IEZvciBpbXBsZW1lbnRpbmcgdGhpcywgZHJp dmVyIGNhbiBjaGVjayBSQ19DVFJMMCBhbmQgUkNfQ1RSTDEKPiA+IHZhbHVlcwo+ID4gdG8ga25v dyBpZiBCSU9TIGhhcyBlbmFibGVkIEhXL1NXIFJDNi4KPiA+IFRoaXMgd2lsbCBhbHNvIGVuYWJs ZSB1c2VyIHRvIGNvbnRyb2wgUkM2IHVzaW5nIEJJT1Mgc2V0dGluZ3MKPiA+IGFsb25lLgo+ID4g UkM2IHJlbGF0ZWQgaW5zdGFiaWxpdHkgY2FuIGJlIGF2b2lkZWQgYnkgZGlzYWJsaW5nIHZpYSBC SU9TCj4gPiBzZXR0aW5ncwo+ID4gdGlsbCBkcml2ZXIgZml4ZXMgaXQuCj4gPiAKPiA+IHYyOiBI YWQgcGxhY2VkIGxvZ2ljIGluIGdlbjggZnVuY3Rpb24gYnkgbWlzdGFrZS4gRml4ZWQgaXQuCj4g PiBFbnN1cmluZyBSUE0gaXMgbm90IGVuYWJsZWQgaW4gY2FzZSBCSU9TIGRpc2FibGVkIFJDNi4K PiA+IAo+ID4gdjM6IE5lZWQgdG8gZGlzYWJsZSBSUE0gaWYgUkM2IGlzIGRpc2FibGVkIGR1ZSB0 byBCSU9TIHNldHRpbmdzLgo+ID4gKERhbmllbCkKPiA+IFJ1bnRpbWUgUE0gZW5hYmxpbmcgaGFw cGVucyBiZWZvcmUgZ2VuOV9lbmFibGVfcmM2Lgo+ID4gTW92ZWQgdGhlIHVwZGF0aW9uIG9mIGVu YWJsZV9yYzYgcGFyYW1ldGVyIGluCj4gPiBpbnRlbF91bmNvcmVfc2FuaXRpemUuCj4gPiAKPiA+ IHY0OiBBZGRlZCBlbGFib3JhdGUgY2hlY2sgZm9yIEJJT1MgUkM2IHNldHVwLiBQcmVwYXJlZCBj aGVja19wY3R4Cj4gPiBmb3IgYnh0LiAoSW1yZSkKPiA+IAo+ID4gdjU6IENhY2hpbmcgcmVzZXJ2 ZWQgc3RvbGVuIGJhc2UgYW5kIHNpemUgaW4gdGhlIGRyaXZlciBwcml2YXRlCj4gPiBkYXRhLgo+ ID4gUmVvcmdhbml6ZWQgUkM2IHNldHVwIGNoZWNrLiBNb3ZlZCBmcm9tIGdlbjlfZW5hYmxlX3Jj NiB0bwo+ID4gaW50ZWxfdW5jb3JlX3Nhbml0aXplLiAoSW1yZSkKPiA+IAo+ID4gQ2M6IEltcmUg RGVhayA8aW1yZS5kZWFrQGludGVsLmNvbT4KPiA+IENoYW5nZS1JZDogSWY4OTUxODcwOGUxMzNi ZTZiM2M3YzZmOTA4NjlmYjY2MjI0YjdiODcKPiA+IFNpZ25lZC1vZmYtYnk6IFNhZ2FyIEFydW4g S2FtYmxlIDxzYWdhci5hLmthbWJsZUBpbnRlbC5jb20+Cj4gPiAtLS0KPiA+IMKgZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuaMKgwqDCoMKgwqDCoMKgwqB8wqDCoDEgKwo+ID4gwqBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaMKgwqDCoMKgfMKgwqAyICsrCj4gPiDCoGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3N0b2xlbi5jIHwgMzkgKysrKysrKysrKysrKysr KysrLS0tLQo+ID4gwqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5owqDCoMKgwqDCoMKg wqDCoHwgMTEgKysrKysrKwo+ID4gwqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaMKg wqDCoMKgwqDCoMKgfMKgwqAxICsKPiA+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0u Y8KgwqDCoMKgwqDCoMKgwqB8IDU5Cj4gPiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Ky0tCj4gPiDCoGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jwqDCoMKgwqB8wqDC oDQgKysrCj4gPiDCoDcgZmlsZXMgY2hhbmdlZCwgMTA5IGluc2VydGlvbnMoKyksIDggZGVsZXRp b25zKC0pCj4gPiAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oCj4gPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiA+IGluZGV4IGNmN2Uw ZmMuLjBjOGU2MWMgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gPiBAQCAtMzIy Myw2ICszMjIzLDcgQEAgaW50Cj4gPiBpOTE1X2dlbV9zdG9sZW5faW5zZXJ0X25vZGVfaW5fcmFu Z2Uoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUKPiA+ICpkZXZfcHJpdiwKPiA+IMKgCQkJCQnCoHU2 NCBlbmQpOwo+ID4gwqB2b2lkIGk5MTVfZ2VtX3N0b2xlbl9yZW1vdmVfbm9kZShzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZQo+ID4gKmRldl9wcml2LAo+ID4gwqAJCQkJwqBzdHJ1Y3QgZHJtX21tX25v ZGUgKm5vZGUpOwo+ID4gK2ludCBpOTE1X2dlbV9pbml0X3N0b2xlbl9yZXNlcnZlZChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KTsKPiA+IMKgaW50IGk5MTVfZ2VtX2luaXRfc3RvbGVuKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpOwo+ID4gwqB2b2lkIGk5MTVfZ2VtX2NsZWFudXBfc3RvbGVuKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpOwo+ID4gwqBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqCj4g PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmgKPiA+IGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmgKPiA+IGluZGV4IGI0NDhhZDguLjIw ZmY2Y2EgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQu aAo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmgKPiA+IEBAIC0z NDMsNiArMzQzLDggQEAgc3RydWN0IGk5MTVfZ3R0IHsKPiA+IMKgCj4gPiDCoAlzaXplX3Qgc3Rv bGVuX3NpemU7CQkvKiBUb3RhbCBzaXplIG9mIHN0b2xlbgo+ID4gbWVtb3J5ICovCj4gPiDCoAlz aXplX3Qgc3RvbGVuX3VzYWJsZV9zaXplOwkvKiBUb3RhbCBzaXplIG1pbnVzIEJJT1MKPiA+IHJl c2VydmVkICovCj4gPiArCXNpemVfdCBzdG9sZW5fcmVzZXJ2ZWRfYmFzZTsKPiA+ICsJc2l6ZV90 IHN0b2xlbl9yZXNlcnZlZF9zaXplOwo+ID4gwqAJdTY0IG1hcHBhYmxlX2VuZDsJCS8qIEVuZCBv ZmZzZXQgdGhhdCB3ZSBjYW4KPiA+IENQVSBtYXAgKi8KPiA+IMKgCXN0cnVjdCBpb19tYXBwaW5n ICptYXBwYWJsZTsJLyogTWFwcGluZyB0byBvdXIgQ1BVCj4gPiBtYXBwYWJsZSByZWdpb24gKi8K PiA+IMKgCXBoeXNfYWRkcl90IG1hcHBhYmxlX2Jhc2U7CS8qIFBBIG9mIG91ciBHTUFEUiAqLwo+ ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3N0b2xlbi5jCj4g PiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3N0b2xlbi5jCj4gPiBpbmRleCAzNDc2 ODc3Li5kNWE2NWQ5IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fc3RvbGVuLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3N0b2xl bi5jCj4gPiBAQCAtMzg2LDE0ICszODYsMTIgQEAgc3RhdGljIHZvaWQgYmR3X2dldF9zdG9sZW5f cmVzZXJ2ZWQoc3RydWN0Cj4gPiBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+IMKgCQkq c2l6ZSA9IHN0b2xlbl90b3AgLSAqYmFzZTsKPiA+IMKgfQo+ID4gwqAKPiA+IC1pbnQgaTkxNV9n ZW1faW5pdF9zdG9sZW4oc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiA+ICtpbnQgaTkxNV9nZW1f aW5pdF9zdG9sZW5fcmVzZXJ2ZWQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiA+IMKgewo+ID4g wqAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsK PiA+IC0JdW5zaWduZWQgbG9uZyByZXNlcnZlZF90b3RhbCwgcmVzZXJ2ZWRfYmFzZSA9IDAsCj4g PiByZXNlcnZlZF9zaXplOwo+ID4gKwl1bnNpZ25lZCBsb25nIHJlc2VydmVkX2Jhc2UgPSAwLCBy ZXNlcnZlZF9zaXplOwo+ID4gwqAJdW5zaWduZWQgbG9uZyBzdG9sZW5fdG9wOwo+ID4gwqAKPiA+ IC0JbXV0ZXhfaW5pdCgmZGV2X3ByaXYtPm1tLnN0b2xlbl9sb2NrKTsKPiA+IC0KPiA+IMKgI2lm ZGVmIENPTkZJR19JTlRFTF9JT01NVQo+ID4gwqAJaWYgKGludGVsX2lvbW11X2dmeF9tYXBwZWQg JiYgSU5URUxfSU5GTyhkZXYpLT5nZW4gPCA4KSB7Cj4gPiDCoAkJRFJNX0lORk8oIkRNQVIgYWN0 aXZlLCBkaXNhYmxpbmcgdXNlIG9mIHN0b2xlbgo+ID4gbWVtb3J5XG4iKTsKPiA+IEBAIC00NTgs OSArNDU2LDM4IEBAIGludCBpOTE1X2dlbV9pbml0X3N0b2xlbihzdHJ1Y3QgZHJtX2RldmljZQo+ ID4gKmRldikKPiA+IMKgCQlyZXR1cm4gMDsKPiA+IMKgCX0KPiA+IMKgCj4gPiArCWRldl9wcml2 LT5ndHQuc3RvbGVuX3Jlc2VydmVkX2Jhc2UgPSByZXNlcnZlZF9iYXNlOwo+ID4gKwlkZXZfcHJp di0+Z3R0LnN0b2xlbl9yZXNlcnZlZF9zaXplID0gcmVzZXJ2ZWRfc2l6ZTsKPiA+ICsKPiA+ICsJ cmV0dXJuIDA7Cj4gPiArfQo+ID4gKwo+ID4gK2ludCBpOTE1X2dlbV9pbml0X3N0b2xlbihzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4gK3sKPiA+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiA+ICsJdW5zaWduZWQgbG9uZyByZXNlcnZl ZF90b3RhbDsKPiA+ICsJdW5zaWduZWQgbG9uZyBzdG9sZW5fdG9wOwo+ID4gKwo+ID4gKwltdXRl eF9pbml0KCZkZXZfcHJpdi0+bW0uc3RvbGVuX2xvY2spOwo+ID4gKwo+ID4gKyNpZmRlZiBDT05G SUdfSU5URUxfSU9NTVUKPiA+ICsJaWYgKGludGVsX2lvbW11X2dmeF9tYXBwZWQgJiYgSU5URUxf SU5GTyhkZXYpLT5nZW4gPCA4KSB7Cj4gPiArCQlEUk1fSU5GTygiRE1BUiBhY3RpdmUsIGRpc2Fi bGluZyB1c2Ugb2Ygc3RvbGVuCj4gPiBtZW1vcnlcbiIpOwo+ID4gKwkJcmV0dXJuIDA7Cj4gPiAr CX0KPiA+ICsjZW5kaWYKPiA+ICsKPiA+ICsJaWYgKGRldl9wcml2LT5ndHQuc3RvbGVuX3NpemUg PT0gMCkKPiA+ICsJCXJldHVybiAwOwo+ID4gKwo+ID4gKwlpZiAoZGV2X3ByaXYtPm1tLnN0b2xl bl9iYXNlID09IDApCj4gPiArCQlyZXR1cm4gMDsKPiA+ICsKPiA+ICsJc3RvbGVuX3RvcCA9IGRl dl9wcml2LT5tbS5zdG9sZW5fYmFzZSArIGRldl9wcml2LQo+ID4gPmd0dC5zdG9sZW5fc2l6ZTsK PiA+ICsKPiA+IMKgCS8qIEl0IGlzIHBvc3NpYmxlIGZvciB0aGUgcmVzZXJ2ZWQgYXJlYSB0byBl bmQgYmVmb3JlIHRoZQo+ID4gZW5kIG9mIHN0b2xlbgo+ID4gLQnCoCogbWVtb3J5LCBzbyBqdXN0 IGNvbnNpZGVyIHRoZSBzdGFydC4gKi8KPiA+IC0JcmVzZXJ2ZWRfdG90YWwgPSBzdG9sZW5fdG9w IC0gcmVzZXJ2ZWRfYmFzZTsKPiA+ICsJKiBtZW1vcnksIHNvIGp1c3QgY29uc2lkZXIgdGhlIHN0 YXJ0LiAqLwo+ID4gKwlyZXNlcnZlZF90b3RhbCA9IHN0b2xlbl90b3AgLSBkZXZfcHJpdi0KPiA+ ID5ndHQuc3RvbGVuX3Jlc2VydmVkX2Jhc2U7Cj4gPiDCoAo+ID4gwqAJRFJNX0RFQlVHX0tNUygi TWVtb3J5IHJlc2VydmVkIGZvciBncmFwaGljcyBkZXZpY2U6ICV6dUssCj4gPiB1c2FibGU6ICVs dUtcbiIsCj4gPiDCoAkJwqDCoMKgwqDCoMKgZGV2X3ByaXYtPmd0dC5zdG9sZW5fc2l6ZSA+PiAx MCwKPiAKPiBIbSwgSSBkb24ndCBzZWUgYSByZWFzb24gdG8gc3BsaXTCoGk5MTVfZ2VtX2luaXRf c3RvbGVuKCkKPiBhbmTCoGk5MTVfZ2VtX2luaXRfc3RvbGVuX3Jlc2VydmVkKCkuIFdlIGNvdWxk IGp1c3QgYnJpbmcKPiBpOTE1X2dlbV9pbml0X3N0b2xlbigpIGVhcmxpZXIgKGluIGEgc2VwYXJh dGUgcGF0Y2gpLCBzZWUgd2hhdCBJCj4gbWVhbnQKPiBhdCB0aGUgZW5kLgo+IAo+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiA+IGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9yZWcuaAo+ID4gaW5kZXggMDA3YWU4My4uMTlkZGY3OSAxMDA2NDQKPiA+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiA+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiA+IEBAIC02NzY1LDYgKzY3NjUsMTYgQEAgZW51bSBz a2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gPiDCoAo+ID4gwqAjZGVmaW5lwqDCoFZMVl9QTVdHSUNa CQkJCV9NTUlPKDB4MTMwMGE0Cj4gPiApCj4gPiDCoAo+ID4gKyNkZWZpbmXCoMKgUkM2X0xPQ0FU SU9OCQkJCV9NTUlPKDB4RDQwKQo+ID4gKyNkZWZpbmXCoMKgUkM2X0NUWF9JTl9EUkFNCQkJMQo+ ID4gKyNkZWZpbmXCoMKgUkM2X0NUWF9CQVNFCQkJCV9NTUlPKDB4RDQ4KQo+ID4gKyNkZWZpbmXC oMKgUkM2X0NUWF9CQVNFX01BU0sJCQkweEZGRkZGRkYwCj4gPiArI2RlZmluZcKgwqBQV1JDVFhf TUFYQ05UX1JDU1VOSVQJCQlfTU1JTygweDIwNTQKPiA+ICkKPiA+ICsjZGVmaW5lwqDCoFBXUkNU WF9NQVhDTlRfVkNTVU5JVDAJCQlfTU1JTygweDEyMAo+ID4gNTQpCj4gPiArI2RlZmluZcKgwqBQ V1JDVFhfTUFYQ05UX0JDU1VOSVQJCQlfTU1JTygweDIyMDUKPiA+IDQpCj4gPiArI2RlZmluZcKg wqBQV1JDVFhfTUFYQ05UX1ZFQ1NVTklUCQkJX01NSU8oMHgxQTAKPiA+IDU0KQo+ID4gKyNkZWZp bmXCoMKgUFdSQ1RYX01BWENOVF9WQ1NVTklUMQkJCV9NTUlPKDB4MUMwCj4gPiA1NCkKPiA+ICsj ZGVmaW5lwqDCoElETEVfVElNRV9NQVNLCQkJCTB4RkZGRkYKPiA+IMKgI2RlZmluZcKgwqBGT1JD RVdBS0UJCQkJX01NSU8oMHhBMThDKQo+ID4gwqAjZGVmaW5lwqDCoEZPUkNFV0FLRV9WTFYJCQkJ X01NSU8oMHgxMzAwCj4gPiBiMCkKPiA+IMKgI2RlZmluZcKgwqBGT1JDRVdBS0VfQUNLX1ZMVgkJ CV9NTUlPKDB4MTMwMGI0KQo+ID4gQEAgLTY5MDMsNiArNjkxMyw3IEBAIGVudW0gc2tsX2Rpc3Bf cG93ZXJfd2VsbHMgewo+ID4gwqAjZGVmaW5lIEdFTjZfUlBERVVDCQkJCV9NTUlPKDB4QTA4NCkK PiA+IMKgI2RlZmluZSBHRU42X1JQREVVQ1NXCQkJCV9NTUlPKDB4QTA4OCkKPiA+IMKgI2RlZmlu ZSBHRU42X1JDX1NUQVRFCQkJCV9NTUlPKDB4QTA5NCkKPiA+ICsjZGVmaW5lIFJDNl9TVEFURQkJ CQkoMTw8MTgpCj4gPiDCoCNkZWZpbmUgR0VONl9SQzFfV0FLRV9SQVRFX0xJTUlUCQlfTU1JTygw eEEwOTgpCj4gPiDCoCNkZWZpbmUgR0VONl9SQzZfV0FLRV9SQVRFX0xJTUlUCQlfTU1JTygweEEw OUMpCj4gPiDCoCNkZWZpbmUgR0VONl9SQzZwcF9XQUtFX1JBVEVfTElNSVQJCV9NTUlPKDB4QTBB MCkKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4g Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4gaW5kZXggMDQzOGI1Ny4uZjIy YmFlZiAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4g PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4gQEAgLTE1NjQsNiAr MTU2NCw3IEBAIHZvaWQgc2tsX3dtX2dldF9od19zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZQo+ID4g KmRldik7Cj4gPiDCoHZvaWQgc2tsX2RkYl9nZXRfaHdfc3RhdGUoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LAo+ID4gwqAJCQnCoMKgc3RydWN0IHNrbF9kZGJfYWxsb2NhdGlvbiAq ZGRiIC8qIG91dAo+ID4gKi8pOwo+ID4gwqB1aW50MzJfdCBpbGtfcGlwZV9waXhlbF9yYXRlKGNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlCj4gPiAqcGlwZV9jb25maWcpOwo+ID4gK2ludCBz YW5pdGl6ZV9yYzZfb3B0aW9uKGNvbnN0IHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludAo+ID4g ZW5hYmxlX3JjNik7Cj4gPiDCoAo+ID4gwqAvKiBpbnRlbF9zZHZvLmMgKi8KPiA+IMKgYm9vbCBp bnRlbF9zZHZvX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4gPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3BtLmMKPiA+IGluZGV4IDAyZmUwODEuLmM5YTMyYTQgMTAwNjQ0Cj4gPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9wbS5jCj4gPiBAQCAtNDUxOCwxMiArNDUxOCw2OCBAQCBzdGF0aWMgdm9pZCBp bnRlbF9wcmludF9yYzZfaW5mbyhzdHJ1Y3QKPiA+IGRybV9kZXZpY2UgKmRldiwgdTMyIG1vZGUp Cj4gPiDCoAkJCcKgwqDCoMKgwqDCoChtb2RlICYgR0VONl9SQ19DVExfUkM2X0VOQUJMRSkgPwo+ ID4gIm9uIiA6ICJvZmYiKTsKPiA+IMKgfQo+ID4gwqAKPiA+IC1zdGF0aWMgaW50IHNhbml0aXpl X3JjNl9vcHRpb24oY29uc3Qgc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50Cj4gPiBlbmFibGVf cmM2KQo+ID4gK3N0YXRpYyBib29sIGJ4dF9jaGVja19iaW9zX3JjNl9zZXR1cChjb25zdCBzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4gK3sKPiA+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiA+ICsJYm9vbCBlbmFibGVfcmM2ID0gdHJ1 ZTsKPiA+ICsJdW5zaWduZWQgbG9uZyByYzZfY3R4X2Jhc2U7Cj4gPiArCWJvb2wgYmlvc19od19y YzZfZW5hYmxlZCwgYmlvc19zd19yYzZfZW5hYmxlZDsKPiA+ICsKPiA+ICsJYmlvc19od19yYzZf ZW5hYmxlZCA9IEk5MTVfUkVBRChHRU42X1JDX0NPTlRST0wpICYKPiA+ICsJCQkJKEdFTjZfUkNf Q1RMX1JDNl9FTkFCTEUgfAo+ID4gKwkJCQkJR0VONl9SQ19DVExfSFdfRU5BQkxFKTsKPiA+ICsJ Ymlvc19zd19yYzZfZW5hYmxlZCA9ICEoSTkxNV9SRUFEKEdFTjZfUkNfQ09OVFJPTCkgJgo+ID4g KwkJCQlHRU42X1JDX0NUTF9IV19FTkFCTEUpICYmCj4gPiArCQkJCShJOTE1X1JFQUQoR0VONl9S Q19TVEFURSkgJgo+ID4gUkM2X1NUQVRFKTsKPiA+ICsKPiA+ICsJaWYgKCEoSTkxNV9SRUFEKFJD Nl9MT0NBVElPTikgJiBSQzZfQ1RYX0lOX0RSQU0pKSB7Cj4gPiArCQlEUk1fREVCVUdfS01TKCJS QzYgQmFzZSBsb2NhdGlvbiBub3Qgc2V0Cj4gPiBwcm9wZXJseS5cbiIpOwo+ID4gKwkJZW5hYmxl X3JjNiA9IGZhbHNlOwo+ID4gKwl9Cj4gPiArCj4gPiArCXJjNl9jdHhfYmFzZSA9IEk5MTVfUkVB RChSQzZfQ1RYX0JBU0UpICYKPiA+IFJDNl9DVFhfQkFTRV9NQVNLOwo+ID4gKwlpZiAoISgocmM2 X2N0eF9iYXNlID49IGRldl9wcml2LT5ndHQuc3RvbGVuX3Jlc2VydmVkX2Jhc2UpIAo+ID4gJiYK PiA+ICsJCShyYzZfY3R4X2Jhc2UgPD0gKGRldl9wcml2LQo+ID4gPmd0dC5zdG9sZW5fcmVzZXJ2 ZWRfYmFzZSArCj4gPiArCQkJCQlkZXZfcHJpdi0KPiA+ID5ndHQuc3RvbGVuX3Jlc2VydmVkX3Np emUpKSkpIHsKPiA+ICsJCURSTV9ERUJVR19LTVMoIlJDNiBCYXNlIGFkZHJlc3Mgbm90IGFzCj4g PiBleHBlY3RlZC5cbiIpOwo+ID4gKwkJZW5hYmxlX3JjNiA9IGZhbHNlOwo+ID4gKwl9Cj4gPiAr Cj4gPiArCWlmICghKCgoSTkxNV9SRUFEKFBXUkNUWF9NQVhDTlRfUkNTVU5JVCkgJiBJRExFX1RJ TUVfTUFTSykKPiA+ID4gMSkgJiYKPiA+ICsJwqDCoMKgwqDCoMKgKChJOTE1X1JFQUQoUFdSQ1RY X01BWENOVF9WQ1NVTklUMCkgJgo+ID4gSURMRV9USU1FX01BU0spID4gMSkgJiYKPiA+ICsJwqDC oMKgwqDCoMKgKChJOTE1X1JFQUQoUFdSQ1RYX01BWENOVF9CQ1NVTklUKSAmIElETEVfVElNRV9N QVNLKQo+ID4gPiAxKSAmJgo+ID4gKwnCoMKgwqDCoMKgwqAoKEk5MTVfUkVBRChQV1JDVFhfTUFY Q05UX1ZFQ1NVTklUKSAmCj4gPiBJRExFX1RJTUVfTUFTSykgPiAxKSkpIHsKPiA+ICsJCURSTV9E RUJVR19LTVMoIkVuZ2luZSBJZGxlIHdhaXQgdGltZSBub3Qgc2V0Cj4gPiBwcm9wZXJseS5cbiIp Owo+ID4gKwkJZW5hYmxlX3JjNiA9IGZhbHNlOwo+ID4gKwl9Cj4gPiArCj4gPiArCWlmIChIQVNf QlNEMihkZXYpICYmCj4gPiArCQkoKEk5MTVfUkVBRChQV1JDVFhfTUFYQ05UX1ZDU1VOSVQxKSAm Cj4gPiBJRExFX1RJTUVfTUFTSykgPiAxKSkgewo+ID4gKwkJRFJNX0RFQlVHX0tNUygiVkNTVU5J VDEgSWRsZSB3YWl0IHRpbWUgbm90IHNldAo+ID4gcHJvcGVybHkuXG4iKTsKPiA+ICsJCWVuYWJs ZV9yYzYgPSBmYWxzZTsKPiA+ICsJfQo+ID4gKwo+ID4gKwlpZiAoIWJpb3NfaHdfcmM2X2VuYWJs ZWQgJiYgIWJpb3Nfc3dfcmM2X2VuYWJsZWQpIHsKPiA+ICsJCURSTV9ERUJVR19LTVMoIkhXL1NX IFJDNiBpcyBub3QgZW5hYmxlZCBieQo+ID4gQklPUy5cbiIpOwo+ID4gKwkJZW5hYmxlX3JjNiA9 IGZhbHNlOwo+ID4gKwl9Cj4gPiArCj4gPiArCXJldHVybiBlbmFibGVfcmM2Owo+ID4gK30KPiA+ ICsKPiA+ICtpbnQgc2FuaXRpemVfcmM2X29wdGlvbihjb25zdCBzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCBpbnQKPiA+IGVuYWJsZV9yYzYpCj4gPiDCoHsKPiA+IMKgCS8qIE5vIFJDNiBiZWZvcmUg SXJvbmxha2UgYW5kIGNvZGUgaXMgZ29uZSBmb3IgaWxrLiAqLwo+ID4gwqAJaWYgKElOVEVMX0lO Rk8oZGV2KS0+Z2VuIDwgNikKPiA+IMKgCQlyZXR1cm4gMDsKPiAKPiBQbGVhc2UgYWxzbyBhZGQg aGVyZSBhbiBlYXJseSByZXR1cm4gaWYgZW5hYmxlX3JjNiBpcyBhbHJlYWR5IDAsIHNvCj4gd2UK PiBkb24ndCBnZXQgcmVkdW5kYW50ICJSQzYgZGlzYWJsZWQiIG1lc3NhZ2VzIGluIHRoZSBsb2cu Cj4gCj4gPiDCoAo+ID4gKwlpZiAoSVNfQlJPWFRPTihkZXYpKSB7Cj4gPiArCQlpZiAoIWJ4dF9j aGVja19iaW9zX3JjNl9zZXR1cChkZXYpKSB7Cj4gCj4gTml0cGljaywgY291bGQgYmUgYSBzaW5n bGUgaWYuCj4gCj4gPiArCQkJRFJNX0lORk8oIlJDNiBkaXNhYmxlZCBieSBCSU9TXG4iKTsKPiA+ ICsJCQlyZXR1cm4gMDsKPiA+ICsJCX0KPiA+ICsJfQo+ID4gKwo+ID4gwqAJLyogUmVzcGVjdCB0 aGUga2VybmVsIHBhcmFtZXRlciBpZiBpdCBpcyBzZXQgKi8KPiA+IMKgCWlmIChlbmFibGVfcmM2 ID49IDApIHsKPiA+IMKgCQlpbnQgbWFzazsKPiA+IEBAIC02MDE0LDcgKzYwNzAsNiBAQCB2b2lk IGludGVsX2luaXRfZ3RfcG93ZXJzYXZlKHN0cnVjdAo+ID4gZHJtX2RldmljZSAqZGV2KQo+ID4g wqB7Cj4gPiDCoAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9w cml2YXRlOwo+ID4gwqAKPiA+IC0JaTkxNS5lbmFibGVfcmM2ID0gc2FuaXRpemVfcmM2X29wdGlv bihkZXYsCj4gPiBpOTE1LmVuYWJsZV9yYzYpOwo+ID4gwqAJLyoKPiA+IMKgCcKgKiBSUE0gZGVw ZW5kcyBvbiBSQzYgdG8gc2F2ZSByZXN0b3JlIHRoZSBHVCBIVyBjb250ZXh0LAo+ID4gc28gbWFr ZSBSQzYgYQo+ID4gwqAJwqAqIHJlcXVpcmVtZW50Lgo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jCj4gPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3VuY29yZS5jCj4gPiBpbmRleCAyNzdlNjBhLi40M2ZjM2U4IDEwMDY0NAo+ID4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3VuY29yZS5jCj4gPiBAQCAtMzU5LDYgKzM1OSwxMCBAQCB2b2lkIGlu dGVsX3VuY29yZV9lYXJseV9zYW5pdGl6ZShzdHJ1Y3QKPiA+IGRybV9kZXZpY2UgKmRldiwgYm9v bCByZXN0b3JlX2ZvcmNld2FrZSkKPiA+IMKgCj4gPiDCoHZvaWQgaW50ZWxfdW5jb3JlX3Nhbml0 aXplKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gPiDCoHsKPiA+ICsJaTkxNV9nZW1faW5pdF9z dG9sZW5fcmVzZXJ2ZWQoZGV2KTsKPiAKPiBUaGlzIHdvdWxkIG5vdyBiZSBjYWxsZWQgYm90aCBk dXJpbmcgZHJpdmVyIGxvYWRpbmcgYW5kIHJlc3VtZSB3aGljaAo+IGlzCj4gcmVkdW5kYW50LiBB bHNvIGl0IHdvdWxkIHJ1biBiZWZvcmXCoGludGVsX3NldHVwX21jaGJhcigpIHdoaWNoIGlzbid0 Cj4gZ29vZC4gU28gSSB3b3VsZCBzdWdnZXN0IGluc3RlYWQgbW92aW5nIGk5MTVfZ2VtX2luaXRf c3RvbGVuKCkKPiBlYXJsaWVyCj4gYWNjb3JkaW5nIHRvIHRoZSBmb2xsb3dpbmcgYW5kIGNhbGxp bmcgaW50ZWxfdW5jb3JlX3Nhbml0aXplKCkgcmlnaHQKPiBhZnRlciBpdCwgcHJvdmlkZWQgdGhh dCBDaHJpcyBkb2Vzbid0IHNlZSBhbnkgcHJvYmxlbSB3aXRoIHRoYXQ6Cj4gCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZG1hLmMKPiBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZG1hLmMKPiBpbmRleCBhMGY1NjU5Li5mOGNjNjZlIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZG1hLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2RtYS5jCj4gQEAgLTM5MSwyMCArMzkxLDEzIEBAIHN0YXRpYyBpbnQgaTkxNV9sb2Fk X21vZGVzZXRfaW5pdChzdHJ1Y3QKPiBkcm1fZGV2aWNlICpkZXYpCj4gwqAJaWYgKHJldCkKPiDC oAkJZ290byBjbGVhbnVwX3ZnYV9jbGllbnQ7Cj4gwqAKPiAtCS8qIEluaXRpYWxpc2Ugc3RvbGVu IGZpcnN0IHNvIHRoYXQgd2UgbWF5IHJlc2VydmUKPiBwcmVhbGxvY2F0ZWQKPiAtCcKgKiBvYmpl Y3RzIGZvciB0aGUgQklPUyB0byBLTVMgdHJhbnNpdGlvbi4KPiAtCcKgKi8KPiAtCXJldCA9IGk5 MTVfZ2VtX2luaXRfc3RvbGVuKGRldik7Cj4gLQlpZiAocmV0KQo+IC0JCWdvdG8gY2xlYW51cF92 Z2Ffc3dpdGNoZXJvbzsKPiAtCj4gwqAJaW50ZWxfcG93ZXJfZG9tYWluc19pbml0X2h3KGRldl9w cml2LCBmYWxzZSk7Cj4gwqAKPiDCoAlpbnRlbF9jc3JfdWNvZGVfaW5pdChkZXZfcHJpdik7Cj4g wqAKPiDCoAlyZXQgPSBpbnRlbF9pcnFfaW5zdGFsbChkZXZfcHJpdik7Cj4gwqAJaWYgKHJldCkK PiAtCQlnb3RvIGNsZWFudXBfZ2VtX3N0b2xlbjsKPiArCQlnb3RvIGNsZWFudXBfdmdhX3N3aXRj aGVyb287Cj4gwqAKPiDCoAlpbnRlbF9zZXR1cF9nbWJ1cyhkZXYpOwo+IMKgCj4gQEAgLTQ1OCw4 ICs0NTEsNiBAQCBjbGVhbnVwX2lycToKPiDCoAlpbnRlbF9ndWNfdWNvZGVfZmluaShkZXYpOwo+ IMKgCWRybV9pcnFfdW5pbnN0YWxsKGRldik7Cj4gwqAJaW50ZWxfdGVhcmRvd25fZ21idXMoZGV2 KTsKPiAtY2xlYW51cF9nZW1fc3RvbGVuOgo+IC0JaTkxNV9nZW1fY2xlYW51cF9zdG9sZW4oZGV2 KTsKPiDCoGNsZWFudXBfdmdhX3N3aXRjaGVyb286Cj4gwqAJdmdhX3N3aXRjaGVyb29fdW5yZWdp c3Rlcl9jbGllbnQoZGV2LT5wZGV2KTsKPiDCoGNsZWFudXBfdmdhX2NsaWVudDoKPiBAQCAtMTAz Miw2ICsxMDIzLDEyIEBAIGludCBpOTE1X2RyaXZlcl9sb2FkKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsCj4gdW5zaWduZWQgbG9uZyBmbGFncykKPiDCoAo+IMKgCS8qIFRyeSB0byBtYWtlIHN1cmUg TUNIQkFSIGlzIGVuYWJsZWQgYmVmb3JlIHBva2luZyBhdCBpdCAqLwo+IMKgCWludGVsX3NldHVw X21jaGJhcihkZXYpOwo+ICsJLyogSW5pdGlhbGlzZSBzdG9sZW4gZmlyc3Qgc28gdGhhdCB3ZSBt YXkgcmVzZXJ2ZQo+IHByZWFsbG9jYXRlZAo+ICsJwqAqIG9iamVjdHMgZm9yIHRoZSBCSU9TIHRv IEtNUyB0cmFuc2l0aW9uLgo+ICsJwqAqLwo+ICsJcmV0ID0gaTkxNV9nZW1faW5pdF9zdG9sZW4o ZGV2KTsKPiArCWlmIChyZXQpCj4gKwkJZ290byBvdXRfZnJlZV9oYW5nY2hlY2t3cTsKPiDCoAlp bnRlbF9vcHJlZ2lvbl9zZXR1cChkZXYpOwo+IMKgCj4gwqAJaTkxNV9nZW1fbG9hZChkZXYpOwo+ IEBAIC0xMTA0LDggKzExMDEsMTAgQEAgb3V0X2dlbV91bmxvYWQ6Cj4gwqAJaWYgKGRldi0+cGRl di0+bXNpX2VuYWJsZWQpCj4gwqAJCXBjaV9kaXNhYmxlX21zaShkZXYtPnBkZXYpOwo+IMKgCj4g KwlpOTE1X2dlbV9jbGVhbnVwX3N0b2xlbihkZXYpOwo+IMKgCWludGVsX3RlYXJkb3duX21jaGJh cihkZXYpOwo+IMKgCXBtX3Fvc19yZW1vdmVfcmVxdWVzdCgmZGV2X3ByaXYtPnBtX3Fvcyk7Cj4g K291dF9mcmVlX2hhbmdjaGVja3dxOgo+IMKgCWRlc3Ryb3lfd29ya3F1ZXVlKGRldl9wcml2LT5n cHVfZXJyb3IuaGFuZ2NoZWNrX3dxKTsKPiDCoG91dF9mcmVlZHB3cToKPiDCoAlkZXN0cm95X3dv cmtxdWV1ZShkZXZfcHJpdi0+aG90cGx1Zy5kcF93cSk7Cj4gCj4gCj4gPiArCj4gPiArCWk5MTUu ZW5hYmxlX3JjNiA9IHNhbml0aXplX3JjNl9vcHRpb24oZGV2LAo+ID4gaTkxNS5lbmFibGVfcmM2 KTsKPiA+ICsKPiA+IMKgCS8qIEJJT1Mgb2Z0ZW4gbGVhdmVzIFJDNiBlbmFibGVkLCBidXQgZGlz YWJsZSBpdCBmb3IgaHcKPiA+IGluaXQgKi8KPiA+IMKgCWludGVsX2Rpc2FibGVfZ3RfcG93ZXJz YXZlKGRldik7Cj4gPiDCoH0KPiAKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwo+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lu dGVsLWdmeAo=