From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: Re: [PATCH 2/4] drm/i915: Read czclk from CCK on vlv/chv Date: Mon, 28 Sep 2015 22:31:49 +0300 Message-ID: <1443468709.3990.17.camel@intel.com> References: <1443126560-26006-1-git-send-email-ville.syrjala@linux.intel.com> <1443126560-26006-3-git-send-email-ville.syrjala@linux.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 6F1E76E9B7 for ; Mon, 28 Sep 2015 12:32:08 -0700 (PDT) In-Reply-To: <1443126560-26006-3-git-send-email-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: ville.syrjala@linux.intel.com Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCAyMDE1LTA5LTI0IGF0IDIzOjI5ICswMzAwLCB2aWxsZS5zeXJqYWxhQGxpbnV4Lmlu dGVsLmNvbSB3cm90ZToKPiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGlu dXguaW50ZWwuY29tPgo+IAo+IEFzIHdpdGggdGhlIGNkY2xrLCByZWFkIG91dCBjemNsayBmcm9t IENDSyBhcyB3ZWxsLiBUaGlzIGdpdmVzIHVzIHRoZQo+IHJlYWwgY3VycmVudCB2YWx1ZSBhbmQg YXZvaWRzIGhhdmluZyB0byBkZWNvZGUgZnVzZXMgYW5kIHdoYXRub3QuCj4gCj4gQWxzbyBzdG9y ZSBpdCBpbiBrSHogdW5kZXIgZGV2X3ByaXYgbGlrZSB3ZSBkbyBmb3IgY2RsY2sgc2luY2UgaXQn cyBub3QKPiBqdXN0IGFuIHJwcyByZWxhdGVkIGNsb2NrLCBhbmQgaGF2aW5nIGl0IGluIGtIeiBp cyBtb3JlCj4gc3RhbmRhcmQvY29udmVuaWVudCBmb3Igc29tZSB0aGluZ3MuCj4gCj4gSW1yZSBh bHNvIHBvaW50ZWQgb3V0IHRoYXQgd2UgY3VycmVudGx5IGZhaWwgdG8gcmVhZCBjemNsayBvbiBW TFYsIHdoaWNoCj4gbWVhbnMgdGhlIFBGSSBjcmVkaXQgcHJvZ3JhbW1pbmcgaXNuJ3Qgd29ya2lu ZyBhcyBleHBlY3RlZC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxl LnN5cmphbGFAbGludXguaW50ZWwuY29tPgoKWWVwLCBtdWNoIGJldHRlciB0byBoYXZlIGEgZ2Vu ZXJpYyB3YXkgdG8gcmVhZCBvdXQgYWxsIHRoZSBDQ0sgY2xvY2tzLApyZW1vdmVzIGEgbG90IG9m IHNwZWNpYWwgY2FzaW5nLiBJdCdzIGFsc28gdHJ1ZSB0aGF0IHRoZXNlIGNsb2NrcyBjYW4KY2hh bmdlLCB0aG91Z2ggbGV0J3Mgbm90ZSB0aGF0IGN6Y2xrIGlzIGZpeGVkLiBMb29rcyBvayB0byBt ZToKUmV2aWV3ZWQtYnk6IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVsLmNvbT4KCkJlbG93IHNv bWUgbml0cGlja3MgYWJvdXQgbmFtaW5nLgoKPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaCAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcu aCAgICAgIHwgIDEgKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCA4 OCArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcG0uYyAgICAgIHwgMjUgKystLS0tLS0tLQo+ICA0IGZpbGVzIGNoYW5nZWQs IDYwIGluc2VydGlvbnMoKyksIDU2IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaAo+IGluZGV4IDJiNWQ1ODcuLjc3YzkzMTIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmgKPiBAQCAtMTE0Niw3ICsxMTQ2LDYgQEAgc3RydWN0IGludGVsX2dlbjZfcG93ZXJfbWdtdCB7 Cj4gIAl1OCBlZmZpY2llbnRfZnJlcTsJLyogQUtBIFJQZS4gUHJlLWRldGVybWluZWQgYmFsYW5j ZWQgZnJlcXVlbmN5ICovCj4gIAl1OCBycDFfZnJlcTsJCS8qICJsZXNzIHRoYW4iIFJQMCBwb3dl ci9mcmVxZW5jeSAqLwo+ICAJdTggcnAwX2ZyZXE7CQkvKiBOb24tb3ZlcmNsb2NrZWQgbWF4IGZy ZXF1ZW5jeS4gKi8KPiAtCXUzMiBjel9mcmVxOwo+ICAKPiAgCXU4IHVwX3RocmVzaG9sZDsgLyog Q3VycmVudCAlYnVzeSByZXF1aXJlZCB0byB1cGxvY2sgKi8KPiAgCXU4IGRvd25fdGhyZXNob2xk OyAvKiBDdXJyZW50ICVidXN5IHJlcXVpcmVkIHRvIGRvd25jbG9jayAqLwo+IEBAIC0xODEwLDYg KzE4MDksNyBAQCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSB7Cj4gIAl1bnNpZ25lZCBpbnQgY2Rj bGtfZnJlcSwgbWF4X2NkY2xrX2ZyZXE7Cj4gIAl1bnNpZ25lZCBpbnQgbWF4X2RvdGNsa19mcmVx Owo+ICAJdW5zaWduZWQgaW50IGhwbGxfZnJlcTsKPiArCXVuc2lnbmVkIGludCBjemNsa19mcmVx Owo+ICAKPiAgCS8qKgo+ICAJICogd3EgLSBEcml2ZXIgd29ya3F1ZXVlIGZvciBHRU0uCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3JlZy5oCj4gaW5kZXggZjIyZmI4MC4uODMyMTgwMzIgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcmVnLmgKPiBAQCAtNzI4LDYgKzcyOCw3IEBAIGVudW0gc2tsX2Rpc3BfcG93 ZXJfd2VsbHMgewo+ICAjZGVmaW5lICBEU0lfUExMX04xX0RJVl9NQVNLCQkJKDMgPDwgMTYpCj4g ICNkZWZpbmUgIERTSV9QTExfTTFfRElWX1NISUZUCQkJMAo+ICAjZGVmaW5lICBEU0lfUExMX00x X0RJVl9NQVNLCQkJKDB4MWZmIDw8IDApCj4gKyNkZWZpbmUgQ0NLX0NaX0NMT0NLX0NPTlRST0wJ CQkweDYyCj4gICNkZWZpbmUgQ0NLX0RJU1BMQVlfQ0xPQ0tfQ09OVFJPTAkJMHg2Ygo+ICAjZGVm aW5lICBDQ0tfVFJVTktfRk9SQ0VfT04JCQkoMSA8PCAxNykKPiAgI2RlZmluZSAgQ0NLX1RSVU5L X0ZPUkNFX09GRgkJCSgxIDw8IDE2KQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMK PiBpbmRleCA4NTY3YjQ2Li5kNjY4ODk3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rp c3BsYXkuYwo+IEBAIC0xMzIsNiArMTMyLDQyIEBAIHN0cnVjdCBpbnRlbF9saW1pdCB7Cj4gIAlp bnRlbF9wMl90CSAgICBwMjsKPiAgfTsKPiAgCj4gKy8qIHJldHVybnMgSFBMTCBmcmVxdWVuY3kg aW4ga0h6ICovCj4gK3N0YXRpYyBpbnQgdmFsbGV5dmlld19nZXRfdmNvKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdikKClRoaXMgd2Fzbid0IGFkZGVkIGluIHRoaXMgcGF0Y2gsIGJ1 dCBJIHdvdWxkIGNhbGwgaXQgZ2V0X2Nja19yZWYgb3IKc2ltaWxhci4gVkNPIGlzIHRvbyBnZW5l cmljIGFuZCBIUExMIGlzbid0IGFjY3VyYXRlLCBzaW5jZSB0aGUgODAwTUh6CmNsb2NrIGlzIGEg YnlwYXNzIGNsb2NrIGRpcmVjdGx5IGZyb20gaUNMSy4KCj4gK3sKPiArCWludCBocGxsX2ZyZXEs IHZjb19mcmVxW10gPSB7IDgwMCwgMTYwMCwgMjAwMCwgMjQwMCB9Owo+ICsKPiArCS8qIE9idGFp biBTS1UgaW5mb3JtYXRpb24gKi8KPiArCW11dGV4X2xvY2soJmRldl9wcml2LT5zYl9sb2NrKTsK PiArCWhwbGxfZnJlcSA9IHZsdl9jY2tfcmVhZChkZXZfcHJpdiwgQ0NLX0ZVU0VfUkVHKSAmCj4g KwkJQ0NLX0ZVU0VfSFBMTF9GUkVRX01BU0s7Cj4gKwltdXRleF91bmxvY2soJmRldl9wcml2LT5z Yl9sb2NrKTsKPiArCj4gKwlyZXR1cm4gdmNvX2ZyZXFbaHBsbF9mcmVxXSAqIDEwMDA7Cj4gK30K PiArCj4gK3N0YXRpYyBpbnQgdmx2X2dldF9jY2tfY2xvY2tfaHBsbChzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsCj4gKwkJCQkgIGNvbnN0IGNoYXIgKm5hbWUsIHUzMiByZWcpCgpJ IHdvdWxkIGhhdmUgY2FsbGVkIGl0IHNpbXBseSBnZXRfY2NrX2Nsb2NrIGZvciB0aGUgYWJvdmUg cmVhc29uLgoKPiArewo+ICsJdTMyIHZhbDsKPiArCWludCBkaXZpZGVyOwo+ICsKPiArCWlmIChk ZXZfcHJpdi0+aHBsbF9mcmVxID09IDApCj4gKwkJZGV2X3ByaXYtPmhwbGxfZnJlcSA9IHZhbGxl eXZpZXdfZ2V0X3ZjbyhkZXZfcHJpdik7Cj4gKwo+ICsJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPnNi X2xvY2spOwo+ICsJdmFsID0gdmx2X2Nja19yZWFkKGRldl9wcml2LCByZWcpOwo+ICsJbXV0ZXhf dW5sb2NrKCZkZXZfcHJpdi0+c2JfbG9jayk7Cj4gKwo+ICsJZGl2aWRlciA9IHZhbCAmIENDS19G UkVRVUVOQ1lfVkFMVUVTOwo+ICsKPiArCVdBUk4oKHZhbCAmIENDS19GUkVRVUVOQ1lfU1RBVFVT KSAhPQo+ICsJICAgICAoZGl2aWRlciA8PCBDQ0tfRlJFUVVFTkNZX1NUQVRVU19TSElGVCksCj4g KwkgICAgICIlcyBjaGFuZ2UgaW4gcHJvZ3Jlc3NcbiIsIG5hbWUpOwo+ICsKPiArCXJldHVybiBE SVZfUk9VTkRfQ0xPU0VTVChkZXZfcHJpdi0+aHBsbF9mcmVxIDw8IDEsIGRpdmlkZXIgKyAxKTsK PiArfQo+ICsKPiAgaW50Cj4gIGludGVsX3BjaF9yYXdjbGsoc3RydWN0IGRybV9kZXZpY2UgKmRl dikKPiAgewo+IEBAIC0xNzUsNiArMjExLDE3IEBAIGludCBpbnRlbF9ocmF3Y2xrKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpCj4gIAl9Cj4gIH0KPiAgCj4gK3N0YXRpYyB2b2lkIGludGVsX3VwZGF0 ZV9jemNsayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gK3sKPiArCWlmICgh SVNfVkFMTEVZVklFVyhkZXZfcHJpdikpCj4gKwkJcmV0dXJuOwo+ICsKPiArCWRldl9wcml2LT5j emNsa19mcmVxID0gdmx2X2dldF9jY2tfY2xvY2tfaHBsbChkZXZfcHJpdiwgImN6Y2xrIiwKPiAr CQkJCQkJICAgICAgQ0NLX0NaX0NMT0NLX0NPTlRST0wpOwo+ICsKPiArCURSTV9ERUJVR19EUklW RVIoIkNaIGNsb2NrIHJhdGU6ICVkIGtIelxuIiwgZGV2X3ByaXYtPmN6Y2xrX2ZyZXEpOwo+ICt9 Cj4gKwo+ICBzdGF0aWMgaW5saW5lIHUzMiAvKiB1bml0cyBvZiAxMDBNSHogKi8KPiAgaW50ZWxf ZmRpX2xpbmtfZnJlcShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICB7Cj4gQEAgLTU3NDksMjAg KzU3OTYsNiBAQCB2b2lkIHNrbF9pbml0X2NkY2xrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdikKPiAgCQlEUk1fRVJST1IoIkRCdWYgcG93ZXIgZW5hYmxlIHRpbWVvdXRcbiIpOwo+ ICB9Cj4gIAo+IC0vKiByZXR1cm5zIEhQTEwgZnJlcXVlbmN5IGluIGtIeiAqLwo+IC1zdGF0aWMg aW50IHZhbGxleXZpZXdfZ2V0X3ZjbyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp Cj4gLXsKPiAtCWludCBocGxsX2ZyZXEsIHZjb19mcmVxW10gPSB7IDgwMCwgMTYwMCwgMjAwMCwg MjQwMCB9Owo+IC0KPiAtCS8qIE9idGFpbiBTS1UgaW5mb3JtYXRpb24gKi8KPiAtCW11dGV4X2xv Y2soJmRldl9wcml2LT5zYl9sb2NrKTsKPiAtCWhwbGxfZnJlcSA9IHZsdl9jY2tfcmVhZChkZXZf cHJpdiwgQ0NLX0ZVU0VfUkVHKSAmCj4gLQkJQ0NLX0ZVU0VfSFBMTF9GUkVRX01BU0s7Cj4gLQlt dXRleF91bmxvY2soJmRldl9wcml2LT5zYl9sb2NrKTsKPiAtCj4gLQlyZXR1cm4gdmNvX2ZyZXFb aHBsbF9mcmVxXSAqIDEwMDA7Cj4gLX0KPiAtCj4gIC8qIEFkanVzdCBDRGNsayBkaXZpZGVycyB0 byBhbGxvdyBoaWdoIHJlcyBvciBzYXZlIHBvd2VyIGlmIHBvc3NpYmxlICovCj4gIHN0YXRpYyB2 b2lkIHZhbGxleXZpZXdfc2V0X2NkY2xrKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludCBjZGNs aykKPiAgewo+IEBAIC01OTgzLDcgKzYwMTYsNyBAQCBzdGF0aWMgdm9pZCB2bHZfcHJvZ3JhbV9w ZmlfY3JlZGl0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAllbHNlCj4g IAkJZGVmYXVsdF9jcmVkaXRzID0gUEZJX0NSRURJVCg4KTsKPiAgCj4gLQlpZiAoRElWX1JPVU5E X0NMT1NFU1QoZGV2X3ByaXYtPmNkY2xrX2ZyZXEsIDEwMDApID49IGRldl9wcml2LT5ycHMuY3pf ZnJlcSkgewo+ICsJaWYgKGRldl9wcml2LT5jZGNsa19mcmVxID49IGRldl9wcml2LT5jemNsa19m cmVxKSB7Cj4gIAkJLyogQ0hWIHN1Z2dlc3RlZCB2YWx1ZSBpcyAzMSBvciA2MyAqLwo+ICAJCWlm IChJU19DSEVSUllWSUVXKGRldl9wcml2KSkKPiAgCQkJY3JlZGl0cyA9IFBGSV9DUkVESVRfNjM7 Cj4gQEAgLTY3MTUsMjQgKzY3NDgsOCBAQCBzdGF0aWMgaW50IGhhc3dlbGxfZ2V0X2Rpc3BsYXlf Y2xvY2tfc3BlZWQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgCj4gIHN0YXRpYyBpbnQgdmFs bGV5dmlld19nZXRfZGlzcGxheV9jbG9ja19zcGVlZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ ICB7Cj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2 YXRlOwo+IC0JdTMyIHZhbDsKPiAtCWludCBkaXZpZGVyOwo+IC0KPiAtCWlmIChkZXZfcHJpdi0+ aHBsbF9mcmVxID09IDApCj4gLQkJZGV2X3ByaXYtPmhwbGxfZnJlcSA9IHZhbGxleXZpZXdfZ2V0 X3ZjbyhkZXZfcHJpdik7Cj4gLQo+IC0JbXV0ZXhfbG9jaygmZGV2X3ByaXYtPnNiX2xvY2spOwo+ IC0JdmFsID0gdmx2X2Nja19yZWFkKGRldl9wcml2LCBDQ0tfRElTUExBWV9DTE9DS19DT05UUk9M KTsKPiAtCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPnNiX2xvY2spOwo+IC0KPiAtCWRpdmlkZXIg PSB2YWwgJiBDQ0tfRlJFUVVFTkNZX1ZBTFVFUzsKPiAtCj4gLQlXQVJOKCh2YWwgJiBDQ0tfRlJF UVVFTkNZX1NUQVRVUykgIT0KPiAtCSAgICAgKGRpdmlkZXIgPDwgQ0NLX0ZSRVFVRU5DWV9TVEFU VVNfU0hJRlQpLAo+IC0JICAgICAiY2RjbGsgY2hhbmdlIGluIHByb2dyZXNzXG4iKTsKPiAtCj4g LQlyZXR1cm4gRElWX1JPVU5EX0NMT1NFU1QoZGV2X3ByaXYtPmhwbGxfZnJlcSA8PCAxLCBkaXZp ZGVyICsgMSk7Cj4gKwlyZXR1cm4gdmx2X2dldF9jY2tfY2xvY2tfaHBsbCh0b19pOTE1KGRldiks ICJjZGNsayIsCj4gKwkJCQkgICAgICBDQ0tfRElTUExBWV9DTE9DS19DT05UUk9MKTsKPiAgfQo+ ICAKPiAgc3RhdGljIGludCBpbGtfZ2V0X2Rpc3BsYXlfY2xvY2tfc3BlZWQoc3RydWN0IGRybV9k ZXZpY2UgKmRldikKPiBAQCAtMTMzMjMsOCArMTMzNDAsNiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9z aGFyZWRfZHBsbF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIHsKPiAgCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gIAo+IC0JaW50 ZWxfdXBkYXRlX2NkY2xrKGRldik7Cj4gLQo+ICAJaWYgKEhBU19EREkoZGV2KSkKPiAgCQlpbnRl bF9kZGlfcGxsX2luaXQoZGV2KTsKPiAgCWVsc2UgaWYgKEhBU19QQ0hfSUJYKGRldikgfHwgSEFT X1BDSF9DUFQoZGV2KSkKPiBAQCAtMTQ4MzYsNiArMTQ4NTEsOSBAQCB2b2lkIGludGVsX21vZGVz ZXRfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJCX0KPiAgCX0KPiAgCj4gKwlpbnRl bF91cGRhdGVfY3pjbGsoZGV2X3ByaXYpOwo+ICsJaW50ZWxfdXBkYXRlX2NkY2xrKGRldik7Cj4g Kwo+ICAJaW50ZWxfc2hhcmVkX2RwbGxfaW5pdChkZXYpOwo+ICAKPiAgCS8qIEp1c3QgZGlzYWJs ZSBpdCBvbmNlIGF0IHN0YXJ0dXAgKi8KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiBpbmRleCBh YjVhYzVlLi44OTZhOTVjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3BtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4gQEAgLTU0ODIs MjUgKzU0ODIsMTAgQEAgc3RhdGljIHZvaWQgY2hlcnJ5dmlld19pbml0X2d0X3Bvd2Vyc2F2ZShz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+c2JfbG9j ayk7Cj4gIAo+ICAJc3dpdGNoICgodmFsID4+IDIpICYgMHg3KSB7Cj4gLQljYXNlIDA6Cj4gLQlj YXNlIDE6Cj4gLQkJZGV2X3ByaXYtPnJwcy5jel9mcmVxID0gMjAwOwo+IC0JCWRldl9wcml2LT5t ZW1fZnJlcSA9IDE2MDA7Cj4gLQkJYnJlYWs7Cj4gLQljYXNlIDI6Cj4gLQkJZGV2X3ByaXYtPnJw cy5jel9mcmVxID0gMjY3Owo+IC0JCWRldl9wcml2LT5tZW1fZnJlcSA9IDE2MDA7Cj4gLQkJYnJl YWs7Cj4gIAljYXNlIDM6Cj4gLQkJZGV2X3ByaXYtPnJwcy5jel9mcmVxID0gMzMzOwo+ICAJCWRl dl9wcml2LT5tZW1fZnJlcSA9IDIwMDA7Cj4gIAkJYnJlYWs7Cj4gLQljYXNlIDQ6Cj4gLQkJZGV2 X3ByaXYtPnJwcy5jel9mcmVxID0gMzIwOwo+IC0JCWRldl9wcml2LT5tZW1fZnJlcSA9IDE2MDA7 Cj4gLQkJYnJlYWs7Cj4gLQljYXNlIDU6Cj4gLQkJZGV2X3ByaXYtPnJwcy5jel9mcmVxID0gNDAw Owo+ICsJZGVmYXVsdDoKPiAgCQlkZXZfcHJpdi0+bWVtX2ZyZXEgPSAxNjAwOwo+ICAJCWJyZWFr Owo+ICAJfQo+IEBAIC03MzI3LDcgKzczMTIsNyBAQCBzdGF0aWMgaW50IHZsdl9ncHVfZnJlcV9k aXYodW5zaWduZWQgaW50IGN6Y2xrX2ZyZXEpCj4gIAo+ICBzdGF0aWMgaW50IGJ5dF9ncHVfZnJl cShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGludCB2YWwpCj4gIHsKPiAtCWlu dCBkaXYsIGN6Y2xrX2ZyZXEgPSBESVZfUk9VTkRfQ0xPU0VTVChkZXZfcHJpdi0+bWVtX2ZyZXEs IDQpOwo+ICsJaW50IGRpdiwgY3pjbGtfZnJlcSA9IERJVl9ST1VORF9DTE9TRVNUKGRldl9wcml2 LT5jemNsa19mcmVxLCAxMDAwKTsKPiAgCj4gIAlkaXYgPSB2bHZfZ3B1X2ZyZXFfZGl2KGN6Y2xr X2ZyZXEpOwo+ICAJaWYgKGRpdiA8IDApCj4gQEAgLTczMzgsNyArNzMyMyw3IEBAIHN0YXRpYyBp bnQgYnl0X2dwdV9mcmVxKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgaW50IHZh bCkKPiAgCj4gIHN0YXRpYyBpbnQgYnl0X2ZyZXFfb3Bjb2RlKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwgaW50IHZhbCkKPiAgewo+IC0JaW50IG11bCwgY3pjbGtfZnJlcSA9IERJ Vl9ST1VORF9DTE9TRVNUKGRldl9wcml2LT5tZW1fZnJlcSwgNCk7Cj4gKwlpbnQgbXVsLCBjemNs a19mcmVxID0gRElWX1JPVU5EX0NMT1NFU1QoZGV2X3ByaXYtPmN6Y2xrX2ZyZXEsIDEwMDApOwo+ ICAKPiAgCW11bCA9IHZsdl9ncHVfZnJlcV9kaXYoY3pjbGtfZnJlcSk7Cj4gIAlpZiAobXVsIDwg MCkKPiBAQCAtNzM0OSw3ICs3MzM0LDcgQEAgc3RhdGljIGludCBieXRfZnJlcV9vcGNvZGUoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBpbnQgdmFsKQo+ICAKPiAgc3RhdGljIGlu dCBjaHZfZ3B1X2ZyZXEoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBpbnQgdmFs KQo+ICB7Cj4gLQlpbnQgZGl2LCBjemNsa19mcmVxID0gZGV2X3ByaXYtPnJwcy5jel9mcmVxOwo+ ICsJaW50IGRpdiwgY3pjbGtfZnJlcSA9IERJVl9ST1VORF9DTE9TRVNUKGRldl9wcml2LT5jemNs a19mcmVxLCAxMDAwKTsKPiAgCj4gIAlkaXYgPSB2bHZfZ3B1X2ZyZXFfZGl2KGN6Y2xrX2ZyZXEp IC8gMjsKPiAgCWlmIChkaXYgPCAwKQo+IEBAIC03MzYwLDcgKzczNDUsNyBAQCBzdGF0aWMgaW50 IGNodl9ncHVfZnJlcShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGludCB2YWwp Cj4gIAo+ICBzdGF0aWMgaW50IGNodl9mcmVxX29wY29kZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsIGludCB2YWwpCj4gIHsKPiAtCWludCBtdWwsIGN6Y2xrX2ZyZXEgPSBkZXZf cHJpdi0+cnBzLmN6X2ZyZXE7Cj4gKwlpbnQgbXVsLCBjemNsa19mcmVxID0gRElWX1JPVU5EX0NM T1NFU1QoZGV2X3ByaXYtPmN6Y2xrX2ZyZXEsIDEwMDApOwo+ICAKPiAgCW11bCA9IHZsdl9ncHVf ZnJlcV9kaXYoY3pjbGtfZnJlcSkgLyAyOwo+ICAJaWYgKG11bCA8IDApCgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK