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:44:46 +0200 Message-ID: <1452869086.5306.20.camel@intel.com> References: <1452786971-2258-1-git-send-email-sagar.a.kamble@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 mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTP id DD3856EB81 for ; Fri, 15 Jan 2016 06:44:49 -0800 (PST) In-Reply-To: <1452786971-2258-1-git-send-email-sagar.a.kamble@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 QWRkaW5nIENocmlzLiBXZSB3b3VsZCBuZWVkIHN0b2xlbl9iYXNlIGFuZCBzaXplIGVhcmx5LCBj b3VsZCB5b3UgY2hlY2sKaWYgbW92aW5nIGk5MTVfZ2VtX2luaXRfc3RvbGVuKCkgZWFybGllciBi YXNlZCBvbiB0aGUgZGlmZiBhdCB0aGUgZW5kCmlzIG9rPwoKT24gdG8sIDIwMTYtMDEtMTQgYXQg MjE6MjYgKzA1MzAsIFNhZ2FyIEFydW4gS2FtYmxlIHdyb3RlOgo+IFJDNiBzZXR1cCBpcyBzaGFy ZWQgYmV0d2VlbiBCSU9TIGFuZCBEcml2ZXIuIEJJT1Mgc2V0cyB1cCBzdWJzZXQgb2YgUkM2Cj4g c2V0dXAgcmVnaXN0ZXJzLiBJZiB0aG9zZSBhcmUgbm90IHNldHVwIERyaXZlciBzaG91bGQgbm90 IGVuYWJsZSBSQzYuCj4gRm9yIGltcGxlbWVudGluZyB0aGlzLCBkcml2ZXIgY2FuIGNoZWNrIFJD X0NUUkwwIGFuZCBSQ19DVFJMMSB2YWx1ZXMKPiB0byBrbm93IGlmIEJJT1MgaGFzIGVuYWJsZWQg SFcvU1cgUkM2Lgo+IFRoaXMgd2lsbCBhbHNvIGVuYWJsZSB1c2VyIHRvIGNvbnRyb2wgUkM2IHVz aW5nIEJJT1Mgc2V0dGluZ3MgYWxvbmUuCj4gUkM2IHJlbGF0ZWQgaW5zdGFiaWxpdHkgY2FuIGJl IGF2b2lkZWQgYnkgZGlzYWJsaW5nIHZpYSBCSU9TIHNldHRpbmdzCj4gdGlsbCBkcml2ZXIgZml4 ZXMgaXQuCj4gCj4gdjI6IEhhZCBwbGFjZWQgbG9naWMgaW4gZ2VuOCBmdW5jdGlvbiBieSBtaXN0 YWtlLiBGaXhlZCBpdC4KPiBFbnN1cmluZyBSUE0gaXMgbm90IGVuYWJsZWQgaW4gY2FzZSBCSU9T IGRpc2FibGVkIFJDNi4KPiAKPiB2MzogTmVlZCB0byBkaXNhYmxlIFJQTSBpZiBSQzYgaXMgZGlz YWJsZWQgZHVlIHRvIEJJT1Mgc2V0dGluZ3MuIChEYW5pZWwpCj4gUnVudGltZSBQTSBlbmFibGlu ZyBoYXBwZW5zIGJlZm9yZSBnZW45X2VuYWJsZV9yYzYuCj4gTW92ZWQgdGhlIHVwZGF0aW9uIG9m IGVuYWJsZV9yYzYgcGFyYW1ldGVyIGluIGludGVsX3VuY29yZV9zYW5pdGl6ZS4KPiAKPiB2NDog QWRkZWQgZWxhYm9yYXRlIGNoZWNrIGZvciBCSU9TIFJDNiBzZXR1cC4gUHJlcGFyZWQgY2hlY2tf cGN0eCBmb3IgYnh0LiAoSW1yZSkKPiAKPiB2NTogQ2FjaGluZyByZXNlcnZlZCBzdG9sZW4gYmFz ZSBhbmQgc2l6ZSBpbiB0aGUgZHJpdmVyIHByaXZhdGUgZGF0YS4KPiBSZW9yZ2FuaXplZCBSQzYg c2V0dXAgY2hlY2suIE1vdmVkIGZyb20gZ2VuOV9lbmFibGVfcmM2IHRvIGludGVsX3VuY29yZV9z YW5pdGl6ZS4gKEltcmUpCj4gCj4gQ2M6IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVsLmNvbT4K PiBDaGFuZ2UtSWQ6IElmODk1MTg3MDhlMTMzYmU2YjNjN2M2ZjkwODY5ZmI2NjIyNGI3Yjg3Cj4g U2lnbmVkLW9mZi1ieTogU2FnYXIgQXJ1biBLYW1ibGUgPHNhZ2FyLmEua2FtYmxlQGludGVsLmNv bT4KPiAtLS0KPiDCoGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmjCoMKgwqDCoMKgwqDC oMKgfMKgwqAxICsKPiDCoGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5owqDCoMKg wqB8wqDCoDIgKysKPiDCoGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3N0b2xlbi5jIHwg MzkgKysrKysrKysrKysrKysrKysrLS0tLQo+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZWcuaMKgwqDCoMKgwqDCoMKgwqB8IDExICsrKysrKysKPiDCoGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rydi5owqDCoMKgwqDCoMKgwqB8wqDCoDEgKwo+IMKgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcG0uY8KgwqDCoMKgwqDCoMKgwqB8IDU5ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrLS0KPiDCoGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jwqDCoMKg wqB8wqDCoDQgKysrCj4gwqA3IGZpbGVzIGNoYW5nZWQsIDEwOSBpbnNlcnRpb25zKCspLCA4IGRl bGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IGluZGV4IGNmN2UwZmMuLjBj OGU2MWMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBAQCAtMzIyMyw2ICszMjIzLDcg QEAgaW50IGk5MTVfZ2VtX3N0b2xlbl9pbnNlcnRfbm9kZV9pbl9yYW5nZShzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gwqAJCQkJCcKgdTY0IGVuZCk7Cj4gwqB2b2lkIGk5MTVf Z2VtX3N0b2xlbl9yZW1vdmVfbm9kZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs Cj4gwqAJCQkJwqBzdHJ1Y3QgZHJtX21tX25vZGUgKm5vZGUpOwo+ICtpbnQgaTkxNV9nZW1faW5p dF9zdG9sZW5fcmVzZXJ2ZWQoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4gwqBpbnQgaTkxNV9n ZW1faW5pdF9zdG9sZW4oc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4gwqB2b2lkIGk5MTVfZ2Vt X2NsZWFudXBfc3RvbGVuKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+IMKgc3RydWN0IGRybV9p OTE1X2dlbV9vYmplY3QgKgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9ndHQuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCj4gaW5kZXgg YjQ0OGFkOC4uMjBmZjZjYSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9ndHQuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCj4g QEAgLTM0Myw2ICszNDMsOCBAQCBzdHJ1Y3QgaTkxNV9ndHQgewo+IMKgCj4gwqAJc2l6ZV90IHN0 b2xlbl9zaXplOwkJLyogVG90YWwgc2l6ZSBvZiBzdG9sZW4gbWVtb3J5ICovCj4gwqAJc2l6ZV90 IHN0b2xlbl91c2FibGVfc2l6ZTsJLyogVG90YWwgc2l6ZSBtaW51cyBCSU9TIHJlc2VydmVkICov Cj4gKwlzaXplX3Qgc3RvbGVuX3Jlc2VydmVkX2Jhc2U7Cj4gKwlzaXplX3Qgc3RvbGVuX3Jlc2Vy dmVkX3NpemU7Cj4gwqAJdTY0IG1hcHBhYmxlX2VuZDsJCS8qIEVuZCBvZmZzZXQgdGhhdCB3ZSBj YW4gQ1BVIG1hcCAqLwo+IMKgCXN0cnVjdCBpb19tYXBwaW5nICptYXBwYWJsZTsJLyogTWFwcGlu ZyB0byBvdXIgQ1BVIG1hcHBhYmxlIHJlZ2lvbiAqLwo+IMKgCXBoeXNfYWRkcl90IG1hcHBhYmxl X2Jhc2U7CS8qIFBBIG9mIG91ciBHTUFEUiAqLwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9zdG9sZW4uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X3N0b2xlbi5jCj4gaW5kZXggMzQ3Njg3Ny4uZDVhNjVkOSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9zdG9sZW4uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX3N0b2xlbi5jCj4gQEAgLTM4NiwxNCArMzg2LDEyIEBAIHN0YXRpYyB2b2lk IGJkd19nZXRfc3RvbGVuX3Jlc2VydmVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKPiDCoAkJKnNpemUgPSBzdG9sZW5fdG9wIC0gKmJhc2U7Cj4gwqB9Cj4gwqAKPiAtaW50IGk5 MTVfZ2VtX2luaXRfc3RvbGVuKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gK2ludCBpOTE1X2dl bV9pbml0X3N0b2xlbl9yZXNlcnZlZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+IMKgewo+IMKg CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4g LQl1bnNpZ25lZCBsb25nIHJlc2VydmVkX3RvdGFsLCByZXNlcnZlZF9iYXNlID0gMCwgcmVzZXJ2 ZWRfc2l6ZTsKPiArCXVuc2lnbmVkIGxvbmcgcmVzZXJ2ZWRfYmFzZSA9IDAsIHJlc2VydmVkX3Np emU7Cj4gwqAJdW5zaWduZWQgbG9uZyBzdG9sZW5fdG9wOwo+IMKgCj4gLQltdXRleF9pbml0KCZk ZXZfcHJpdi0+bW0uc3RvbGVuX2xvY2spOwo+IC0KPiDCoCNpZmRlZiBDT05GSUdfSU5URUxfSU9N TVUKPiDCoAlpZiAoaW50ZWxfaW9tbXVfZ2Z4X21hcHBlZCAmJiBJTlRFTF9JTkZPKGRldiktPmdl biA8IDgpIHsKPiDCoAkJRFJNX0lORk8oIkRNQVIgYWN0aXZlLCBkaXNhYmxpbmcgdXNlIG9mIHN0 b2xlbiBtZW1vcnlcbiIpOwo+IEBAIC00NTgsOSArNDU2LDM4IEBAIGludCBpOTE1X2dlbV9pbml0 X3N0b2xlbihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+IMKgCQlyZXR1cm4gMDsKPiDCoAl9Cj4g wqAKPiArCWRldl9wcml2LT5ndHQuc3RvbGVuX3Jlc2VydmVkX2Jhc2UgPSByZXNlcnZlZF9iYXNl Owo+ICsJZGV2X3ByaXYtPmd0dC5zdG9sZW5fcmVzZXJ2ZWRfc2l6ZSA9IHJlc2VydmVkX3NpemU7 Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gK2ludCBpOTE1X2dlbV9pbml0X3N0b2xlbihz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICt7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICsJdW5zaWduZWQgbG9uZyByZXNlcnZlZF90 b3RhbDsKPiArCXVuc2lnbmVkIGxvbmcgc3RvbGVuX3RvcDsKPiArCj4gKwltdXRleF9pbml0KCZk ZXZfcHJpdi0+bW0uc3RvbGVuX2xvY2spOwo+ICsKPiArI2lmZGVmIENPTkZJR19JTlRFTF9JT01N VQo+ICsJaWYgKGludGVsX2lvbW11X2dmeF9tYXBwZWQgJiYgSU5URUxfSU5GTyhkZXYpLT5nZW4g PCA4KSB7Cj4gKwkJRFJNX0lORk8oIkRNQVIgYWN0aXZlLCBkaXNhYmxpbmcgdXNlIG9mIHN0b2xl biBtZW1vcnlcbiIpOwo+ICsJCXJldHVybiAwOwo+ICsJfQo+ICsjZW5kaWYKPiArCj4gKwlpZiAo ZGV2X3ByaXYtPmd0dC5zdG9sZW5fc2l6ZSA9PSAwKQo+ICsJCXJldHVybiAwOwo+ICsKPiArCWlm IChkZXZfcHJpdi0+bW0uc3RvbGVuX2Jhc2UgPT0gMCkKPiArCQlyZXR1cm4gMDsKPiArCj4gKwlz dG9sZW5fdG9wID0gZGV2X3ByaXYtPm1tLnN0b2xlbl9iYXNlICsgZGV2X3ByaXYtPmd0dC5zdG9s ZW5fc2l6ZTsKPiArCj4gwqAJLyogSXQgaXMgcG9zc2libGUgZm9yIHRoZSByZXNlcnZlZCBhcmVh IHRvIGVuZCBiZWZvcmUgdGhlIGVuZCBvZiBzdG9sZW4KPiAtCcKgKiBtZW1vcnksIHNvIGp1c3Qg Y29uc2lkZXIgdGhlIHN0YXJ0LiAqLwo+IC0JcmVzZXJ2ZWRfdG90YWwgPSBzdG9sZW5fdG9wIC0g cmVzZXJ2ZWRfYmFzZTsKPiArCSogbWVtb3J5LCBzbyBqdXN0IGNvbnNpZGVyIHRoZSBzdGFydC4g Ki8KPiArCXJlc2VydmVkX3RvdGFsID0gc3RvbGVuX3RvcCAtIGRldl9wcml2LT5ndHQuc3RvbGVu X3Jlc2VydmVkX2Jhc2U7Cj4gwqAKPiDCoAlEUk1fREVCVUdfS01TKCJNZW1vcnkgcmVzZXJ2ZWQg Zm9yIGdyYXBoaWNzIGRldmljZTogJXp1SywgdXNhYmxlOiAlbHVLXG4iLAo+IMKgCQnCoMKgwqDC oMKgwqBkZXZfcHJpdi0+Z3R0LnN0b2xlbl9zaXplID4+IDEwLAoKSG0sIEkgZG9uJ3Qgc2VlIGEg cmVhc29uIHRvIHNwbGl0wqBpOTE1X2dlbV9pbml0X3N0b2xlbigpCmFuZMKgaTkxNV9nZW1faW5p dF9zdG9sZW5fcmVzZXJ2ZWQoKS4gV2UgY291bGQganVzdCBicmluZwppOTE1X2dlbV9pbml0X3N0 b2xlbigpIGVhcmxpZXIgKGluIGEgc2VwYXJhdGUgcGF0Y2gpLCBzZWUgd2hhdCBJIG1lYW50CmF0 IHRoZSBlbmQuCgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5o IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+IGluZGV4IDAwN2FlODMuLjE5ZGRm NzkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiBAQCAtNjc2NSw2ICs2NzY1LDE2IEBA IGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+IMKgCj4gwqAjZGVmaW5lwqDCoFZMVl9QTVdH SUNaCQkJCV9NTUlPKDB4MTMwMGE0KQo+IMKgCj4gKyNkZWZpbmXCoMKgUkM2X0xPQ0FUSU9OCQkJ CV9NTUlPKDB4RDQwKQo+ICsjZGVmaW5lwqDCoFJDNl9DVFhfSU5fRFJBTQkJCTEKPiArI2RlZmlu ZcKgwqBSQzZfQ1RYX0JBU0UJCQkJX01NSU8oMHhENDgpCj4gKyNkZWZpbmXCoMKgUkM2X0NUWF9C QVNFX01BU0sJCQkweEZGRkZGRkYwCj4gKyNkZWZpbmXCoMKgUFdSQ1RYX01BWENOVF9SQ1NVTklU CQkJX01NSU8oMHgyMDU0KQo+ICsjZGVmaW5lwqDCoFBXUkNUWF9NQVhDTlRfVkNTVU5JVDAJCQlf TU1JTygweDEyMDU0KQo+ICsjZGVmaW5lwqDCoFBXUkNUWF9NQVhDTlRfQkNTVU5JVAkJCV9NTUlP KDB4MjIwNTQpCj4gKyNkZWZpbmXCoMKgUFdSQ1RYX01BWENOVF9WRUNTVU5JVAkJCV9NTUlPKDB4 MUEwNTQpCj4gKyNkZWZpbmXCoMKgUFdSQ1RYX01BWENOVF9WQ1NVTklUMQkJCV9NTUlPKDB4MUMw NTQpCj4gKyNkZWZpbmXCoMKgSURMRV9USU1FX01BU0sJCQkJMHhGRkZGRgo+IMKgI2RlZmluZcKg wqBGT1JDRVdBS0UJCQkJX01NSU8oMHhBMThDKQo+IMKgI2RlZmluZcKgwqBGT1JDRVdBS0VfVkxW CQkJCV9NTUlPKDB4MTMwMGIwKQo+IMKgI2RlZmluZcKgwqBGT1JDRVdBS0VfQUNLX1ZMVgkJCV9N TUlPKDB4MTMwMGI0KQo+IEBAIC02OTAzLDYgKzY5MTMsNyBAQCBlbnVtIHNrbF9kaXNwX3Bvd2Vy X3dlbGxzIHsKPiDCoCNkZWZpbmUgR0VONl9SUERFVUMJCQkJX01NSU8oMHhBMDg0KQo+IMKgI2Rl ZmluZSBHRU42X1JQREVVQ1NXCQkJCV9NTUlPKDB4QTA4OCkKPiDCoCNkZWZpbmUgR0VONl9SQ19T VEFURQkJCQlfTU1JTygweEEwOTQpCj4gKyNkZWZpbmUgUkM2X1NUQVRFCQkJCSgxPDwxOCkKPiDC oCNkZWZpbmUgR0VONl9SQzFfV0FLRV9SQVRFX0xJTUlUCQlfTU1JTygweEEwOTgpCj4gwqAjZGVm aW5lIEdFTjZfUkM2X1dBS0VfUkFURV9MSU1JVAkJX01NSU8oMHhBMDlDKQo+IMKgI2RlZmluZSBH RU42X1JDNnBwX1dBS0VfUkFURV9MSU1JVAkJX01NSU8oMHhBMEEwKQo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rydi5oCj4gaW5kZXggMDQzOGI1Ny4uZjIyYmFlZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rydi5oCj4gQEAgLTE1NjQsNiArMTU2NCw3IEBAIHZvaWQgc2tsX3dtX2dldF9od19zdGF0 ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiDCoHZvaWQgc2tsX2RkYl9nZXRfaHdfc3RhdGUo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+IMKgCQkJwqDCoHN0cnVjdCBza2xf ZGRiX2FsbG9jYXRpb24gKmRkYiAvKiBvdXQgKi8pOwo+IMKgdWludDMyX3QgaWxrX3BpcGVfcGl4 ZWxfcmF0ZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcpOwo+ICtp bnQgc2FuaXRpemVfcmM2X29wdGlvbihjb25zdCBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQg ZW5hYmxlX3JjNik7Cj4gwqAKPiDCoC8qIGludGVsX3Nkdm8uYyAqLwo+IMKgYm9vbCBpbnRlbF9z ZHZvX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMK PiBpbmRleCAwMmZlMDgxLi5jOWEzMmE0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3BtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4g QEAgLTQ1MTgsMTIgKzQ1MTgsNjggQEAgc3RhdGljIHZvaWQgaW50ZWxfcHJpbnRfcmM2X2luZm8o c3RydWN0IGRybV9kZXZpY2UgKmRldiwgdTMyIG1vZGUpCj4gwqAJCQnCoMKgwqDCoMKgwqAobW9k ZSAmIEdFTjZfUkNfQ1RMX1JDNl9FTkFCTEUpID8gIm9uIiA6ICJvZmYiKTsKPiDCoH0KPiDCoAo+ IC1zdGF0aWMgaW50IHNhbml0aXplX3JjNl9vcHRpb24oY29uc3Qgc3RydWN0IGRybV9kZXZpY2Ug KmRldiwgaW50IGVuYWJsZV9yYzYpCj4gK3N0YXRpYyBib29sIGJ4dF9jaGVja19iaW9zX3JjNl9z ZXR1cChjb25zdCBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICt7Cj4gKwlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICsJYm9vbCBlbmFibGVf cmM2ID0gdHJ1ZTsKPiArCXVuc2lnbmVkIGxvbmcgcmM2X2N0eF9iYXNlOwo+ICsJYm9vbCBiaW9z X2h3X3JjNl9lbmFibGVkLCBiaW9zX3N3X3JjNl9lbmFibGVkOwo+ICsKPiArCWJpb3NfaHdfcmM2 X2VuYWJsZWQgPSBJOTE1X1JFQUQoR0VONl9SQ19DT05UUk9MKSAmCj4gKwkJCQkoR0VONl9SQ19D VExfUkM2X0VOQUJMRSB8Cj4gKwkJCQkJR0VONl9SQ19DVExfSFdfRU5BQkxFKTsKPiArCWJpb3Nf c3dfcmM2X2VuYWJsZWQgPSAhKEk5MTVfUkVBRChHRU42X1JDX0NPTlRST0wpICYKPiArCQkJCUdF TjZfUkNfQ1RMX0hXX0VOQUJMRSkgJiYKPiArCQkJCShJOTE1X1JFQUQoR0VONl9SQ19TVEFURSkg JiBSQzZfU1RBVEUpOwo+ICsKPiArCWlmICghKEk5MTVfUkVBRChSQzZfTE9DQVRJT04pICYgUkM2 X0NUWF9JTl9EUkFNKSkgewo+ICsJCURSTV9ERUJVR19LTVMoIlJDNiBCYXNlIGxvY2F0aW9uIG5v dCBzZXQgcHJvcGVybHkuXG4iKTsKPiArCQllbmFibGVfcmM2ID0gZmFsc2U7Cj4gKwl9Cj4gKwo+ ICsJcmM2X2N0eF9iYXNlID0gSTkxNV9SRUFEKFJDNl9DVFhfQkFTRSkgJiBSQzZfQ1RYX0JBU0Vf TUFTSzsKPiArCWlmICghKChyYzZfY3R4X2Jhc2UgPj0gZGV2X3ByaXYtPmd0dC5zdG9sZW5fcmVz ZXJ2ZWRfYmFzZSkgJiYKPiArCQkocmM2X2N0eF9iYXNlIDw9IChkZXZfcHJpdi0+Z3R0LnN0b2xl bl9yZXNlcnZlZF9iYXNlICsKPiArCQkJCQlkZXZfcHJpdi0+Z3R0LnN0b2xlbl9yZXNlcnZlZF9z aXplKSkpKSB7Cj4gKwkJRFJNX0RFQlVHX0tNUygiUkM2IEJhc2UgYWRkcmVzcyBub3QgYXMgZXhw ZWN0ZWQuXG4iKTsKPiArCQllbmFibGVfcmM2ID0gZmFsc2U7Cj4gKwl9Cj4gKwo+ICsJaWYgKCEo KChJOTE1X1JFQUQoUFdSQ1RYX01BWENOVF9SQ1NVTklUKSAmIElETEVfVElNRV9NQVNLKSA+IDEp ICYmCj4gKwnCoMKgwqDCoMKgwqAoKEk5MTVfUkVBRChQV1JDVFhfTUFYQ05UX1ZDU1VOSVQwKSAm IElETEVfVElNRV9NQVNLKSA+IDEpICYmCj4gKwnCoMKgwqDCoMKgwqAoKEk5MTVfUkVBRChQV1JD VFhfTUFYQ05UX0JDU1VOSVQpICYgSURMRV9USU1FX01BU0spID4gMSkgJiYKPiArCcKgwqDCoMKg wqDCoCgoSTkxNV9SRUFEKFBXUkNUWF9NQVhDTlRfVkVDU1VOSVQpICYgSURMRV9USU1FX01BU0sp ID4gMSkpKSB7Cj4gKwkJRFJNX0RFQlVHX0tNUygiRW5naW5lIElkbGUgd2FpdCB0aW1lIG5vdCBz ZXQgcHJvcGVybHkuXG4iKTsKPiArCQllbmFibGVfcmM2ID0gZmFsc2U7Cj4gKwl9Cj4gKwo+ICsJ aWYgKEhBU19CU0QyKGRldikgJiYKPiArCQkoKEk5MTVfUkVBRChQV1JDVFhfTUFYQ05UX1ZDU1VO SVQxKSAmIElETEVfVElNRV9NQVNLKSA+IDEpKSB7Cj4gKwkJRFJNX0RFQlVHX0tNUygiVkNTVU5J VDEgSWRsZSB3YWl0IHRpbWUgbm90IHNldCBwcm9wZXJseS5cbiIpOwo+ICsJCWVuYWJsZV9yYzYg PSBmYWxzZTsKPiArCX0KPiArCj4gKwlpZiAoIWJpb3NfaHdfcmM2X2VuYWJsZWQgJiYgIWJpb3Nf c3dfcmM2X2VuYWJsZWQpIHsKPiArCQlEUk1fREVCVUdfS01TKCJIVy9TVyBSQzYgaXMgbm90IGVu YWJsZWQgYnkgQklPUy5cbiIpOwo+ICsJCWVuYWJsZV9yYzYgPSBmYWxzZTsKPiArCX0KPiArCj4g KwlyZXR1cm4gZW5hYmxlX3JjNjsKPiArfQo+ICsKPiAraW50IHNhbml0aXplX3JjNl9vcHRpb24o Y29uc3Qgc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IGVuYWJsZV9yYzYpCj4gwqB7Cj4gwqAJ LyogTm8gUkM2IGJlZm9yZSBJcm9ubGFrZSBhbmQgY29kZSBpcyBnb25lIGZvciBpbGsuICovCj4g wqAJaWYgKElOVEVMX0lORk8oZGV2KS0+Z2VuIDwgNikKPiDCoAkJcmV0dXJuIDA7CgpQbGVhc2Ug YWxzbyBhZGQgaGVyZSBhbiBlYXJseSByZXR1cm4gaWYgZW5hYmxlX3JjNiBpcyBhbHJlYWR5IDAs IHNvIHdlCmRvbid0IGdldCByZWR1bmRhbnQgIlJDNiBkaXNhYmxlZCIgbWVzc2FnZXMgaW4gdGhl IGxvZy4KCj4gwqAKPiArCWlmIChJU19CUk9YVE9OKGRldikpIHsKPiArCQlpZiAoIWJ4dF9jaGVj a19iaW9zX3JjNl9zZXR1cChkZXYpKSB7CgpOaXRwaWNrLCBjb3VsZCBiZSBhIHNpbmdsZSBpZi4K Cj4gKwkJCURSTV9JTkZPKCJSQzYgZGlzYWJsZWQgYnkgQklPU1xuIik7Cj4gKwkJCXJldHVybiAw Owo+ICsJCX0KPiArCX0KPiArCj4gwqAJLyogUmVzcGVjdCB0aGUga2VybmVsIHBhcmFtZXRlciBp ZiBpdCBpcyBzZXQgKi8KPiDCoAlpZiAoZW5hYmxlX3JjNiA+PSAwKSB7Cj4gwqAJCWludCBtYXNr Owo+IEBAIC02MDE0LDcgKzYwNzAsNiBAQCB2b2lkIGludGVsX2luaXRfZ3RfcG93ZXJzYXZlKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gwqB7Cj4gwqAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiDCoAo+IC0JaTkxNS5lbmFibGVfcmM2ID0g c2FuaXRpemVfcmM2X29wdGlvbihkZXYsIGk5MTUuZW5hYmxlX3JjNik7Cj4gwqAJLyoKPiDCoAnC oCogUlBNIGRlcGVuZHMgb24gUkM2IHRvIHNhdmUgcmVzdG9yZSB0aGUgR1QgSFcgY29udGV4dCwg c28gbWFrZSBSQzYgYQo+IMKgCcKgKiByZXF1aXJlbWVudC4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF91bmNvcmUuYwo+IGluZGV4IDI3N2U2MGEuLjQzZmMzZTggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF91bmNvcmUuYwo+IEBAIC0zNTksNiArMzU5LDEwIEBAIHZvaWQgaW50ZWxfdW5jb3Jl X2Vhcmx5X3Nhbml0aXplKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGJvb2wgcmVzdG9yZV9mb3Jj ZXdha2UpCj4gwqAKPiDCoHZvaWQgaW50ZWxfdW5jb3JlX3Nhbml0aXplKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYpCj4gwqB7Cj4gKwlpOTE1X2dlbV9pbml0X3N0b2xlbl9yZXNlcnZlZChkZXYpOwoK VGhpcyB3b3VsZCBub3cgYmUgY2FsbGVkIGJvdGggZHVyaW5nIGRyaXZlciBsb2FkaW5nIGFuZCBy ZXN1bWUgd2hpY2ggaXMKcmVkdW5kYW50LiBBbHNvIGl0IHdvdWxkIHJ1biBiZWZvcmXCoGludGVs X3NldHVwX21jaGJhcigpIHdoaWNoIGlzbid0Cmdvb2QuIFNvIEkgd291bGQgc3VnZ2VzdCBpbnN0 ZWFkIG1vdmluZyBpOTE1X2dlbV9pbml0X3N0b2xlbigpIGVhcmxpZXIKYWNjb3JkaW5nIHRvIHRo ZSBmb2xsb3dpbmcgYW5kIGNhbGxpbmcgaW50ZWxfdW5jb3JlX3Nhbml0aXplKCkgcmlnaHQKYWZ0 ZXIgaXQsIHByb3ZpZGVkIHRoYXQgQ2hyaXMgZG9lc24ndCBzZWUgYW55IHByb2JsZW0gd2l0aCB0 aGF0OgoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZG1hLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RtYS5jCmluZGV4IGEwZjU2NTkuLmY4Y2M2NmUgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZG1hLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kbWEuYwpAQCAtMzkxLDIwICszOTEsMTMgQEAgc3RhdGljIGludCBpOTE1 X2xvYWRfbW9kZXNldF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCsKgCWlmIChyZXQpCsKg CQlnb3RvIGNsZWFudXBfdmdhX2NsaWVudDsKwqAKLQkvKiBJbml0aWFsaXNlIHN0b2xlbiBmaXJz dCBzbyB0aGF0IHdlIG1heSByZXNlcnZlIHByZWFsbG9jYXRlZAotCcKgKiBvYmplY3RzIGZvciB0 aGUgQklPUyB0byBLTVMgdHJhbnNpdGlvbi4KLQnCoCovCi0JcmV0ID0gaTkxNV9nZW1faW5pdF9z dG9sZW4oZGV2KTsKLQlpZiAocmV0KQotCQlnb3RvIGNsZWFudXBfdmdhX3N3aXRjaGVyb287Ci0K wqAJaW50ZWxfcG93ZXJfZG9tYWluc19pbml0X2h3KGRldl9wcml2LCBmYWxzZSk7CsKgCsKgCWlu dGVsX2Nzcl91Y29kZV9pbml0KGRldl9wcml2KTsKwqAKwqAJcmV0ID0gaW50ZWxfaXJxX2luc3Rh bGwoZGV2X3ByaXYpOwrCoAlpZiAocmV0KQotCQlnb3RvIGNsZWFudXBfZ2VtX3N0b2xlbjsKKwkJ Z290byBjbGVhbnVwX3ZnYV9zd2l0Y2hlcm9vOwrCoArCoAlpbnRlbF9zZXR1cF9nbWJ1cyhkZXYp OwrCoApAQCAtNDU4LDggKzQ1MSw2IEBAIGNsZWFudXBfaXJxOgrCoAlpbnRlbF9ndWNfdWNvZGVf ZmluaShkZXYpOwrCoAlkcm1faXJxX3VuaW5zdGFsbChkZXYpOwrCoAlpbnRlbF90ZWFyZG93bl9n bWJ1cyhkZXYpOwotY2xlYW51cF9nZW1fc3RvbGVuOgotCWk5MTVfZ2VtX2NsZWFudXBfc3RvbGVu KGRldik7CsKgY2xlYW51cF92Z2Ffc3dpdGNoZXJvbzoKwqAJdmdhX3N3aXRjaGVyb29fdW5yZWdp c3Rlcl9jbGllbnQoZGV2LT5wZGV2KTsKwqBjbGVhbnVwX3ZnYV9jbGllbnQ6CkBAIC0xMDMyLDYg KzEwMjMsMTIgQEAgaW50IGk5MTVfZHJpdmVyX2xvYWQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwg dW5zaWduZWQgbG9uZyBmbGFncykKwqAKwqAJLyogVHJ5IHRvIG1ha2Ugc3VyZSBNQ0hCQVIgaXMg ZW5hYmxlZCBiZWZvcmUgcG9raW5nIGF0IGl0ICovCsKgCWludGVsX3NldHVwX21jaGJhcihkZXYp OworCS8qIEluaXRpYWxpc2Ugc3RvbGVuIGZpcnN0IHNvIHRoYXQgd2UgbWF5IHJlc2VydmUgcHJl YWxsb2NhdGVkCisJwqAqIG9iamVjdHMgZm9yIHRoZSBCSU9TIHRvIEtNUyB0cmFuc2l0aW9uLgor CcKgKi8KKwlyZXQgPSBpOTE1X2dlbV9pbml0X3N0b2xlbihkZXYpOworCWlmIChyZXQpCisJCWdv dG8gb3V0X2ZyZWVfaGFuZ2NoZWNrd3E7CsKgCWludGVsX29wcmVnaW9uX3NldHVwKGRldik7CsKg CsKgCWk5MTVfZ2VtX2xvYWQoZGV2KTsKQEAgLTExMDQsOCArMTEwMSwxMCBAQCBvdXRfZ2VtX3Vu bG9hZDoKwqAJaWYgKGRldi0+cGRldi0+bXNpX2VuYWJsZWQpCsKgCQlwY2lfZGlzYWJsZV9tc2ko ZGV2LT5wZGV2KTsKwqAKKwlpOTE1X2dlbV9jbGVhbnVwX3N0b2xlbihkZXYpOwrCoAlpbnRlbF90 ZWFyZG93bl9tY2hiYXIoZGV2KTsKwqAJcG1fcW9zX3JlbW92ZV9yZXF1ZXN0KCZkZXZfcHJpdi0+ cG1fcW9zKTsKK291dF9mcmVlX2hhbmdjaGVja3dxOgrCoAlkZXN0cm95X3dvcmtxdWV1ZShkZXZf cHJpdi0+Z3B1X2Vycm9yLmhhbmdjaGVja193cSk7CsKgb3V0X2ZyZWVkcHdxOgrCoAlkZXN0cm95 X3dvcmtxdWV1ZShkZXZfcHJpdi0+aG90cGx1Zy5kcF93cSk7CgoKPiArCj4gKwlpOTE1LmVuYWJs ZV9yYzYgPSBzYW5pdGl6ZV9yYzZfb3B0aW9uKGRldiwgaTkxNS5lbmFibGVfcmM2KTsKPiArCj4g wqAJLyogQklPUyBvZnRlbiBsZWF2ZXMgUkM2IGVuYWJsZWQsIGJ1dCBkaXNhYmxlIGl0IGZvciBo dyBpbml0ICovCj4gwqAJaW50ZWxfZGlzYWJsZV9ndF9wb3dlcnNhdmUoZGV2KTsKPiDCoH0KCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=