From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v2] drm/i915: Force 2*96 MHz cdclk on glk/cnl when audio power is enabled Date: Fri, 11 May 2018 15:33:49 +0300 Message-ID: <20180511123349.GO23723@intel.com> References: <1525034353-4675-1-git-send-email-abhay.kumar@intel.com> <1525915532-4443-1-git-send-email-abhay.kumar@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4A5D06F13F for ; Fri, 11 May 2018 12:33:53 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1525915532-4443-1-git-send-email-abhay.kumar@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Abhay Kumar Cc: jani.nikula@intel.com, intel-gfx@lists.freedesktop.org, ville.syrjala@intel.com List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBNYXkgMDksIDIwMTggYXQgMDY6MjU6MzJQTSAtMDcwMCwgQWJoYXkgS3VtYXIgd3Jv dGU6Cj4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNv bT4KPiAKPiBDRENMSyBoYXMgdG8gYmUgYXQgbGVhc3QgdHdpY2UgdGhlIEJMQ0sgcmVnYXJkbGVz cyBvZiBhdWRpby4gQXVkaW8KPiBkcml2ZXIgaGFzIHRvIHByb2JlIHVzaW5nIHRoaXMgaG9vayBh bmQgaW5jcmVhc2UgdGhlIGNsb2NrIGV2ZW4gaW4KPiBhYnNlbmNlIG9mIGFueSBkaXNwbGF5Lgo+ IAo+IHYyOiBVc2UgYXRvbWljIHJlZmNvdW50IGZvciBnZXRfcG93ZXIsIHB1dF9wb3dlciBzbyB0 aGF0IHdlIGNhbgo+ICAgICBjYWxsIGVhY2ggb25jZShBYmhheSkuCj4gCj4gU2lnbmVkLW9mZi1i eTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiBTaWdu ZWQtb2ZmLWJ5OiBBYmhheSBLdW1hciA8YWJoYXkua3VtYXJAaW50ZWwuY29tPgo+IC0tLQo+ICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgfCAgMyArKwo+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9hdWRpby5jICAgfCA2NiArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKystLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY2RjbGsuYyAgIHwgMjkg KysrKystLS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMg fCAgNyArKystCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICAyICsr Cj4gIDUgZmlsZXMgY2hhbmdlZCwgODIgaW5zZXJ0aW9ucygrKSwgMjUgZGVsZXRpb25zKC0pCj4g Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gaW5kZXggMjRjNWU0NzY1YWZkLi45YzRlYTc2NzY4 OGEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBAQCAtMTY5Miw2ICsxNjkyLDcgQEAg c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgewo+ICAJdW5zaWduZWQgaW50IGhwbGxfZnJlcTsKPiAg CXVuc2lnbmVkIGludCBmZGlfcGxsX2ZyZXE7Cj4gIAl1bnNpZ25lZCBpbnQgY3pjbGtfZnJlcTsK PiArCWF0b21pY190IGdldF9wdXRfcmVmY291bnQ7Cj4gIAo+ICAJc3RydWN0IHsKPiAgCQkvKgo+ IEBAIC0xNzA5LDYgKzE3MTAsOCBAQCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSB7Cj4gIAkJc3Ry dWN0IGludGVsX2NkY2xrX3N0YXRlIGFjdHVhbDsKPiAgCQkvKiBUaGUgY3VycmVudCBoYXJkd2Fy ZSBjZGNsayBzdGF0ZSAqLwo+ICAJCXN0cnVjdCBpbnRlbF9jZGNsa19zdGF0ZSBodzsKPiArCj4g KwkJaW50IGZvcmNlX21pbl9jZGNsazsKPiAgCX0gY2RjbGs7Cj4gIAo+ICAJLyoqCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F1ZGlvLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9hdWRpby5jCj4gaW5kZXggM2VhNTY2Zjk5NDUwLi5hMWUyYzRkYWFlNmUg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXVkaW8uYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F1ZGlvLmMKPiBAQCAtNjE4LDcgKzYxOCw2IEBA IHZvaWQgaW50ZWxfYXVkaW9fY29kZWNfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyLAo+ICAKPiAgCWlmICghY29ubmVjdG9yLT5lbGRbMF0pCj4gIAkJcmV0dXJuOwo+IC0KPiAg CURSTV9ERUJVR19EUklWRVIoIkVMRCBvbiBbQ09OTkVDVE9SOiVkOiVzXSwgW0VOQ09ERVI6JWQ6 JXNdXG4iLAo+ICAJCQkgY29ubmVjdG9yLT5iYXNlLmlkLAo+ICAJCQkgY29ubmVjdG9yLT5uYW1l LAo+IEBAIC03MTMsMTQgKzcxMiw3MyBAQCB2b2lkIGludGVsX2luaXRfYXVkaW9faG9va3Moc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAJfQo+ICB9Cj4gIAo+ICtzdGF0aWMg dm9pZCBnbGtfZm9yY2VfYXVkaW9fY2RjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LAo+ICsJCQkJYm9vbCBlbmFibGUpCj4gK3sKPiArCXN0cnVjdCBkcm1fbW9kZXNldF9hY3F1 aXJlX2N0eCBjdHg7Cj4gKwlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGU7Cj4gKwlpbnQg cmV0Owo+ICsKPiArCWRybV9tb2Rlc2V0X2FjcXVpcmVfaW5pdCgmY3R4LCAwKTsKPiArCXN0YXRl ID0gZHJtX2F0b21pY19zdGF0ZV9hbGxvYygmZGV2X3ByaXYtPmRybSk7Cj4gKwlpZiAoV0FSTl9P Tighc3RhdGUpKQo+ICsJCXJldHVybjsKPiArCj4gKwlzdGF0ZS0+YWNxdWlyZV9jdHggPSAmY3R4 Owo+ICsKPiArcmV0cnk6Cj4gKwl0b19pbnRlbF9hdG9taWNfc3RhdGUoc3RhdGUpLT5tb2Rlc2V0 ID0gdHJ1ZTsKPiArCXRvX2ludGVsX2F0b21pY19zdGF0ZShzdGF0ZSktPmNkY2xrLmZvcmNlX21p bl9jZGNsayA9Cj4gKwkJZW5hYmxlID8gMiAqIDk2MDAwIDogMDsKPiArCj4gKwkvKgo+ICsJICog UHJvdGVjdHMgZGV2X3ByaXYtPmNkY2xrLmZvcmNlX21pbl9jZGNsawo+ICsJICogTmVlZCB0byBs b2NrIHRoaXMgaGVyZSBpbiBjYXNlIHdlIGhhdmUgbm8gYWN0aXZlIHBpcGVzCj4gKwkgKiBhbmQg dGh1cyB3b3VsZG4ndCBsb2NrIGl0IGR1cmluZyB0aGUgY29tbWl0IG90aGVyd2lzZS4KPiArCSAq Lwo+ICsJcmV0ID0gZHJtX21vZGVzZXRfbG9jaygmZGV2X3ByaXYtPmRybS5tb2RlX2NvbmZpZy5j b25uZWN0aW9uX211dGV4LCAmY3R4KTsKPiArCWlmICghcmV0KQo+ICsJCXJldCA9IGRybV9hdG9t aWNfY29tbWl0KHN0YXRlKTsKPiArCj4gKwlpZiAocmV0ID09IC1FREVBRExLKSB7Cj4gKwkJZHJt X2F0b21pY19zdGF0ZV9jbGVhcihzdGF0ZSk7Cj4gKwkJZHJtX21vZGVzZXRfYmFja29mZigmY3R4 KTsKPiArCQlnb3RvIHJldHJ5Owo+ICsJfQo+ICsKPiArCVdBUk5fT04ocmV0KTsKPiArCj4gKwlk cm1fYXRvbWljX3N0YXRlX3B1dChzdGF0ZSk7Cj4gKwo+ICsJZHJtX21vZGVzZXRfZHJvcF9sb2Nr cygmY3R4KTsKPiArCWRybV9tb2Rlc2V0X2FjcXVpcmVfZmluaSgmY3R4KTsKPiArfQo+ICsKPiAg c3RhdGljIHZvaWQgaTkxNV9hdWRpb19jb21wb25lbnRfZ2V0X3Bvd2VyKHN0cnVjdCBkZXZpY2Ug KmtkZXYpCj4gIHsKPiAtCWludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0KGtkZXZfdG9faTkxNShrZGV2 KSwgUE9XRVJfRE9NQUlOX0FVRElPKTsKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IGtkZXZfdG9faTkxNShrZGV2KTsKPiArCj4gKwlpbnRlbF9kaXNwbGF5X3Bvd2VyX2dl dChkZXZfcHJpdiwgUE9XRVJfRE9NQUlOX0FVRElPKTsKPiArCWF0b21pY19pbmMoJmRldl9wcml2 LT5nZXRfcHV0X3JlZmNvdW50KTsKPiArCj4gKwkvKiBGb3JjZSBjZGNsayB0byAyKkJDTEsgZHVy aW5nIGZpcnN0IHRpbWUgZ2V0IHBvd2VyIGNhbGwgKi8KPiArCWlmIChhdG9taWNfcmVhZCgmZGV2 X3ByaXYtPmdldF9wdXRfcmVmY291bnQpID09IDEpCgpJZiBpdCBuZWVkcyB0byBiZSBhdG9taWMg KGllLiB3ZSBoYXZlIGNvbmN1cnJlbnQgY2FsbGVycyBvZiBnZXQvcHV0X3Bvd2VyKCkpCnRoZW4g eW91IHdvdWxkIGFsc28gbmVlZCB0byBkbyB0aGUgaW5jK2NoZWNrIGF0b21pY2FsbHkuIEJ1dCB0 aGF0IGluIGl0c2VsZgp3b3VsZG4ndCBoZWxwIGJlY2F1c2Ugb25seSB0aGUgZmlyc3QgY2FsbGVy IHdvdWxkIGRvIHRoZSBjZGNsayBjaGFuZ2UsCmFuZCB0aGUgc2Vjb25kIGNhbGwgd291bGQganVz dCBpbW1lZGlhdGVseSBwcm9jZWVkIHdpdGhvdXQgd2FpdGluZyBmb3IgdGhlCmNkY2xrIHRvIGFj dHVhbGx5IGhhdmUgYmVlbiBjaGFuZ2VkLgoKU28gdGhlIGZpcnN0IHF1ZXN0aW9uIHdlIHNob3Vs ZCBhc2sgaXMgd2hldGhlciB3ZSBjYW4gZXZlbiBoYXZlCmNvbmN1cnJlbnQgY2FsbGVycywgb3Ig aWYgdGhlcmUncyBzb21lIGZvcm0gb2YgbXV0dWFsIGV4Y2x1c2lvbgphbHJlYWR5IG9uIHRoZSBj YWxsZXIgc2lkZT8KCj4gKwkJaWYgKElTX0NBTk5PTkxBS0UoZGV2X3ByaXYpIHx8IElTX0dFTUlO SUxBS0UoZGV2X3ByaXYpKQo+ICsJCQlnbGtfZm9yY2VfYXVkaW9fY2RjbGsoZGV2X3ByaXYsIHRy dWUpOwo+ICB9Cj4gIAo+ICBzdGF0aWMgdm9pZCBpOTE1X2F1ZGlvX2NvbXBvbmVudF9wdXRfcG93 ZXIoc3RydWN0IGRldmljZSAqa2RldikKPiAgewo+IC0JaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQo a2Rldl90b19pOTE1KGtkZXYpLCBQT1dFUl9ET01BSU5fQVVESU8pOwo+ICsJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0ga2Rldl90b19pOTE1KGtkZXYpOwo+ICsKPiArCWF0b21p Y19kZWMoJmRldl9wcml2LT5nZXRfcHV0X3JlZmNvdW50KTsKPiArCj4gKwkvKiBGb3JjZSByZXF1 aXJlZCBjZGNsayBkdXJpbmcgbGFzdCB0aW1lIHB1dCBwb3dlciBjYWxsICovCj4gKwlpZiAoYXRv bWljX3JlYWQoJmRldl9wcml2LT5nZXRfcHV0X3JlZmNvdW50KSA9PSAwKQo+ICsJCWlmIChJU19D QU5OT05MQUtFKGRldl9wcml2KSB8fCBJU19HRU1JTklMQUtFKGRldl9wcml2KSkKPiArCQkJZ2xr X2ZvcmNlX2F1ZGlvX2NkY2xrKGRldl9wcml2LCBmYWxzZSk7Cj4gKwo+ICsJaW50ZWxfZGlzcGxh eV9wb3dlcl9wdXQoZGV2X3ByaXYsIFBPV0VSX0RPTUFJTl9BVURJTyk7Cj4gIH0KPiAgCj4gIHN0 YXRpYyB2b2lkIGk5MTVfYXVkaW9fY29tcG9uZW50X2NvZGVjX3dha2Vfb3ZlcnJpZGUoc3RydWN0 IGRldmljZSAqa2RldiwKPiBAQCAtOTU5LDcgKzEwMTcsNyBAQCB2b2lkIGk5MTVfYXVkaW9fY29t cG9uZW50X2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAJCS8qIGNv bnRpbnVlIHdpdGggcmVkdWNlZCBmdW5jdGlvbmFsaXR5ICovCj4gIAkJcmV0dXJuOwo+ICAJfQo+ IC0KPiArCWF0b21pY19zZXQoJmRldl9wcml2LT5nZXRfcHV0X3JlZmNvdW50LCAwKTsKPiAgCWRl dl9wcml2LT5hdWRpb19jb21wb25lbnRfcmVnaXN0ZXJlZCA9IHRydWU7Cj4gIH0KPiAgCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NkY2xrLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9jZGNsay5jCj4gaW5kZXggNzA0ZGRiNGQzY2E3Li5hMGMyODFhOTBm ZjQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY2RjbGsuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NkY2xrLmMKPiBAQCAtMjE0MywxOSArMjE0 Myw4IEBAIGludCBpbnRlbF9jcnRjX2NvbXB1dGVfbWluX2NkY2xrKGNvbnN0IHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICAJLyoKPiAgCSAqIEFjY29yZGluZyB0byBCU3Bl YywgIlRoZSBDRCBjbG9jayBmcmVxdWVuY3kgbXVzdCBiZSBhdCBsZWFzdCB0d2ljZQo+ICAJICog dGhlIGZyZXF1ZW5jeSBvZiB0aGUgQXphbGlhIEJDTEsuIiBhbmQgQkNMSyBpcyA5NiBNSHogYnkg ZGVmYXVsdC4KPiAtCSAqCj4gLQkgKiBGSVhNRTogQ2hlY2sgdGhlIGFjdHVhbCwgbm90IGRlZmF1 bHQsIEJDTEsgYmVpbmcgdXNlZC4KPiAtCSAqCj4gLQkgKiBGSVhNRTogVGhpcyBkb2VzIG5vdCBk ZXBlbmQgb24gLT5oYXNfYXVkaW8gYmVjYXVzZSB0aGUgaGlnaGVyIENEQ0xLCj4gLQkgKiBpcyBy ZXF1aXJlZCBmb3IgYXVkaW8gcHJvYmUsIGFsc28gd2hlbiB0aGVyZSBhcmUgbm8gYXVkaW8gY2Fw YWJsZQo+IC0JICogZGlzcGxheXMgY29ubmVjdGVkIGF0IHByb2JlIHRpbWUuIFRoaXMgbGVhZHMg dG8gdW5uZWNlc3NhcmlseSBoaWdoCj4gLQkgKiBDRENMSyB3aGVuIGF1ZGlvIGlzIG5vdCByZXF1 aXJlZC4KPiAtCSAqCj4gLQkgKiBGSVhNRTogVGhpcyBsaW1pdCBpcyBvbmx5IGFwcGxpZWQgd2hl biB0aGVyZSBhcmUgZGlzcGxheXMgY29ubmVjdGVkCj4gLQkgKiBhdCBwcm9iZSB0aW1lLiBJZiB3 ZSBwcm9iZSB3aXRob3V0IGRpc3BsYXlzLCB3ZSdsbCBzdGlsbCBlbmQgdXAgdXNpbmcKPiAtCSAq IHRoZSBwbGF0Zm9ybSBtaW5pbXVtIENEQ0xLLCBmYWlsaW5nIGF1ZGlvIHByb2JlLgo+ICAJICov Cj4gLQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KQo+ICsJaWYgKGNydGNfc3RhdGUtPmhh c19hdWRpbyAmJiBJTlRFTF9HRU4oZGV2X3ByaXYpID49IDkpCj4gIAkJbWluX2NkY2xrID0gbWF4 KDIgKiA5NjAwMCwgbWluX2NkY2xrKTsKPiAgCj4gIAkvKgo+IEBAIC0yMTk1LDcgKzIxODQsNyBA QCBzdGF0aWMgaW50IGludGVsX2NvbXB1dGVfbWluX2NkY2xrKHN0cnVjdCBkcm1fYXRvbWljX3N0 YXRlICpzdGF0ZSkKPiAgCQlpbnRlbF9zdGF0ZS0+bWluX2NkY2xrW2ldID0gbWluX2NkY2xrOwo+ ICAJfQo+ICAKPiAtCW1pbl9jZGNsayA9IDA7Cj4gKwltaW5fY2RjbGsgPSBpbnRlbF9zdGF0ZS0+ Y2RjbGsuZm9yY2VfbWluX2NkY2xrOwo+ICAJZm9yX2VhY2hfcGlwZShkZXZfcHJpdiwgcGlwZSkK PiAgCQltaW5fY2RjbGsgPSBtYXgoaW50ZWxfc3RhdGUtPm1pbl9jZGNsa1twaXBlXSwgbWluX2Nk Y2xrKTsKPiAgCj4gQEAgLTIyNTYsNyArMjI0NSw3IEBAIHN0YXRpYyBpbnQgdmx2X21vZGVzZXRf Y2FsY19jZGNsayhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gIAkJdmx2X2NhbGNf dm9sdGFnZV9sZXZlbChkZXZfcHJpdiwgY2RjbGspOwo+ICAKPiAgCWlmICghaW50ZWxfc3RhdGUt PmFjdGl2ZV9jcnRjcykgewo+IC0JCWNkY2xrID0gdmx2X2NhbGNfY2RjbGsoZGV2X3ByaXYsIDAp Owo+ICsJCWNkY2xrID0gdmx2X2NhbGNfY2RjbGsoZGV2X3ByaXYsIGludGVsX3N0YXRlLT5jZGNs ay5mb3JjZV9taW5fY2RjbGspOwo+ICAKPiAgCQlpbnRlbF9zdGF0ZS0+Y2RjbGsuYWN0dWFsLmNk Y2xrID0gY2RjbGs7Cj4gIAkJaW50ZWxfc3RhdGUtPmNkY2xrLmFjdHVhbC52b2x0YWdlX2xldmVs ID0KPiBAQCAtMjI4OSw3ICsyMjc4LDcgQEAgc3RhdGljIGludCBiZHdfbW9kZXNldF9jYWxjX2Nk Y2xrKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKPiAgCQliZHdfY2FsY192b2x0YWdl X2xldmVsKGNkY2xrKTsKPiAgCj4gIAlpZiAoIWludGVsX3N0YXRlLT5hY3RpdmVfY3J0Y3MpIHsK PiAtCQljZGNsayA9IGJkd19jYWxjX2NkY2xrKDApOwo+ICsJCWNkY2xrID0gYmR3X2NhbGNfY2Rj bGsoaW50ZWxfc3RhdGUtPmNkY2xrLmZvcmNlX21pbl9jZGNsayk7Cj4gIAo+ICAJCWludGVsX3N0 YXRlLT5jZGNsay5hY3R1YWwuY2RjbGsgPSBjZGNsazsKPiAgCQlpbnRlbF9zdGF0ZS0+Y2RjbGsu YWN0dWFsLnZvbHRhZ2VfbGV2ZWwgPQo+IEBAIC0yMzYxLDcgKzIzNTAsNyBAQCBzdGF0aWMgaW50 IHNrbF9tb2Rlc2V0X2NhbGNfY2RjbGsoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ ICAJCXNrbF9jYWxjX3ZvbHRhZ2VfbGV2ZWwoY2RjbGspOwo+ICAKPiAgCWlmICghaW50ZWxfc3Rh dGUtPmFjdGl2ZV9jcnRjcykgewo+IC0JCWNkY2xrID0gc2tsX2NhbGNfY2RjbGsoMCwgdmNvKTsK PiArCQljZGNsayA9IHNrbF9jYWxjX2NkY2xrKGludGVsX3N0YXRlLT5jZGNsay5mb3JjZV9taW5f Y2RjbGssIHZjbyk7Cj4gIAo+ICAJCWludGVsX3N0YXRlLT5jZGNsay5hY3R1YWwudmNvID0gdmNv Owo+ICAJCWludGVsX3N0YXRlLT5jZGNsay5hY3R1YWwuY2RjbGsgPSBjZGNsazsKPiBAQCAtMjQw MCwxMCArMjM4OSwxMCBAQCBzdGF0aWMgaW50IGJ4dF9tb2Rlc2V0X2NhbGNfY2RjbGsoc3RydWN0 IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ICAKPiAgCWlmICghaW50ZWxfc3RhdGUtPmFjdGl2 ZV9jcnRjcykgewo+ICAJCWlmIChJU19HRU1JTklMQUtFKGRldl9wcml2KSkgewo+IC0JCQljZGNs ayA9IGdsa19jYWxjX2NkY2xrKDApOwo+ICsJCQkgY2RjbGsgPSBnbGtfY2FsY19jZGNsayhpbnRl bF9zdGF0ZS0+Y2RjbGsuZm9yY2VfbWluX2NkY2xrKTsKPiAgCQkJdmNvID0gZ2xrX2RlX3BsbF92 Y28oZGV2X3ByaXYsIGNkY2xrKTsKPiAgCQl9IGVsc2Ugewo+IC0JCQljZGNsayA9IGJ4dF9jYWxj X2NkY2xrKDApOwo+ICsJCQljZGNsayA9IGJ4dF9jYWxjX2NkY2xrKGludGVsX3N0YXRlLT5jZGNs ay5mb3JjZV9taW5fY2RjbGspOwo+ICAJCQl2Y28gPSBieHRfZGVfcGxsX3ZjbyhkZXZfcHJpdiwg Y2RjbGspOwo+ICAJCX0KPiAgCj4gQEAgLTI0MzksNyArMjQyOCw3IEBAIHN0YXRpYyBpbnQgY25s X21vZGVzZXRfY2FsY19jZGNsayhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gIAkJ ICAgIGNubF9jb21wdXRlX21pbl92b2x0YWdlX2xldmVsKGludGVsX3N0YXRlKSk7Cj4gIAo+ICAJ aWYgKCFpbnRlbF9zdGF0ZS0+YWN0aXZlX2NydGNzKSB7Cj4gLQkJY2RjbGsgPSBjbmxfY2FsY19j ZGNsaygwKTsKPiArCQljZGNsayA9IGNubF9jYWxjX2NkY2xrKGludGVsX3N0YXRlLT5jZGNsay5m b3JjZV9taW5fY2RjbGspOwo+ICAJCXZjbyA9IGNubF9jZGNsa19wbGxfdmNvKGRldl9wcml2LCBj ZGNsayk7Cj4gIAo+ICAJCWludGVsX3N0YXRlLT5jZGNsay5hY3R1YWwudmNvID0gdmNvOwo+IEBA IC0yNDcyLDcgKzI0NjEsNyBAQCBzdGF0aWMgaW50IGljbF9tb2Rlc2V0X2NhbGNfY2RjbGsoc3Ry dWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ICAJaW50ZWxfc3RhdGUtPmNkY2xrLmxvZ2lj YWwuY2RjbGsgPSBjZGNsazsKPiAgCj4gIAlpZiAoIWludGVsX3N0YXRlLT5hY3RpdmVfY3J0Y3Mp IHsKPiAtCQljZGNsayA9IGljbF9jYWxjX2NkY2xrKDAsIHJlZik7Cj4gKwkJY2RjbGsgPSBpY2xf Y2FsY19jZGNsayhpbnRlbF9zdGF0ZS0+Y2RjbGsuZm9yY2VfbWluX2NkY2xrLCByZWYpOwo+ICAJ CXZjbyA9IGljbF9jYWxjX2NkY2xrX3BsbF92Y28oZGV2X3ByaXYsIGNkY2xrKTsKPiAgCj4gIAkJ aW50ZWxfc3RhdGUtPmNkY2xrLmFjdHVhbC52Y28gPSB2Y287Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYwo+IGluZGV4IGNkZmUwOTUxZDE3MS4uMGIwZTUxOWZlODQ0IDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IEBAIC0xMjA0MSw2ICsxMjA0MSwxMCBA QCBzdGF0aWMgaW50IGludGVsX21vZGVzZXRfY2hlY2tzKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRl ICpzdGF0ZSkKPiAgCQlyZXR1cm4gLUVJTlZBTDsKPiAgCX0KPiAgCj4gKwkvKiBrZWVwIHRoZSBj dXJyZW50IHNldHRpbmcgKi8KPiArCWlmICghaW50ZWxfc3RhdGUtPm1vZGVzZXQpCj4gKwkJaW50 ZWxfc3RhdGUtPmNkY2xrLmZvcmNlX21pbl9jZGNsayA9IGRldl9wcml2LT5jZGNsay5mb3JjZV9t aW5fY2RjbGs7Cj4gKwo+ICAJaW50ZWxfc3RhdGUtPm1vZGVzZXQgPSB0cnVlOwo+ICAJaW50ZWxf c3RhdGUtPmFjdGl2ZV9jcnRjcyA9IGRldl9wcml2LT5hY3RpdmVfY3J0Y3M7Cj4gIAlpbnRlbF9z dGF0ZS0+Y2RjbGsubG9naWNhbCA9IGRldl9wcml2LT5jZGNsay5sb2dpY2FsOwo+IEBAIC0xMjEz Niw3ICsxMjE0MCw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsCj4gIAlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7Cj4gIAlzdHJ1Y3QgZHJtX2Ny dGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlLCAqY3J0Y19zdGF0ZTsKPiAgCWludCByZXQsIGk7Cj4g LQlib29sIGFueV9tcyA9IGZhbHNlOwo+ICsJYm9vbCBhbnlfbXMgPSBpbnRlbF9zdGF0ZS0+bW9k ZXNldDsKPiAgCj4gIAkvKiBDYXRjaCBJOTE1X01PREVfRkxBR19JTkhFUklURUQgKi8KPiAgCWZv cl9lYWNoX29sZG5ld19jcnRjX2luX3N0YXRlKHN0YXRlLCBjcnRjLCBvbGRfY3J0Y19zdGF0ZSwK PiBAQCAtMTI2ODQsNiArMTI2ODgsNyBAQCBzdGF0aWMgaW50IGludGVsX2F0b21pY19jb21taXQo c3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCQlkZXZfcHJpdi0+YWN0aXZlX2NydGNzID0gaW50 ZWxfc3RhdGUtPmFjdGl2ZV9jcnRjczsKPiAgCQlkZXZfcHJpdi0+Y2RjbGsubG9naWNhbCA9IGlu dGVsX3N0YXRlLT5jZGNsay5sb2dpY2FsOwo+ICAJCWRldl9wcml2LT5jZGNsay5hY3R1YWwgPSBp bnRlbF9zdGF0ZS0+Y2RjbGsuYWN0dWFsOwo+ICsJCWRldl9wcml2LT5jZGNsay5mb3JjZV9taW5f Y2RjbGsgPSBpbnRlbF9zdGF0ZS0+Y2RjbGsuZm9yY2VfbWluX2NkY2xrOwo+ICAJfQo+ICAKPiAg CWRybV9hdG9taWNfc3RhdGVfZ2V0KHN0YXRlKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ IGluZGV4IDUyMzM3ZjQ4N2ViYy4uN2I1M2Y3MmQ3MjQyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmgKPiBAQCAtNDYxLDYgKzQ2MSw4IEBAIHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUg ewo+ICAJCSAqIHN0YXRlIG9ubHkgd2hlbiBhbGwgY3J0YydzIGFyZSBEUE1TIG9mZi4KPiAgCQkg Ki8KPiAgCQlzdHJ1Y3QgaW50ZWxfY2RjbGtfc3RhdGUgYWN0dWFsOwo+ICsKPiArCQlpbnQgZm9y Y2VfbWluX2NkY2xrOwo+ICAJfSBjZGNsazsKPiAgCj4gIAlib29sIGRwbGxfc2V0LCBtb2Rlc2V0 Owo+IC0tIAo+IDIuNy40Cj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaW50ZWwtZ2Z4CgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVsCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QK SW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=