From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH v2] drm/i915: Force 2*96 MHz cdclk on glk/cnl when audio power is enabled Date: Mon, 14 May 2018 12:24:46 +0300 Message-ID: <87po1y37z5.fsf@intel.com> References: <1525034353-4675-1-git-send-email-abhay.kumar@intel.com> <1525915532-4443-1-git-send-email-abhay.kumar@intel.com> <20180511123349.GO23723@intel.com> <22ed8b49-1259-5ecb-e1a6-d6ad33ac56dd@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1A4C789CB9 for ; Mon, 14 May 2018 09:22:11 +0000 (UTC) In-Reply-To: <22ed8b49-1259-5ecb-e1a6-d6ad33ac56dd@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Kumar, Abhay" , Ville =?utf-8?B?U3lyasOkbMOk?= Cc: "intel-gfx@lists.freedesktop.org" , "Syrjala, Ville" List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCAxMSBNYXkgMjAxOCwgIkt1bWFyLCBBYmhheSIgPGFiaGF5Lmt1bWFyQGludGVsLmNv bT4gd3JvdGU6Cj4gT24gNS8xMS8yMDE4IDU6MzMgQU0sIFZpbGxlIFN5cmrDpGzDpCB3cm90ZToK Pj4gT24gV2VkLCBNYXkgMDksIDIwMTggYXQgMDY6MjU6MzJQTSAtMDcwMCwgQWJoYXkgS3VtYXIg d3JvdGU6Cj4+PiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50 ZWwuY29tPgo+Pj4KPj4+IENEQ0xLIGhhcyB0byBiZSBhdCBsZWFzdCB0d2ljZSB0aGUgQkxDSyBy ZWdhcmRsZXNzIG9mIGF1ZGlvLiBBdWRpbwo+Pj4gZHJpdmVyIGhhcyB0byBwcm9iZSB1c2luZyB0 aGlzIGhvb2sgYW5kIGluY3JlYXNlIHRoZSBjbG9jayBldmVuIGluCj4+PiBhYnNlbmNlIG9mIGFu eSBkaXNwbGF5Lgo+Pj4KPj4+IHYyOiBVc2UgYXRvbWljIHJlZmNvdW50IGZvciBnZXRfcG93ZXIs IHB1dF9wb3dlciBzbyB0aGF0IHdlIGNhbgo+Pj4gICAgICBjYWxsIGVhY2ggb25jZShBYmhheSku Cj4+Pgo+Pj4gU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxp bnV4LmludGVsLmNvbT4KPj4+IFNpZ25lZC1vZmYtYnk6IEFiaGF5IEt1bWFyIDxhYmhheS5rdW1h ckBpbnRlbC5jb20+Cj4+PiAtLS0KPj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aCAgICAgIHwgIDMgKysKPj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXVkaW8uYyAg IHwgNjYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tCj4+PiAgIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2NkY2xrLmMgICB8IDI5ICsrKysrLS0tLS0tLS0tLS0KPj4+ICAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgIDcgKysrLQo+Pj4gICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAgMiArKwo+Pj4gICA1IGZpbGVzIGNo YW5nZWQsIDgyIGluc2VydGlvbnMoKyksIDI1IGRlbGV0aW9ucygtKQo+Pj4KPj4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaAo+Pj4gaW5kZXggMjRjNWU0NzY1YWZkLi45YzRlYTc2NzY4OGEgMTAwNjQ0 Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4+PiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4+PiBAQCAtMTY5Miw2ICsxNjkyLDcgQEAgc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgewo+Pj4gICAJdW5zaWduZWQgaW50IGhwbGxfZnJlcTsKPj4+ ICAgCXVuc2lnbmVkIGludCBmZGlfcGxsX2ZyZXE7Cj4+PiAgIAl1bnNpZ25lZCBpbnQgY3pjbGtf ZnJlcTsKPj4+ICsJYXRvbWljX3QgZ2V0X3B1dF9yZWZjb3VudDsKPj4+ICAgCj4+PiAgIAlzdHJ1 Y3Qgewo+Pj4gICAJCS8qCj4+PiBAQCAtMTcwOSw2ICsxNzEwLDggQEAgc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgewo+Pj4gICAJCXN0cnVjdCBpbnRlbF9jZGNsa19zdGF0ZSBhY3R1YWw7Cj4+PiAg IAkJLyogVGhlIGN1cnJlbnQgaGFyZHdhcmUgY2RjbGsgc3RhdGUgKi8KPj4+ICAgCQlzdHJ1Y3Qg aW50ZWxfY2RjbGtfc3RhdGUgaHc7Cj4+PiArCj4+PiArCQlpbnQgZm9yY2VfbWluX2NkY2xrOwo+ Pj4gICAJfSBjZGNsazsKPj4+ICAgCj4+PiAgIAkvKioKPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9hdWRpby5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf YXVkaW8uYwo+Pj4gaW5kZXggM2VhNTY2Zjk5NDUwLi5hMWUyYzRkYWFlNmUgMTAwNjQ0Cj4+PiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdWRpby5jCj4+PiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9hdWRpby5jCj4+PiBAQCAtNjE4LDcgKzYxOCw2IEBAIHZvaWQg aW50ZWxfYXVkaW9fY29kZWNfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ Pj4gICAKPj4+ICAgCWlmICghY29ubmVjdG9yLT5lbGRbMF0pCj4+PiAgIAkJcmV0dXJuOwo+Pj4g LQo+Pj4gICAJRFJNX0RFQlVHX0RSSVZFUigiRUxEIG9uIFtDT05ORUNUT1I6JWQ6JXNdLCBbRU5D T0RFUjolZDolc11cbiIsCj4+PiAgIAkJCSBjb25uZWN0b3ItPmJhc2UuaWQsCj4+PiAgIAkJCSBj b25uZWN0b3ItPm5hbWUsCj4+PiBAQCAtNzEzLDE0ICs3MTIsNzMgQEAgdm9pZCBpbnRlbF9pbml0 X2F1ZGlvX2hvb2tzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPj4+ICAgCX0K Pj4+ICAgfQo+Pj4gICAKPj4+ICtzdGF0aWMgdm9pZCBnbGtfZm9yY2VfYXVkaW9fY2RjbGsoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+Pj4gKwkJCQlib29sIGVuYWJsZSkKPj4+ ICt7Cj4+PiArCXN0cnVjdCBkcm1fbW9kZXNldF9hY3F1aXJlX2N0eCBjdHg7Cj4+PiArCXN0cnVj dCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZTsKPj4+ICsJaW50IHJldDsKPj4+ICsKPj4+ICsJZHJt X21vZGVzZXRfYWNxdWlyZV9pbml0KCZjdHgsIDApOwo+Pj4gKwlzdGF0ZSA9IGRybV9hdG9taWNf c3RhdGVfYWxsb2MoJmRldl9wcml2LT5kcm0pOwo+Pj4gKwlpZiAoV0FSTl9PTighc3RhdGUpKQo+ Pj4gKwkJcmV0dXJuOwo+Pj4gKwo+Pj4gKwlzdGF0ZS0+YWNxdWlyZV9jdHggPSAmY3R4Owo+Pj4g Kwo+Pj4gK3JldHJ5Ogo+Pj4gKwl0b19pbnRlbF9hdG9taWNfc3RhdGUoc3RhdGUpLT5tb2Rlc2V0 ID0gdHJ1ZTsKPj4+ICsJdG9faW50ZWxfYXRvbWljX3N0YXRlKHN0YXRlKS0+Y2RjbGsuZm9yY2Vf bWluX2NkY2xrID0KPj4+ICsJCWVuYWJsZSA/IDIgKiA5NjAwMCA6IDA7Cj4+PiArCj4+PiArCS8q Cj4+PiArCSAqIFByb3RlY3RzIGRldl9wcml2LT5jZGNsay5mb3JjZV9taW5fY2RjbGsKPj4+ICsJ ICogTmVlZCB0byBsb2NrIHRoaXMgaGVyZSBpbiBjYXNlIHdlIGhhdmUgbm8gYWN0aXZlIHBpcGVz Cj4+PiArCSAqIGFuZCB0aHVzIHdvdWxkbid0IGxvY2sgaXQgZHVyaW5nIHRoZSBjb21taXQgb3Ro ZXJ3aXNlLgo+Pj4gKwkgKi8KPj4+ICsJcmV0ID0gZHJtX21vZGVzZXRfbG9jaygmZGV2X3ByaXYt PmRybS5tb2RlX2NvbmZpZy5jb25uZWN0aW9uX211dGV4LCAmY3R4KTsKPj4+ICsJaWYgKCFyZXQp Cj4+PiArCQlyZXQgPSBkcm1fYXRvbWljX2NvbW1pdChzdGF0ZSk7Cj4+PiArCj4+PiArCWlmIChy ZXQgPT0gLUVERUFETEspIHsKPj4+ICsJCWRybV9hdG9taWNfc3RhdGVfY2xlYXIoc3RhdGUpOwo+ Pj4gKwkJZHJtX21vZGVzZXRfYmFja29mZigmY3R4KTsKPj4+ICsJCWdvdG8gcmV0cnk7Cj4+PiAr CX0KPj4+ICsKPj4+ICsJV0FSTl9PTihyZXQpOwo+Pj4gKwo+Pj4gKwlkcm1fYXRvbWljX3N0YXRl X3B1dChzdGF0ZSk7Cj4+PiArCj4+PiArCWRybV9tb2Rlc2V0X2Ryb3BfbG9ja3MoJmN0eCk7Cj4+ PiArCWRybV9tb2Rlc2V0X2FjcXVpcmVfZmluaSgmY3R4KTsKPj4+ICt9Cj4+PiArCj4+PiAgIHN0 YXRpYyB2b2lkIGk5MTVfYXVkaW9fY29tcG9uZW50X2dldF9wb3dlcihzdHJ1Y3QgZGV2aWNlICpr ZGV2KQo+Pj4gICB7Cj4+PiAtCWludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0KGtkZXZfdG9faTkxNShr ZGV2KSwgUE9XRVJfRE9NQUlOX0FVRElPKTsKPj4+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0ga2Rldl90b19pOTE1KGtkZXYpOwo+Pj4gKwo+Pj4gKwlpbnRlbF9kaXNwbGF5 X3Bvd2VyX2dldChkZXZfcHJpdiwgUE9XRVJfRE9NQUlOX0FVRElPKTsKPj4+ICsJYXRvbWljX2lu YygmZGV2X3ByaXYtPmdldF9wdXRfcmVmY291bnQpOwo+Pj4gKwo+Pj4gKwkvKiBGb3JjZSBjZGNs ayB0byAyKkJDTEsgZHVyaW5nIGZpcnN0IHRpbWUgZ2V0IHBvd2VyIGNhbGwgKi8KPj4+ICsJaWYg KGF0b21pY19yZWFkKCZkZXZfcHJpdi0+Z2V0X3B1dF9yZWZjb3VudCkgPT0gMSkKPj4gSWYgaXQg bmVlZHMgdG8gYmUgYXRvbWljIChpZS4gd2UgaGF2ZSBjb25jdXJyZW50IGNhbGxlcnMgb2YgZ2V0 L3B1dF9wb3dlcigpKQo+PiB0aGVuIHlvdSB3b3VsZCBhbHNvIG5lZWQgdG8gZG8gdGhlIGluYytj aGVjayBhdG9taWNhbGx5LiBCdXQgdGhhdCBpbiBpdHNlbGYKPj4gd291bGRuJ3QgaGVscCBiZWNh dXNlIG9ubHkgdGhlIGZpcnN0IGNhbGxlciB3b3VsZCBkbyB0aGUgY2RjbGsgY2hhbmdlLAo+PiBh bmQgdGhlIHNlY29uZCBjYWxsIHdvdWxkIGp1c3QgaW1tZWRpYXRlbHkgcHJvY2VlZCB3aXRob3V0 IHdhaXRpbmcgZm9yIHRoZQo+PiBjZGNsayB0byBhY3R1YWxseSBoYXZlIGJlZW4gY2hhbmdlZC4K Pj4KPj4gU28gdGhlIGZpcnN0IHF1ZXN0aW9uIHdlIHNob3VsZCBhc2sgaXMgd2hldGhlciB3ZSBj YW4gZXZlbiBoYXZlCj4+IGNvbmN1cnJlbnQgY2FsbGVycywgb3IgaWYgdGhlcmUncyBzb21lIGZv cm0gb2YgbXV0dWFsIGV4Y2x1c2lvbgo+PiBhbHJlYWR5IG9uIHRoZSBjYWxsZXIgc2lkZT8KPiBB cyBwZXIgbXkgdW5kZXJzdGFuZGluZyBJIGRvbid0IHRoaW5rIHdlIGhhdmUgYW55IGNvbmN1cnJl bnQgY2FsbGVycyBhcyAKPiB0aGVzZSBjYWxscyB3aWxsIGJlIGluIHNlcXVlbmNlLgo+IERvIHlv dSBwcmVmZXIgdG8gdXNlIHN0YXRpYyBpbnN0ZWFkPwoKU3RhdGljIHdoYXQ/CgpCUiwKSmFuaS4K Cj4+Cj4+PiArCQlpZiAoSVNfQ0FOTk9OTEFLRShkZXZfcHJpdikgfHwgSVNfR0VNSU5JTEFLRShk ZXZfcHJpdikpCj4+PiArCQkJZ2xrX2ZvcmNlX2F1ZGlvX2NkY2xrKGRldl9wcml2LCB0cnVlKTsK Pj4+ICAgfQo+Pj4gICAKPj4+ICAgc3RhdGljIHZvaWQgaTkxNV9hdWRpb19jb21wb25lbnRfcHV0 X3Bvd2VyKHN0cnVjdCBkZXZpY2UgKmtkZXYpCj4+PiAgIHsKPj4+IC0JaW50ZWxfZGlzcGxheV9w b3dlcl9wdXQoa2Rldl90b19pOTE1KGtkZXYpLCBQT1dFUl9ET01BSU5fQVVESU8pOwo+Pj4gKwlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBrZGV2X3RvX2k5MTUoa2Rldik7Cj4+ PiArCj4+PiArCWF0b21pY19kZWMoJmRldl9wcml2LT5nZXRfcHV0X3JlZmNvdW50KTsKPj4+ICsK Pj4+ICsJLyogRm9yY2UgcmVxdWlyZWQgY2RjbGsgZHVyaW5nIGxhc3QgdGltZSBwdXQgcG93ZXIg Y2FsbCAqLwo+Pj4gKwlpZiAoYXRvbWljX3JlYWQoJmRldl9wcml2LT5nZXRfcHV0X3JlZmNvdW50 KSA9PSAwKQo+Pj4gKwkJaWYgKElTX0NBTk5PTkxBS0UoZGV2X3ByaXYpIHx8IElTX0dFTUlOSUxB S0UoZGV2X3ByaXYpKQo+Pj4gKwkJCWdsa19mb3JjZV9hdWRpb19jZGNsayhkZXZfcHJpdiwgZmFs c2UpOwo+Pj4gKwo+Pj4gKwlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dChkZXZfcHJpdiwgUE9XRVJf RE9NQUlOX0FVRElPKTsKPj4+ICAgfQo+Pj4gICAKPj4+ICAgc3RhdGljIHZvaWQgaTkxNV9hdWRp b19jb21wb25lbnRfY29kZWNfd2FrZV9vdmVycmlkZShzdHJ1Y3QgZGV2aWNlICprZGV2LAo+Pj4g QEAgLTk1OSw3ICsxMDE3LDcgQEAgdm9pZCBpOTE1X2F1ZGlvX2NvbXBvbmVudF9pbml0KHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPj4+ICAgCQkvKiBjb250aW51ZSB3aXRoIHJl ZHVjZWQgZnVuY3Rpb25hbGl0eSAqLwo+Pj4gICAJCXJldHVybjsKPj4+ICAgCX0KPj4+IC0KPj4+ ICsJYXRvbWljX3NldCgmZGV2X3ByaXYtPmdldF9wdXRfcmVmY291bnQsIDApOwo+Pj4gICAJZGV2 X3ByaXYtPmF1ZGlvX2NvbXBvbmVudF9yZWdpc3RlcmVkID0gdHJ1ZTsKPj4+ICAgfQo+Pj4gICAK Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jZGNsay5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY2RjbGsuYwo+Pj4gaW5kZXggNzA0ZGRiNGQzY2E3Li5h MGMyODFhOTBmZjQgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9j ZGNsay5jCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jZGNsay5jCj4+PiBA QCAtMjE0MywxOSArMjE0Myw4IEBAIGludCBpbnRlbF9jcnRjX2NvbXB1dGVfbWluX2NkY2xrKGNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+Pj4gICAJLyoKPj4+ICAg CSAqIEFjY29yZGluZyB0byBCU3BlYywgIlRoZSBDRCBjbG9jayBmcmVxdWVuY3kgbXVzdCBiZSBh dCBsZWFzdCB0d2ljZQo+Pj4gICAJICogdGhlIGZyZXF1ZW5jeSBvZiB0aGUgQXphbGlhIEJDTEsu IiBhbmQgQkNMSyBpcyA5NiBNSHogYnkgZGVmYXVsdC4KPj4+IC0JICoKPj4+IC0JICogRklYTUU6 IENoZWNrIHRoZSBhY3R1YWwsIG5vdCBkZWZhdWx0LCBCQ0xLIGJlaW5nIHVzZWQuCj4+PiAtCSAq Cj4+PiAtCSAqIEZJWE1FOiBUaGlzIGRvZXMgbm90IGRlcGVuZCBvbiAtPmhhc19hdWRpbyBiZWNh dXNlIHRoZSBoaWdoZXIgQ0RDTEsKPj4+IC0JICogaXMgcmVxdWlyZWQgZm9yIGF1ZGlvIHByb2Jl LCBhbHNvIHdoZW4gdGhlcmUgYXJlIG5vIGF1ZGlvIGNhcGFibGUKPj4+IC0JICogZGlzcGxheXMg Y29ubmVjdGVkIGF0IHByb2JlIHRpbWUuIFRoaXMgbGVhZHMgdG8gdW5uZWNlc3NhcmlseSBoaWdo Cj4+PiAtCSAqIENEQ0xLIHdoZW4gYXVkaW8gaXMgbm90IHJlcXVpcmVkLgo+Pj4gLQkgKgo+Pj4g LQkgKiBGSVhNRTogVGhpcyBsaW1pdCBpcyBvbmx5IGFwcGxpZWQgd2hlbiB0aGVyZSBhcmUgZGlz cGxheXMgY29ubmVjdGVkCj4+PiAtCSAqIGF0IHByb2JlIHRpbWUuIElmIHdlIHByb2JlIHdpdGhv dXQgZGlzcGxheXMsIHdlJ2xsIHN0aWxsIGVuZCB1cCB1c2luZwo+Pj4gLQkgKiB0aGUgcGxhdGZv cm0gbWluaW11bSBDRENMSywgZmFpbGluZyBhdWRpbyBwcm9iZS4KPj4+ICAgCSAqLwo+Pj4gLQlp ZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KQo+Pj4gKwlpZiAoY3J0Y19zdGF0ZS0+aGFzX2F1 ZGlvICYmIElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkKPj4+ICAgCQltaW5fY2RjbGsgPSBtYXgo MiAqIDk2MDAwLCBtaW5fY2RjbGspOwo+Pj4gICAKPj4+ICAgCS8qCj4+PiBAQCAtMjE5NSw3ICsy MTg0LDcgQEAgc3RhdGljIGludCBpbnRlbF9jb21wdXRlX21pbl9jZGNsayhzdHJ1Y3QgZHJtX2F0 b21pY19zdGF0ZSAqc3RhdGUpCj4+PiAgIAkJaW50ZWxfc3RhdGUtPm1pbl9jZGNsa1tpXSA9IG1p bl9jZGNsazsKPj4+ICAgCX0KPj4+ICAgCj4+PiAtCW1pbl9jZGNsayA9IDA7Cj4+PiArCW1pbl9j ZGNsayA9IGludGVsX3N0YXRlLT5jZGNsay5mb3JjZV9taW5fY2RjbGs7Cj4+PiAgIAlmb3JfZWFj aF9waXBlKGRldl9wcml2LCBwaXBlKQo+Pj4gICAJCW1pbl9jZGNsayA9IG1heChpbnRlbF9zdGF0 ZS0+bWluX2NkY2xrW3BpcGVdLCBtaW5fY2RjbGspOwo+Pj4gICAKPj4+IEBAIC0yMjU2LDcgKzIy NDUsNyBAQCBzdGF0aWMgaW50IHZsdl9tb2Rlc2V0X2NhbGNfY2RjbGsoc3RydWN0IGRybV9hdG9t aWNfc3RhdGUgKnN0YXRlKQo+Pj4gICAJCXZsdl9jYWxjX3ZvbHRhZ2VfbGV2ZWwoZGV2X3ByaXYs IGNkY2xrKTsKPj4+ICAgCj4+PiAgIAlpZiAoIWludGVsX3N0YXRlLT5hY3RpdmVfY3J0Y3MpIHsK Pj4+IC0JCWNkY2xrID0gdmx2X2NhbGNfY2RjbGsoZGV2X3ByaXYsIDApOwo+Pj4gKwkJY2RjbGsg PSB2bHZfY2FsY19jZGNsayhkZXZfcHJpdiwgaW50ZWxfc3RhdGUtPmNkY2xrLmZvcmNlX21pbl9j ZGNsayk7Cj4+PiAgIAo+Pj4gICAJCWludGVsX3N0YXRlLT5jZGNsay5hY3R1YWwuY2RjbGsgPSBj ZGNsazsKPj4+ICAgCQlpbnRlbF9zdGF0ZS0+Y2RjbGsuYWN0dWFsLnZvbHRhZ2VfbGV2ZWwgPQo+ Pj4gQEAgLTIyODksNyArMjI3OCw3IEBAIHN0YXRpYyBpbnQgYmR3X21vZGVzZXRfY2FsY19jZGNs ayhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4+PiAgIAkJYmR3X2NhbGNfdm9sdGFn ZV9sZXZlbChjZGNsayk7Cj4+PiAgIAo+Pj4gICAJaWYgKCFpbnRlbF9zdGF0ZS0+YWN0aXZlX2Ny dGNzKSB7Cj4+PiAtCQljZGNsayA9IGJkd19jYWxjX2NkY2xrKDApOwo+Pj4gKwkJY2RjbGsgPSBi ZHdfY2FsY19jZGNsayhpbnRlbF9zdGF0ZS0+Y2RjbGsuZm9yY2VfbWluX2NkY2xrKTsKPj4+ICAg Cj4+PiAgIAkJaW50ZWxfc3RhdGUtPmNkY2xrLmFjdHVhbC5jZGNsayA9IGNkY2xrOwo+Pj4gICAJ CWludGVsX3N0YXRlLT5jZGNsay5hY3R1YWwudm9sdGFnZV9sZXZlbCA9Cj4+PiBAQCAtMjM2MSw3 ICsyMzUwLDcgQEAgc3RhdGljIGludCBza2xfbW9kZXNldF9jYWxjX2NkY2xrKHN0cnVjdCBkcm1f YXRvbWljX3N0YXRlICpzdGF0ZSkKPj4+ICAgCQlza2xfY2FsY192b2x0YWdlX2xldmVsKGNkY2xr KTsKPj4+ICAgCj4+PiAgIAlpZiAoIWludGVsX3N0YXRlLT5hY3RpdmVfY3J0Y3MpIHsKPj4+IC0J CWNkY2xrID0gc2tsX2NhbGNfY2RjbGsoMCwgdmNvKTsKPj4+ICsJCWNkY2xrID0gc2tsX2NhbGNf Y2RjbGsoaW50ZWxfc3RhdGUtPmNkY2xrLmZvcmNlX21pbl9jZGNsaywgdmNvKTsKPj4+ICAgCj4+ PiAgIAkJaW50ZWxfc3RhdGUtPmNkY2xrLmFjdHVhbC52Y28gPSB2Y287Cj4+PiAgIAkJaW50ZWxf c3RhdGUtPmNkY2xrLmFjdHVhbC5jZGNsayA9IGNkY2xrOwo+Pj4gQEAgLTI0MDAsMTAgKzIzODks MTAgQEAgc3RhdGljIGludCBieHRfbW9kZXNldF9jYWxjX2NkY2xrKHN0cnVjdCBkcm1fYXRvbWlj X3N0YXRlICpzdGF0ZSkKPj4+ICAgCj4+PiAgIAlpZiAoIWludGVsX3N0YXRlLT5hY3RpdmVfY3J0 Y3MpIHsKPj4+ICAgCQlpZiAoSVNfR0VNSU5JTEFLRShkZXZfcHJpdikpIHsKPj4+IC0JCQljZGNs ayA9IGdsa19jYWxjX2NkY2xrKDApOwo+Pj4gKwkJCSBjZGNsayA9IGdsa19jYWxjX2NkY2xrKGlu dGVsX3N0YXRlLT5jZGNsay5mb3JjZV9taW5fY2RjbGspOwo+Pj4gICAJCQl2Y28gPSBnbGtfZGVf cGxsX3ZjbyhkZXZfcHJpdiwgY2RjbGspOwo+Pj4gICAJCX0gZWxzZSB7Cj4+PiAtCQkJY2RjbGsg PSBieHRfY2FsY19jZGNsaygwKTsKPj4+ICsJCQljZGNsayA9IGJ4dF9jYWxjX2NkY2xrKGludGVs X3N0YXRlLT5jZGNsay5mb3JjZV9taW5fY2RjbGspOwo+Pj4gICAJCQl2Y28gPSBieHRfZGVfcGxs X3ZjbyhkZXZfcHJpdiwgY2RjbGspOwo+Pj4gICAJCX0KPj4+ICAgCj4+PiBAQCAtMjQzOSw3ICsy NDI4LDcgQEAgc3RhdGljIGludCBjbmxfbW9kZXNldF9jYWxjX2NkY2xrKHN0cnVjdCBkcm1fYXRv bWljX3N0YXRlICpzdGF0ZSkKPj4+ICAgCQkgICAgY25sX2NvbXB1dGVfbWluX3ZvbHRhZ2VfbGV2 ZWwoaW50ZWxfc3RhdGUpKTsKPj4+ICAgCj4+PiAgIAlpZiAoIWludGVsX3N0YXRlLT5hY3RpdmVf Y3J0Y3MpIHsKPj4+IC0JCWNkY2xrID0gY25sX2NhbGNfY2RjbGsoMCk7Cj4+PiArCQljZGNsayA9 IGNubF9jYWxjX2NkY2xrKGludGVsX3N0YXRlLT5jZGNsay5mb3JjZV9taW5fY2RjbGspOwo+Pj4g ICAJCXZjbyA9IGNubF9jZGNsa19wbGxfdmNvKGRldl9wcml2LCBjZGNsayk7Cj4+PiAgIAo+Pj4g ICAJCWludGVsX3N0YXRlLT5jZGNsay5hY3R1YWwudmNvID0gdmNvOwo+Pj4gQEAgLTI0NzIsNyAr MjQ2MSw3IEBAIHN0YXRpYyBpbnQgaWNsX21vZGVzZXRfY2FsY19jZGNsayhzdHJ1Y3QgZHJtX2F0 b21pY19zdGF0ZSAqc3RhdGUpCj4+PiAgIAlpbnRlbF9zdGF0ZS0+Y2RjbGsubG9naWNhbC5jZGNs ayA9IGNkY2xrOwo+Pj4gICAKPj4+ICAgCWlmICghaW50ZWxfc3RhdGUtPmFjdGl2ZV9jcnRjcykg ewo+Pj4gLQkJY2RjbGsgPSBpY2xfY2FsY19jZGNsaygwLCByZWYpOwo+Pj4gKwkJY2RjbGsgPSBp Y2xfY2FsY19jZGNsayhpbnRlbF9zdGF0ZS0+Y2RjbGsuZm9yY2VfbWluX2NkY2xrLCByZWYpOwo+ Pj4gICAJCXZjbyA9IGljbF9jYWxjX2NkY2xrX3BsbF92Y28oZGV2X3ByaXYsIGNkY2xrKTsKPj4+ ICAgCj4+PiAgIAkJaW50ZWxfc3RhdGUtPmNkY2xrLmFjdHVhbC52Y28gPSB2Y287Cj4+PiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4+PiBpbmRleCBjZGZlMDk1MWQxNzEuLjBiMGU1 MTlmZTg0NCAxMDA2NDQKPj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYwo+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4+PiBA QCAtMTIwNDEsNiArMTIwNDEsMTAgQEAgc3RhdGljIGludCBpbnRlbF9tb2Rlc2V0X2NoZWNrcyhz dHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4+PiAgIAkJcmV0dXJuIC1FSU5WQUw7Cj4+ PiAgIAl9Cj4+PiAgIAo+Pj4gKwkvKiBrZWVwIHRoZSBjdXJyZW50IHNldHRpbmcgKi8KPj4+ICsJ aWYgKCFpbnRlbF9zdGF0ZS0+bW9kZXNldCkKPj4+ICsJCWludGVsX3N0YXRlLT5jZGNsay5mb3Jj ZV9taW5fY2RjbGsgPSBkZXZfcHJpdi0+Y2RjbGsuZm9yY2VfbWluX2NkY2xrOwo+Pj4gKwo+Pj4g ICAJaW50ZWxfc3RhdGUtPm1vZGVzZXQgPSB0cnVlOwo+Pj4gICAJaW50ZWxfc3RhdGUtPmFjdGl2 ZV9jcnRjcyA9IGRldl9wcml2LT5hY3RpdmVfY3J0Y3M7Cj4+PiAgIAlpbnRlbF9zdGF0ZS0+Y2Rj bGsubG9naWNhbCA9IGRldl9wcml2LT5jZGNsay5sb2dpY2FsOwo+Pj4gQEAgLTEyMTM2LDcgKzEy MTQwLDcgQEAgc3RhdGljIGludCBpbnRlbF9hdG9taWNfY2hlY2soc3RydWN0IGRybV9kZXZpY2Ug KmRldiwKPj4+ICAgCXN0cnVjdCBkcm1fY3J0YyAqY3J0YzsKPj4+ICAgCXN0cnVjdCBkcm1fY3J0 Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUsICpjcnRjX3N0YXRlOwo+Pj4gICAJaW50IHJldCwgaTsK Pj4+IC0JYm9vbCBhbnlfbXMgPSBmYWxzZTsKPj4+ICsJYm9vbCBhbnlfbXMgPSBpbnRlbF9zdGF0 ZS0+bW9kZXNldDsKPj4+ICAgCj4+PiAgIAkvKiBDYXRjaCBJOTE1X01PREVfRkxBR19JTkhFUklU RUQgKi8KPj4+ICAgCWZvcl9lYWNoX29sZG5ld19jcnRjX2luX3N0YXRlKHN0YXRlLCBjcnRjLCBv bGRfY3J0Y19zdGF0ZSwKPj4+IEBAIC0xMjY4NCw2ICsxMjY4OCw3IEBAIHN0YXRpYyBpbnQgaW50 ZWxfYXRvbWljX2NvbW1pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+Pj4gICAJCWRldl9wcml2 LT5hY3RpdmVfY3J0Y3MgPSBpbnRlbF9zdGF0ZS0+YWN0aXZlX2NydGNzOwo+Pj4gICAJCWRldl9w cml2LT5jZGNsay5sb2dpY2FsID0gaW50ZWxfc3RhdGUtPmNkY2xrLmxvZ2ljYWw7Cj4+PiAgIAkJ ZGV2X3ByaXYtPmNkY2xrLmFjdHVhbCA9IGludGVsX3N0YXRlLT5jZGNsay5hY3R1YWw7Cj4+PiAr CQlkZXZfcHJpdi0+Y2RjbGsuZm9yY2VfbWluX2NkY2xrID0gaW50ZWxfc3RhdGUtPmNkY2xrLmZv cmNlX21pbl9jZGNsazsKPj4+ICAgCX0KPj4+ICAgCj4+PiAgIAlkcm1fYXRvbWljX3N0YXRlX2dl dChzdGF0ZSk7Cj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+Pj4gaW5kZXggNTIzMzdmNDg3 ZWJjLi43YjUzZjcyZDcyNDIgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcnYuaAo+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPj4+ IEBAIC00NjEsNiArNDYxLDggQEAgc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSB7Cj4+PiAgIAkJ ICogc3RhdGUgb25seSB3aGVuIGFsbCBjcnRjJ3MgYXJlIERQTVMgb2ZmLgo+Pj4gICAJCSAqLwo+ Pj4gICAJCXN0cnVjdCBpbnRlbF9jZGNsa19zdGF0ZSBhY3R1YWw7Cj4+PiArCj4+PiArCQlpbnQg Zm9yY2VfbWluX2NkY2xrOwo+Pj4gICAJfSBjZGNsazsKPj4+ICAgCj4+PiAgIAlib29sIGRwbGxf c2V0LCBtb2Rlc2V0Owo+Pj4gLS0gCj4+PiAyLjcuNAo+Pj4KPj4+IF9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+PiBJbnRlbC1nZnggbWFpbGluZyBsaXN0 Cj4+PiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4+PiBodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo+CgotLSAKSmFuaSBOaWt1 bGEsIEludGVsIE9wZW4gU291cmNlIFRlY2hub2xvZ3kgQ2VudGVyCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=