From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sivakumar Thulasimani Subject: Re: [PATCH 15/19] drm/i915: HSW cdclk support Date: Tue, 07 Apr 2015 11:57:23 +0530 Message-ID: <552378CB.7@intel.com> References: <20150331110535.GB3154@sorvi> <1427800454-5236-1-git-send-email-mika.kahola@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 052DB6E3E6 for ; Mon, 6 Apr 2015 23:27:25 -0700 (PDT) In-Reply-To: <1427800454-5236-1-git-send-email-mika.kahola@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 List-Id: intel-gfx@lists.freedesktop.org CgpPbiAzLzMxLzIwMTUgNDo0NCBQTSwgTWlrYSBLYWhvbGEgd3JvdGU6Cj4gSW1wbGVtZW50IHN1 cHBvcnQgZm9yIGNoYW5naW5nIHRoZSBjZGNsayBmcmVxdWVuY3kgZHVyaW5nIHJ1bnRpbWUgb24K PiBIU1cuIFZMVi9DSFYgYWxyZWFkeSBoYXZlIHN1cHBvcnQgZm9yIHRoaXMsIHNvIHdlIGNhbiBm b2xsb3cgdGhlaXIKPiBleGFtcGxlIGZvciB0aGUgbW9zdCBwYXJ0LiBPbmx5IHRoZSBhY3R1YWwg aGFyZHdhcmUgcHJvZ3JhbW1pbmcgZGlmZmVycywKPiB0aGUgcmVzdCBpcyBwcmV0dHkgbXVjaCB0 aGUgc2FtZS4KPgo+IFRoZSBwaXBlIHBpeGVsIHJhdGUgc3R1ZmYgaXMgaGFuZGxlZCBhIGJpdCBk aWZmZXJlbnRseSBmb3Igbm93IGR1ZSB0bwo+IHRoZSBkaWZmZXJlbmNlIGluIHBjaCB2cy4gZ21j aCBwZml0IGhhbmRsaW5nLiBFdmVudHVhbGx5IHdlIHNob3VsZCB1bmlmeQo+IHRoYXQgcGFydCB0 byBlbGltaW5hdGUgd2hhdCBpcyBlc3NlbnRpYWxseSBkdXBsaWNhdGVkIGNvZGUuCj4KPiB2Mjog R3JhYiBycHMuaHdfbG9jayBhcm91bmQgc2FuZHlicmlkZ2VfcGNvZGVfd3JpdGUoKQo+IHYzOiBS ZWJhc2UgZHVlIHRvIHBvd2VyIHdlbGwgdnMuIC5nbG9iYWxfcmVzb3VyY2VzKCkgcmVvcmRlcmlu Zwo+IHY0OiBSZWJhc2UgZHVlIHRvIC5nbG9iYWxfcmVzb3VyY2VzKCkgcmVvcmRlcmluZyBmb3Ig SGFzd2VsbAo+Cj4gU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxh QGxpbnV4LmludGVsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBNaWthIEthaG9sYSA8bWlrYS5rYWhv bGFAaW50ZWwuY29tPgo+IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAg ICAgIHwgICAzICsKPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDE2 MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQo+ICAgMiBmaWxlcyBjaGFuZ2Vk LCAxNjEgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZWcuaAo+IGluZGV4IGYyNmViZDIuLmIyNWY3MTIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9yZWcuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVn LmgKPiBAQCAtNjI0NCw2ICs2MjQ0LDcgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4g ICAjZGVmaW5lICAgR0VONl9QQ09ERV9XUklURV9EX0NPTVAJCTB4MTEKPiAgICNkZWZpbmUgICBH RU42X0VOQ09ERV9SQzZfVklEKG12KQkJKCgobXYpIC0gMjQ1KSAvIDUpCj4gICAjZGVmaW5lICAg R0VONl9ERUNPREVfUkM2X1ZJRCh2aWRzKQkJKCgodmlkcykgKiA1KSArIDI0NSkKPiArI2RlZmlu ZSAgIEhTV19QQ09ERV9ERV9XUklURV9GUkVRX1JFUQkJMHgxNwo+ICAgI2RlZmluZSAgIERJU1BM QVlfSVBTX0NPTlRST0wJCQkweDE5Cj4gICAjZGVmaW5lCSAgSFNXX1BDT0RFX0RZTkFNSUNfRFVU WV9DWUNMRV9DT05UUk9MCTB4MUEKPiAgICNkZWZpbmUgR0VONl9QQ09ERV9EQVRBCQkJCTB4MTM4 MTI4Cj4gQEAgLTY2OTgsMTAgKzY2OTksMTIgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7 Cj4gICAjZGVmaW5lICBMQ1BMTF9QTExfTE9DSwkJCSgxPDwzMCkKPiAgICNkZWZpbmUgIExDUExM X0NMS19GUkVRX01BU0sJCSgzPDwyNikKPiAgICNkZWZpbmUgIExDUExMX0NMS19GUkVRXzQ1MAkJ KDA8PDI2KQo+ICsjZGVmaW5lICBMQ1BMTF9DTEtfRlJFUV9BTFRfSFNXCQkoMTw8MjYpIC8qIDMz Ny41IChVTFgpIG9yIDU0MCAqLwo+ICAgI2RlZmluZSAgTENQTExfQ0xLX0ZSRVFfNTRPX0JEVwkJ KDE8PDI2KQo+ICAgI2RlZmluZSAgTENQTExfQ0xLX0ZSRVFfMzM3XzVfQkRXCSgyPDwyNikKPiAg ICNkZWZpbmUgIExDUExMX0NMS19GUkVRXzY3NV9CRFcJCSgzPDwyNikKPiAgICNkZWZpbmUgIExD UExMX0NEX0NMT0NLX0RJU0FCTEUJCSgxPDwyNSkKPiArI2RlZmluZSAgTENQTExfUk9PVF9DRF9D TE9DS19ESVNBQkxFCSgxPDwyNCkKPiAgICNkZWZpbmUgIExDUExMX0NEMlhfQ0xPQ0tfRElTQUJM RQkoMTw8MjMpCj4gICAjZGVmaW5lICBMQ1BMTF9QT1dFUl9ET1dOX0FMTE9XCQkoMTw8MjIpCj4g ICAjZGVmaW5lICBMQ1BMTF9DRF9TT1VSQ0VfRkNMSwkJKDE8PDIxKQo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMKPiBpbmRleCAzNzUyZDVlLi5jY2U3MTAzIDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IEBAIC01MDEyLDcgKzUwMTIsMTYgQEAgc3RhdGlj IHZvaWQgaW50ZWxfdXBkYXRlX21heF9jZGNsayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAg ewo+ICAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZh dGU7Cj4gICAKPiAtCWlmIChJU19WQUxMRVlWSUVXKGRldikpIHsKPiArCWlmIChJU19IQVNXRUxM KGRldikpIHsKPiArCQlpZiAoSTkxNV9SRUFEKEZVU0VfU1RSQVApICYgSFNXX0NEQ0xLX0xJTUlU KQo+ICsJCQlkZXZfcHJpdi0+bWF4X2NkY2xrX2ZyZXEgPSA0NTAwMDA7Cj4gKwkJZWxzZSBpZiAo SVNfSFNXX1VMWChkZXYpKQo+ICsJCQlkZXZfcHJpdi0+bWF4X2NkY2xrX2ZyZXEgPSAzMzc1MDA7 Cj4gKwkJZWxzZSBpZiAoSVNfSFNXX1VMVChkZXYpKQo+ICsJCQlkZXZfcHJpdi0+bWF4X2NkY2xr X2ZyZXEgPSA0NTAwMDA7Cj4gKwkJZWxzZQo+ICsJCQlkZXZfcHJpdi0+bWF4X2NkY2xrX2ZyZXEg PSA1NDAwMDA7Cj4gKwl9IGVsc2UgaWYgKElTX1ZBTExFWVZJRVcoZGV2KSkgewo+ICAgCQlkZXZf cHJpdi0+bWF4X2NkY2xrX2ZyZXEgPSA0MDAwMDA7Cj4gICAJfSBlbHNlIHsKPiAgIAkJLyogb3Ro ZXJ3aXNlIGFzc3VtZSBjZGNsayBpcyBmaXhlZCAqLwo+IEBAIC04NzczLDYgKzg3ODIsMTQ0IEBA IHZvaWQgaHN3X2VuYWJsZV9wYzgoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ ICAgCWhzd19kaXNhYmxlX2xjcGxsKGRldl9wcml2LCB0cnVlLCB0cnVlKTsKPiAgIH0KPiAgIAo+ ICsvKiBjb21wdXRlIHRoZSBtYXggcmF0ZSBmb3IgbmV3IGNvbmZpZ3VyYXRpb24gKi8KPiArc3Rh dGljIGludCBpbGtfbWF4X3BpeGVsX3JhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KQo+ICt7Cj4gKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZGV2X3ByaXYtPmRldjsKPiAr CXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjOwo+ICsJaW50IG1heF9waXhlbF9yYXRlID0gMDsKPiAr Cj4gKwlmb3JfZWFjaF9pbnRlbF9jcnRjKGRldiwgY3J0Yykgewo+ICsJCWlmIChjcnRjLT5uZXdf ZW5hYmxlZCkKPiArCQkJbWF4X3BpeGVsX3JhdGUgPSBtYXgobWF4X3BpeGVsX3JhdGUsCj4gKwkJ CQkJICAgICBpbGtfcGlwZV9waXhlbF9yYXRlKGNydGMtPm5ld19jb25maWcpKTsKPiArCX0KPiAr Cj4gKwlyZXR1cm4gbWF4X3BpeGVsX3JhdGU7Cj4gK30KPiArCj4gK3N0YXRpYyBpbnQgaGFzd2Vs bF9jYWxjX2NkY2xrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiArCQkJICAg ICAgaW50IG1heF9waXhlbF9yYXRlKQo+ICt7Cj4gKwlpbnQgY2RjbGs7Cj4gKwo+ICsJLyoKPiAr CSAqIEZJWE1FIHNob3VsZCBhbHNvIGFjY291bnQgZm9yIHBsYW5lIHJhdGlvCj4gKwkgKiBvbmNl IDY0YnBwIHBpeGVsIGZvcm1hdHMgYXJlIHN1cHBvcnRlZC4KPiArCSAqLwo+ICsJaWYgKG1heF9w aXhlbF9yYXRlID4gNDUwMDAwKQo+ICsJCWNkY2xrID0gNTQwMDAwOwo+ICsJZWxzZSBpZiAobWF4 X3BpeGVsX3JhdGUgPiAzMzc1MDAgfHwgIUlTX0hTV19VTFgoZGV2X3ByaXYpKQo+ICsJCWNkY2xr ID0gNDUwMDAwOwo+ICsJZWxzZQo+ICsJCWNkY2xrID0gMzM3NTAwOwo+ICsKPiArCS8qCj4gKwkg KiBGSVhNRSBtb3ZlIHRoZSBjZGNsayBjYWNsdWxhdGlvbiB0bwo+ICsJICogY29tcHV0ZV9jb25m aWcoKSBzbyB3ZSBjYW4gZmFpbCBncmFjZWd1bGx5Lgo+ICsJICovCj4gKwlpZiAoY2RjbGsgPiBk ZXZfcHJpdi0+bWF4X2NkY2xrX2ZyZXEpIHsKPiArCQlEUk1fRVJST1IoInJlcXVlc3RlZCBjZGNs ayAoJWQga0h6KSBleGNlZWRzIG1heCAoJWQga0h6KVxuIiwKPiArCQkJICBjZGNsaywgZGV2X3By aXYtPm1heF9jZGNsa19mcmVxKTsKPiArCQljZGNsayA9IGRldl9wcml2LT5tYXhfY2RjbGtfZnJl cTsKPiArCX0KPiArCj4gKwlyZXR1cm4gY2RjbGs7Cj4gK30Kd29uJ3QgdGhpcyByZXR1cm4gMzM3 TUh6IGV2ZW4gZm9yIHBsYXRmb3JtcyB0aGF0IGhhdmUgSFNXX0NEQ0xLX0xJTUlUIGlzIApzZXQg PyB0aGlzIHNob3VsZCByZXR1cm4gNDUwTUh6IGlmIHRoaXMgZnVzZSBpcyBzZXQKCj4gKwo+ICtz dGF0aWMgdm9pZCBoYXN3ZWxsX3NldF9jZGNsayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQg Y2RjbGspCj4gK3sKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ ZGV2X3ByaXZhdGU7Cj4gKwl1aW50MzJfdCB2YWw7Cj4gKwo+ICsJaWYgKFdBUk4oKEk5MTVfUkVB RChMQ1BMTF9DVEwpICYKPiArCQkgIChMQ1BMTF9QTExfRElTQUJMRSB8IExDUExMX1BMTF9MT0NL IHwKPiArCQkgICBMQ1BMTF9DRF9DTE9DS19ESVNBQkxFIHwgTENQTExfUk9PVF9DRF9DTE9DS19E SVNBQkxFIHwKPiArCQkgICBMQ1BMTF9DRDJYX0NMT0NLX0RJU0FCTEUgfCBMQ1BMTF9QT1dFUl9E T1dOX0FMTE9XIHwKPiArCQkgICBMQ1BMTF9DRF9TT1VSQ0VfRkNMSykpICE9IExDUExMX1BMTF9M T0NLLAo+ICsJCSAidHJ5aW5nIHRvIGNoYW5nZSBjZGNsayBmcmVxdWVuY3kgd2l0aCBjZGNsayBu b3QgZW5hYmxlZFxuIikpCj4gKwkJcmV0dXJuOwo+ICsKPiArCXZhbCA9IEk5MTVfUkVBRChMQ1BM TF9DVEwpOwo+ICsJdmFsICY9IH5MQ1BMTF9DTEtfRlJFUV9NQVNLOwo+ICsKPiArCXN3aXRjaCAo Y2RjbGspIHsKPiArCWNhc2UgNDUwMDAwOgo+ICsJCXZhbCB8PSBMQ1BMTF9DTEtfRlJFUV80NTA7 Cj4gKwkJYnJlYWs7Cj4gKwljYXNlIDMzNzUwMDoKPiArCWNhc2UgNTQwMDAwOgo+ICsJCXZhbCB8 PSBMQ1BMTF9DTEtfRlJFUV9BTFRfSFNXOwo+ICsJCWJyZWFrOwo+ICsJZGVmYXVsdDoKPiArCQlX QVJOKDEsICJpbnZhbGlkIGNkY2xrIGZyZXF1ZW5jeVxuIik7Cj4gKwkJcmV0dXJuOwo+ICsJfQo+ ICsKPiArCUk5MTVfV1JJVEUoTENQTExfQ1RMLCB2YWwpOwo+ICsKPiArCWlmIChJU19IU1dfVUxY KGRldikpIHsKPiArCQltdXRleF9sb2NrKCZkZXZfcHJpdi0+cnBzLmh3X2xvY2spOwo+ICsJCXNh bmR5YnJpZGdlX3Bjb2RlX3dyaXRlKGRldl9wcml2LCBIU1dfUENPREVfREVfV1JJVEVfRlJFUV9S RVEsCj4gKwkJCQkJY2RjbGsgPT0gMzM3NTAwKTsKPiArCQltdXRleF91bmxvY2soJmRldl9wcml2 LT5ycHMuaHdfbG9jayk7Cj4gKwl9Cj4gKwo+ICsJaW50ZWxfdXBkYXRlX2NkY2xrKGRldik7Cj4g Kwo+ICsJV0FSTihjZGNsayAhPSBkZXZfcHJpdi0+Y2RjbGtfZnJlcSwKPiArCSAgICAgImNkY2xr IHJlcXVlc3RlZCAlZCBrSHogYnV0IGdvdCAlZCBrSHpcbiIsCj4gKwkgICAgIGNkY2xrLCBkZXZf cHJpdi0+Y2RjbGtfZnJlcSk7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIGhhc3dlbGxfbW9kZXNl dF9nbG9iYWxfcGlwZXMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiArCQkJCQkgdW5zaWduZWQg KnByZXBhcmVfcGlwZXMpCj4gK3sKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YzsKPiArCWlu dCBtYXhfcGl4ZWxfcmF0ZSA9IGlsa19tYXhfcGl4ZWxfcmF0ZShkZXZfcHJpdik7Cj4gKwo+ICsJ aWYgKGhhc3dlbGxfY2FsY19jZGNsayhkZXZfcHJpdiwgbWF4X3BpeGVsX3JhdGUpID09Cj4gKwkg ICAgZGV2X3ByaXYtPmNkY2xrX2ZyZXEpCj4gKwkJcmV0dXJuOwo+ICsKPiArCS8qIGRpc2FibGUv ZW5hYmxlIGFsbCBjdXJyZW50bHkgYWN0aXZlIHBpcGVzIHdoaWxlIHdlIGNoYW5nZSBjZGNsayAq Lwo+ICsJZm9yX2VhY2hfaW50ZWxfY3J0YyhkZXYsIGNydGMpCj4gKwkJaWYgKGNydGMtPmJhc2Uu ZW5hYmxlZCkKPiArCQkJKnByZXBhcmVfcGlwZXMgfD0gMSA8PCBjcnRjLT5waXBlOwo+ICt9Cj4g Kwo+ICtzdGF0aWMgdm9pZCBoYXN3ZWxsX21vZGVzZXRfZ2xvYmFsX3Jlc291cmNlcyhzdHJ1Y3Qg ZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gK3sKPiArCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYg PSBzdGF0ZS0+ZGV2Owo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2 LT5kZXZfcHJpdmF0ZTsKPiArCWludCBtYXhfcGl4ZWxfcmF0ZSA9IGlsa19tYXhfcGl4ZWxfcmF0 ZShkZXZfcHJpdik7Cj4gKwlpbnQgcmVxX2NkY2xrID0gaGFzd2VsbF9jYWxjX2NkY2xrKGRldl9w cml2LCBtYXhfcGl4ZWxfcmF0ZSk7Cj4gKwo+ICsJaWYgKHJlcV9jZGNsayAhPSBkZXZfcHJpdi0+ Y2RjbGtfZnJlcSkKPiArCQloYXN3ZWxsX3NldF9jZGNsayhkZXYsIHJlcV9jZGNsayk7Cj4gKwo+ ICsJaWYgKHJlcV9jZGNsayAhPSBkZXZfcHJpdi0+Y2RjbGtfZnJlcSkgewo+ICsJCS8qCj4gKwkJ ICogRklYTUU6IFdlIGNhbiBlbmQgdXAgaGVyZSB3aXRoIGFsbCBwb3dlciBkb21haW5zIG9mZiwg eWV0Cj4gKwkJICogd2l0aCBhIENEQ0xLIGZyZXF1ZW5jeSBvdGhlciB0aGFuIHRoZSBtaW5pbXVt LiBUbyBhY2NvdW50Cj4gKwkJICogZm9yIHRoaXMgdGFrZSB0aGUgUElQRS1BIHBvd2VyIGRvbWFp biwgd2hpY2ggY292ZXJzIHRoZSBIVwo+ICsJCSAqIGJsb2NrcyBuZWVkZWQgZm9yIHRoZSBmb2xs b3dpbmcgcHJvZ3JhbW1pbmcuIFRoaXMgY2FuIGJlCj4gKwkJICogcmVtb3ZlZCBvbmNlIGl0J3Mg Z3VhcmFudGVlZCB0aGF0IHdlIGdldCBoZXJlIGVpdGhlciB3aXRoCj4gKwkJICogdGhlIG1pbmlt dW0gQ0RDTEsgc2V0LCBvciB0aGUgcmVxdWlyZWQgcG93ZXIgZG9tYWlucwo+ICsJCSAqIGVuYWJs ZWQuCj4gKwkJICovCj4gKwkJaW50ZWxfZGlzcGxheV9wb3dlcl9nZXQoZGV2X3ByaXYsIFBPV0VS X0RPTUFJTl9QSVBFX0EpOwo+ICsKPiArCQloYXN3ZWxsX3NldF9jZGNsayhkZXYsIHJlcV9jZGNs ayk7Cj4gKwo+ICsJCXZsdl9wcm9ncmFtX3BmaV9jcmVkaXRzKGRldl9wcml2KTsKPiArCj4gKwkJ aW50ZWxfZGlzcGxheV9wb3dlcl9wdXQoZGV2X3ByaXYsIFBPV0VSX0RPTUFJTl9QSVBFX0EpOwo+ ICsJfQo+ICsKPiArfQo+ICsKPiAgIHZvaWQgaHN3X2Rpc2FibGVfcGM4KHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdikKPiAgIHsKPiAgIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0g ZGV2X3ByaXYtPmRldjsKPiBAQCAtODc5Miw2ICs4OTM5LDggQEAgdm9pZCBoc3dfZGlzYWJsZV9w Yzgoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAgCWludGVsX3ByZXBhcmVf ZGRpKGRldik7Cj4gICB9Cj4gICAKPiArCj4gKwo+ICAgc3RhdGljIGludCBoYXN3ZWxsX2NydGNf Y29tcHV0ZV9jbG9jayhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKPiAgIAkJCQkgICAgICBzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiAgIHsKPiBAQCAtMTE4NjYsOCArMTIw MTUsMTEgQEAgc3RhdGljIGludCBfX2ludGVsX3NldF9tb2RlKHN0cnVjdCBkcm1fY3J0YyAqY3J0 YywKPiAgIAkgKiBtb2RlIHNldCBvbiB0aGlzIGNydGMuICBGb3Igb3RoZXIgY3J0Y3Mgd2UgbmVl ZCB0byB1c2UgdGhlCj4gICAJICogYWRqdXN0ZWRfbW9kZSBiaXRzIGluIHRoZSBjcnRjIGRpcmVj dGx5Lgo+ICAgCSAqLwo+IC0JaWYgKElTX1ZBTExFWVZJRVcoZGV2KSkgewo+IC0JCXZhbGxleXZp ZXdfbW9kZXNldF9nbG9iYWxfcGlwZXMoZGV2LCAmcHJlcGFyZV9waXBlcyk7Cj4gKwlpZiAoSVNf VkFMTEVZVklFVyhkZXYpIHx8IElTX0hBU1dFTEwoZGV2KSkgewo+ICsJCWlmIChJU19WQUxMRVlW SUVXKGRldikpCj4gKwkJCXZhbGxleXZpZXdfbW9kZXNldF9nbG9iYWxfcGlwZXMoZGV2LCAmcHJl cGFyZV9waXBlcyk7Cj4gKwkJZWxzZQo+ICsJCQloYXN3ZWxsX21vZGVzZXRfZ2xvYmFsX3BpcGVz KGRldiwgJnByZXBhcmVfcGlwZXMpOwo+ICAgCj4gICAJCS8qIG1heSBoYXZlIGFkZGVkIG1vcmUg dG8gcHJlcGFyZV9waXBlcyB0aGFuIHdlIHNob3VsZCAqLwo+ICAgCQlwcmVwYXJlX3BpcGVzICY9 IH5kaXNhYmxlX3BpcGVzOwo+IEBAIC0xMzg5Miw2ICsxNDA0NCw5IEBAIHN0YXRpYyB2b2lkIGlu dGVsX2luaXRfZGlzcGxheShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAgCQlkZXZfcHJpdi0+ ZGlzcGxheS5mZGlfbGlua190cmFpbiA9IGl2Yl9tYW51YWxfZmRpX2xpbmtfdHJhaW47Cj4gICAJ fSBlbHNlIGlmIChJU19IQVNXRUxMKGRldikgfHwgSVNfQlJPQURXRUxMKGRldikpIHsKPiAgIAkJ ZGV2X3ByaXYtPmRpc3BsYXkuZmRpX2xpbmtfdHJhaW4gPSBoc3dfZmRpX2xpbmtfdHJhaW47Cj4g KwkJaWYgKElTX0hBU1dFTEwoZGV2KSkKPiArCQkJZGV2X3ByaXYtPmRpc3BsYXkubW9kZXNldF9n bG9iYWxfcmVzb3VyY2VzID0KPiArCQkJCWhhc3dlbGxfbW9kZXNldF9nbG9iYWxfcmVzb3VyY2Vz Owo+ICAgCX0gZWxzZSBpZiAoSVNfVkFMTEVZVklFVyhkZXYpKSB7Cj4gICAJCWRldl9wcml2LT5k aXNwbGF5Lm1vZGVzZXRfZ2xvYmFsX3Jlc291cmNlcyA9Cj4gICAJCQl2YWxsZXl2aWV3X21vZGVz ZXRfZ2xvYmFsX3Jlc291cmNlczsKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4Cg==