From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm/i915: Force 2*96 MHz cdclk on glk/cnl when audio power is enabled Date: Wed, 2 May 2018 20:14:17 +0300 Message-ID: <20180502171417.GL23723@intel.com> References: <1525034353-4675-1-git-send-email-abhay.kumar@intel.com> <20180502151224.GI23723@intel.com> <3ab81369-8980-8b46-e64d-482b2a3bf6e9@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 941B16E645 for ; Wed, 2 May 2018 17:14:21 +0000 (UTC) Content-Disposition: inline In-Reply-To: <3ab81369-8980-8b46-e64d-482b2a3bf6e9@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" Cc: "Nikula, Jani" , "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBNYXkgMDIsIDIwMTggYXQgMDk6NTc6MDFBTSAtMDcwMCwgS3VtYXIsIEFiaGF5IHdy b3RlOgo+IAo+IAo+IE9uIDUvMi8yMDE4IDg6MTIgQU0sIFZpbGxlIFN5cmrDpGzDpCB3cm90ZToK PiA+IE9uIFN1biwgQXByIDI5LCAyMDE4IGF0IDAxOjM5OjEzUE0gLTA3MDAsIEFiaGF5IEt1bWFy IHdyb3RlOgo+ID4KPiA+IEZyb206IG1lCj4gPgo+ID4gbW9zdGx5Cj4gPgo+ID4+IENEQ0xLIGhh cyB0byBiZSBhdCBsZWFzdCB0d2ljZSB0aGUgQkxDSyByZWdhcmRsZXNzIG9mIGF1ZGlvLiBBdWRp bwo+ID4+IGRyaXZlciBoYXMgdG8gcHJvYmUgdXNpbmcgdGhpcyBob29rIGFuZCBpbmNyZWFzZSB0 aGUgY2xvY2sgZXZlbiBpbgo+ID4+IGFic2VuY2Ugb2YgYW55IGRpc3BsYXkuCj4gPj4KPiA+PiBT aWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwu Y29tPgo+ID4+IFNpZ25lZC1vZmYtYnk6IEFiaGF5IEt1bWFyIDxhYmhheS5rdW1hckBpbnRlbC5j b20+Cj4gPj4gLS0tCj4gPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAg fCAgMiArKwo+ID4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXVkaW8uYyAgIHwgNDYg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gPj4gICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9jZGNsay5jICAgfCAzNCArKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLQo+ ID4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgIDcgKysrKystCj4g Pj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAgMSArCj4gPj4gICA1 IGZpbGVzIGNoYW5nZWQsIDYzIGluc2VydGlvbnMoKyksIDI3IGRlbGV0aW9ucygtKQo+ID4+Cj4g Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gPj4gaW5kZXggMTkzMTc2YmNkZGY1Li4zNGMzMWVm MDc2MWUgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiA+PiBAQCAtMTcwOCw2 ICsxNzA4LDggQEAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgewo+ID4+ICAgCQlzdHJ1Y3QgaW50 ZWxfY2RjbGtfc3RhdGUgYWN0dWFsOwo+ID4+ICAgCQkvKiBUaGUgY3VycmVudCBoYXJkd2FyZSBj ZGNsayBzdGF0ZSAqLwo+ID4+ICAgCQlzdHJ1Y3QgaW50ZWxfY2RjbGtfc3RhdGUgaHc7Cj4gPj4g Kwo+ID4+ICsJCWludCBmb3JjZV9taW5fY2RjbGs7Cj4gPj4gICAJfSBjZGNsazsKPiA+PiAgIAo+ ID4+ICAgCS8qKgo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9h dWRpby5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXVkaW8uYwo+ID4+IGluZGV4IDNl YTU2NmY5OTQ1MC4uZjAwMWZjZjA1ZDNhIDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2F1ZGlvLmMKPiA+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9hdWRpby5jCj4gPj4gQEAgLTU5NCw2ICs1OTQsNyBAQCBzdGF0aWMgdm9pZCBpbGtfYXVkaW9f Y29kZWNfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ID4+ICAgCUk5MTVf V1JJVEUoYXVkX2NvbmZpZywgdG1wKTsKPiA+PiAgIH0KPiA+PiAgIAo+ID4+ICsKPiA+PiAgIC8q Kgo+ID4+ICAgICogaW50ZWxfYXVkaW9fY29kZWNfZW5hYmxlIC0gRW5hYmxlIHRoZSBhdWRpbyBj b2RlYyBmb3IgSEQgYXVkaW8KPiA+PiAgICAqIEBlbmNvZGVyOiBlbmNvZGVyIG9uIHdoaWNoIHRv IGVuYWJsZSBhdWRpbwo+ID4+IEBAIC03MTMsNiArNzE0LDQ4IEBAIHZvaWQgaW50ZWxfaW5pdF9h dWRpb19ob29rcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gPj4gICAJfQo+ ID4+ICAgfQo+ID4+ICAgCj4gPj4gK3N0YXRpYyB2b2lkIGdsa19mb3JjZV9hdWRpb19jZGNsayhz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gPj4gKwkJCQkJYm9vbCBlbmFibGUp Cj4gPj4gK3sKPiA+PiArCXN0cnVjdCBkcm1fbW9kZXNldF9hY3F1aXJlX2N0eCBjdHg7Cj4gPj4g KwlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGU7Cj4gPj4gKwlpbnQgcmV0Owo+ID4+ICsK PiA+PiArCWRybV9tb2Rlc2V0X2FjcXVpcmVfaW5pdCgmY3R4LCAwKTsKPiA+PiArCXN0YXRlID0g ZHJtX2F0b21pY19zdGF0ZV9hbGxvYygmZGV2X3ByaXYtPmRybSk7Cj4gPj4gKwlpZiAoV0FSTl9P Tighc3RhdGUpKQo+ID4+ICsJCXJldHVybjsKPiA+PiArCj4gPj4gKwlzdGF0ZS0+YWNxdWlyZV9j dHggPSAmY3R4Owo+ID4+ICsKPiA+PiArcmV0cnk6Cj4gPj4gKwl0b19pbnRlbF9hdG9taWNfc3Rh dGUoc3RhdGUpLT5tb2Rlc2V0ID0gdHJ1ZTsKPiA+PiArCXRvX2ludGVsX2F0b21pY19zdGF0ZShz dGF0ZSktPmNkY2xrLmZvcmNlX21pbl9jZGNsayA9Cj4gPj4gKwkJZW5hYmxlID8gMiAqIDk2MDAw IDogMDsKPiA+PiArCj4gPj4gKwkvKgo+ID4+ICsJICogUHJvdGVjdHMgZGV2X3ByaXYtPmNkY2xr LmZvcmNlX21pbl9jZGNsawo+ID4+ICsJICogTmVlZCB0byBsb2NrIHRoaXMgaGVyZSBpbiBjYXNl IHdlIGhhdmUgbm8gYWN0aXZlIHBpcGVzCj4gPj4gKwkgKiBhbmQgdGh1cyB3b3VsZG4ndCBsb2Nr IGl0IGR1cmluZyB0aGUgY29tbWl0IG90aGVyd2lzZS4KPiA+PiArCSAqLwo+ID4+ICsJcmV0ID0g ZHJtX21vZGVzZXRfbG9jaygmZGV2X3ByaXYtPmRybS5tb2RlX2NvbmZpZy5jb25uZWN0aW9uX211 dGV4LCAmY3R4KTsKPiA+PiArCWlmICghcmV0KQo+ID4+ICsJCXJldCA9IGRybV9hdG9taWNfY29t bWl0KHN0YXRlKTsKPiA+PiArCj4gPj4gKwlpZiAocmV0ID09IC1FREVBRExLKSB7Cj4gPj4gKwkJ ZHJtX2F0b21pY19zdGF0ZV9jbGVhcihzdGF0ZSk7Cj4gPj4gKwkJZHJtX21vZGVzZXRfYmFja29m ZigmY3R4KTsKPiA+PiArCQlnb3RvIHJldHJ5Owo+ID4+ICsJfQo+ID4+ICsKPiA+PiArCVdBUk5f T04ocmV0KTsKPiA+PiArCj4gPj4gKwlkcm1fYXRvbWljX3N0YXRlX3B1dChzdGF0ZSk7Cj4gPj4g Kwo+ID4+ICsJZHJtX21vZGVzZXRfZHJvcF9sb2NrcygmY3R4KTsKPiA+PiArCWRybV9tb2Rlc2V0 X2FjcXVpcmVfZmluaSgmY3R4KTsKPiA+PiArfQo+ID4+ICsKPiA+PiAgIHN0YXRpYyB2b2lkIGk5 MTVfYXVkaW9fY29tcG9uZW50X2dldF9wb3dlcihzdHJ1Y3QgZGV2aWNlICprZGV2KQo+ID4+ICAg ewo+ID4+ICAgCWludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0KGtkZXZfdG9faTkxNShrZGV2KSwgUE9X RVJfRE9NQUlOX0FVRElPKTsKPiA+PiBAQCAtNzMyLDYgKzc3NSw5IEBAIHN0YXRpYyB2b2lkIGk5 MTVfYXVkaW9fY29tcG9uZW50X2NvZGVjX3dha2Vfb3ZlcnJpZGUoc3RydWN0IGRldmljZSAqa2Rl diwKPiA+PiAgIAlpZiAoIUlTX0dFTjkoZGV2X3ByaXYpKQo+ID4+ICAgCQlyZXR1cm47Cj4gPj4g ICAKPiA+PiArCWlmIChJU19DQU5OT05MQUtFKGRldl9wcml2KSB8fCBJU19HRU1JTklMQUtFKGRl dl9wcml2KSkKPiA+PiArCQlnbGtfZm9yY2VfYXVkaW9fY2RjbGsoZGV2X3ByaXYsIHRydWUpOwo+ ID4+ICsKPiA+IFdoZXJlIGRpZCB0aGUgcHV0X3Bvd2VyIGNvdW50ZXJwYXJ0IGdvPwo+IHdpdGgg cHV0X3Bvd2VyIGNvdW50ZXJwYXJ0IHRoZSBjZGNsayBhZ2FpbiBnb2VzIGJhY2sgdG8gbG93IGFu ZCB0aGVuIEhEQSAKPiBkb2Vzbid0IGdldCBkZXRlY3RlZC4gIHRoYXQncyB3aHkgaSBqdXN0IGtl cHQgdGhlIGJ1bXAgdXAuCgpUaGVuIGZpeCBoZGEgdG8gZ3JhYiB0aGUgcG93ZXIgd2hlbiBpdCBu ZWVkcyBpdD8KCk90aGVyd2lzZSB3ZSBwZXJtYW5lbnRseSBsb2NrIHRoZSBjZGNsayB0byA+PTIq OTYgTUh6LiBJZS4gaXQgd291bGQKYmUgbm8gZGlmZmVyZW50IHRvIHdoYXQgd2UgaGF2ZSBub3cs IGV4Y2VwdCBhIGxvdCBtb3JlIGNvbXBsZXguCgo+IAo+ID4KPiA+PiAgIAlpOTE1X2F1ZGlvX2Nv bXBvbmVudF9nZXRfcG93ZXIoa2Rldik7Cj4gPj4gICAKPiA+PiAgIAkvKgo+ID4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jZGNsay5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfY2RjbGsuYwo+ID4+IGluZGV4IGViY2E4M2E0NGQ5Yi4uNDA4NjczMDAxOGY5 IDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NkY2xrLmMKPiA+ PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jZGNsay5jCj4gPj4gQEAgLTIxNDEs MjQgKzIxNDEsNiBAQCBpbnQgaW50ZWxfY3J0Y19jb21wdXRlX21pbl9jZGNsayhjb25zdCBzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiA+PiAgIAl9Cj4gPj4gICAKPiA+PiAg IAkvKgo+ID4+IC0JICogQWNjb3JkaW5nIHRvIEJTcGVjLCAiVGhlIENEIGNsb2NrIGZyZXF1ZW5j eSBtdXN0IGJlIGF0IGxlYXN0IHR3aWNlCj4gPj4gLQkgKiB0aGUgZnJlcXVlbmN5IG9mIHRoZSBB emFsaWEgQkNMSy4iIGFuZCBCQ0xLIGlzIDk2IE1IeiBieSBkZWZhdWx0Lgo+ID4+IC0JICoKPiA+ PiAtCSAqIEZJWE1FOiBDaGVjayB0aGUgYWN0dWFsLCBub3QgZGVmYXVsdCwgQkNMSyBiZWluZyB1 c2VkLgo+ID4+IC0JICoKPiA+PiAtCSAqIEZJWE1FOiBUaGlzIGRvZXMgbm90IGRlcGVuZCBvbiAt Pmhhc19hdWRpbyBiZWNhdXNlIHRoZSBoaWdoZXIgQ0RDTEsKPiA+PiAtCSAqIGlzIHJlcXVpcmVk IGZvciBhdWRpbyBwcm9iZSwgYWxzbyB3aGVuIHRoZXJlIGFyZSBubyBhdWRpbyBjYXBhYmxlCj4g Pj4gLQkgKiBkaXNwbGF5cyBjb25uZWN0ZWQgYXQgcHJvYmUgdGltZS4gVGhpcyBsZWFkcyB0byB1 bm5lY2Vzc2FyaWx5IGhpZ2gKPiA+PiAtCSAqIENEQ0xLIHdoZW4gYXVkaW8gaXMgbm90IHJlcXVp cmVkLgo+ID4+IC0JICoKPiA+PiAtCSAqIEZJWE1FOiBUaGlzIGxpbWl0IGlzIG9ubHkgYXBwbGll ZCB3aGVuIHRoZXJlIGFyZSBkaXNwbGF5cyBjb25uZWN0ZWQKPiA+PiAtCSAqIGF0IHByb2JlIHRp bWUuIElmIHdlIHByb2JlIHdpdGhvdXQgZGlzcGxheXMsIHdlJ2xsIHN0aWxsIGVuZCB1cCB1c2lu Zwo+ID4+IC0JICogdGhlIHBsYXRmb3JtIG1pbmltdW0gQ0RDTEssIGZhaWxpbmcgYXVkaW8gcHJv YmUuCj4gPj4gLQkgKi8KPiA+PiAtCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDkpCj4gPj4g LQkJbWluX2NkY2xrID0gbWF4KDIgKiA5NjAwMCwgbWluX2NkY2xrKTsKPiA+IEkgc3VzcGVjdCB3 ZSBqdXN0IHdhbnQgdG8gcmV2ZXJ0IHRoZSBjb21taXQgdGhhdCBtYWRlIHRoaXMgdW5jb2RpdGlv bmFsLgo+ID4gT3RoZXJ3aXNlIHRoZSB1c2VyIG1heSBnZXQgYSBkaXNwbGF5IGJsaW5rIGV2ZXJ5 IHRpbWUgYXVkaW8gcGxheWJhY2sgaXMKPiA+IHN0YXJ0ZWQvc3RvcHBlZC4KPiB5ZWFoLiB3ZSBz aG91bGQga2VlcCBpdC4gSSByZW1vdmVkIHRoaXMgdGhvdWdodCBvZiByZWR1bmRhbnQgY29kZS4g YnV0IAo+IHdpbGwga2VlcCBpbiBuZXh0IHBhdGNoc2V0IGFuZCBqdXN0IHJldmVydCByZWNlbnQg cGF0Y2guCj4gPgo+ID4+IC0KPiA+PiAtCS8qCj4gPj4gICAJICogT24gVmFsbGV5dmlldyBzb21l IERTSSBwYW5lbHMgbG9zZSAodnxoKXN5bmMgd2hlbiB0aGUgY2xvY2sgaXMgbG93ZXIKPiA+PiAg IAkgKiB0aGFuIDMyMDAwMEtIei4KPiA+PiAgIAkgKi8KPiA+PiBAQCAtMjE5NSw3ICsyMTc3LDcg QEAgc3RhdGljIGludCBpbnRlbF9jb21wdXRlX21pbl9jZGNsayhzdHJ1Y3QgZHJtX2F0b21pY19z dGF0ZSAqc3RhdGUpCj4gPj4gICAJCWludGVsX3N0YXRlLT5taW5fY2RjbGtbaV0gPSBtaW5fY2Rj bGs7Cj4gPj4gICAJfQo+ID4+ICAgCj4gPj4gLQltaW5fY2RjbGsgPSAwOwo+ID4+ICsJbWluX2Nk Y2xrID0gaW50ZWxfc3RhdGUtPmNkY2xrLmZvcmNlX21pbl9jZGNsazsKPiA+PiAgIAlmb3JfZWFj aF9waXBlKGRldl9wcml2LCBwaXBlKQo+ID4+ICAgCQltaW5fY2RjbGsgPSBtYXgoaW50ZWxfc3Rh dGUtPm1pbl9jZGNsa1twaXBlXSwgbWluX2NkY2xrKTsKPiA+PiAgIAo+ID4+IEBAIC0yMjU2LDcg KzIyMzgsNyBAQCBzdGF0aWMgaW50IHZsdl9tb2Rlc2V0X2NhbGNfY2RjbGsoc3RydWN0IGRybV9h dG9taWNfc3RhdGUgKnN0YXRlKQo+ID4+ICAgCQl2bHZfY2FsY192b2x0YWdlX2xldmVsKGRldl9w cml2LCBjZGNsayk7Cj4gPj4gICAKPiA+PiAgIAlpZiAoIWludGVsX3N0YXRlLT5hY3RpdmVfY3J0 Y3MpIHsKPiA+PiAtCQljZGNsayA9IHZsdl9jYWxjX2NkY2xrKGRldl9wcml2LCAwKTsKPiA+PiAr CQljZGNsayA9IHZsdl9jYWxjX2NkY2xrKGRldl9wcml2LCBpbnRlbF9zdGF0ZS0+Y2RjbGsuZm9y Y2VfbWluX2NkY2xrKTsKPiA+PiAgIAo+ID4+ICAgCQlpbnRlbF9zdGF0ZS0+Y2RjbGsuYWN0dWFs LmNkY2xrID0gY2RjbGs7Cj4gPj4gICAJCWludGVsX3N0YXRlLT5jZGNsay5hY3R1YWwudm9sdGFn ZV9sZXZlbCA9Cj4gPj4gQEAgLTIyODksNyArMjI3MSw3IEBAIHN0YXRpYyBpbnQgYmR3X21vZGVz ZXRfY2FsY19jZGNsayhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gPj4gICAJCWJk d19jYWxjX3ZvbHRhZ2VfbGV2ZWwoY2RjbGspOwo+ID4+ICAgCj4gPj4gICAJaWYgKCFpbnRlbF9z dGF0ZS0+YWN0aXZlX2NydGNzKSB7Cj4gPj4gLQkJY2RjbGsgPSBiZHdfY2FsY19jZGNsaygwKTsK PiA+PiArCQljZGNsayA9IGJkd19jYWxjX2NkY2xrKGludGVsX3N0YXRlLT5jZGNsay5mb3JjZV9t aW5fY2RjbGspOwo+ID4+ICAgCj4gPj4gICAJCWludGVsX3N0YXRlLT5jZGNsay5hY3R1YWwuY2Rj bGsgPSBjZGNsazsKPiA+PiAgIAkJaW50ZWxfc3RhdGUtPmNkY2xrLmFjdHVhbC52b2x0YWdlX2xl dmVsID0KPiA+PiBAQCAtMjMyOCw3ICsyMzEwLDcgQEAgc3RhdGljIGludCBza2xfbW9kZXNldF9j YWxjX2NkY2xrKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKPiA+PiAgIAkJc2tsX2Nh bGNfdm9sdGFnZV9sZXZlbChjZGNsayk7Cj4gPj4gICAKPiA+PiAgIAlpZiAoIWludGVsX3N0YXRl LT5hY3RpdmVfY3J0Y3MpIHsKPiA+PiAtCQljZGNsayA9IHNrbF9jYWxjX2NkY2xrKDAsIHZjbyk7 Cj4gPj4gKwkJY2RjbGsgPSBza2xfY2FsY19jZGNsayhpbnRlbF9zdGF0ZS0+Y2RjbGsuZm9yY2Vf bWluX2NkY2xrLCB2Y28pOwo+ID4+ICAgCj4gPj4gICAJCWludGVsX3N0YXRlLT5jZGNsay5hY3R1 YWwudmNvID0gdmNvOwo+ID4+ICAgCQlpbnRlbF9zdGF0ZS0+Y2RjbGsuYWN0dWFsLmNkY2xrID0g Y2RjbGs7Cj4gPj4gQEAgLTIzNjcsMTAgKzIzNDksMTAgQEAgc3RhdGljIGludCBieHRfbW9kZXNl dF9jYWxjX2NkY2xrKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKPiA+PiAgIAo+ID4+ ICAgCWlmICghaW50ZWxfc3RhdGUtPmFjdGl2ZV9jcnRjcykgewo+ID4+ICAgCQlpZiAoSVNfR0VN SU5JTEFLRShkZXZfcHJpdikpIHsKPiA+PiAtCQkJY2RjbGsgPSBnbGtfY2FsY19jZGNsaygwKTsK PiA+PiArCQkJY2RjbGsgPSBnbGtfY2FsY19jZGNsayhpbnRlbF9zdGF0ZS0+Y2RjbGsuZm9yY2Vf bWluX2NkY2xrKTsKPiA+PiAgIAkJCXZjbyA9IGdsa19kZV9wbGxfdmNvKGRldl9wcml2LCBjZGNs ayk7Cj4gPj4gICAJCX0gZWxzZSB7Cj4gPj4gLQkJCWNkY2xrID0gYnh0X2NhbGNfY2RjbGsoMCk7 Cj4gPj4gKwkJCWNkY2xrID0gYnh0X2NhbGNfY2RjbGsoaW50ZWxfc3RhdGUtPmNkY2xrLmZvcmNl X21pbl9jZGNsayk7Cj4gPj4gICAJCQl2Y28gPSBieHRfZGVfcGxsX3ZjbyhkZXZfcHJpdiwgY2Rj bGspOwo+ID4+ICAgCQl9Cj4gPj4gICAKPiA+PiBAQCAtMjQwNiw3ICsyMzg4LDcgQEAgc3RhdGlj IGludCBjbmxfbW9kZXNldF9jYWxjX2NkY2xrKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0 ZSkKPiA+PiAgIAkJICAgIGNubF9jb21wdXRlX21pbl92b2x0YWdlX2xldmVsKGludGVsX3N0YXRl KSk7Cj4gPj4gICAKPiA+PiAgIAlpZiAoIWludGVsX3N0YXRlLT5hY3RpdmVfY3J0Y3MpIHsKPiA+ PiAtCQljZGNsayA9IGNubF9jYWxjX2NkY2xrKDApOwo+ID4+ICsJCWNkY2xrID0gY25sX2NhbGNf Y2RjbGsoaW50ZWxfc3RhdGUtPmNkY2xrLmZvcmNlX21pbl9jZGNsayk7Cj4gPj4gICAJCXZjbyA9 IGNubF9jZGNsa19wbGxfdmNvKGRldl9wcml2LCBjZGNsayk7Cj4gPj4gICAKPiA+PiAgIAkJaW50 ZWxfc3RhdGUtPmNkY2xrLmFjdHVhbC52Y28gPSB2Y287Cj4gPj4gQEAgLTI0MzksNyArMjQyMSw3 IEBAIHN0YXRpYyBpbnQgaWNsX21vZGVzZXRfY2FsY19jZGNsayhzdHJ1Y3QgZHJtX2F0b21pY19z dGF0ZSAqc3RhdGUpCj4gPj4gICAJaW50ZWxfc3RhdGUtPmNkY2xrLmxvZ2ljYWwuY2RjbGsgPSBj ZGNsazsKPiA+PiAgIAo+ID4+ICAgCWlmICghaW50ZWxfc3RhdGUtPmFjdGl2ZV9jcnRjcykgewo+ ID4+IC0JCWNkY2xrID0gaWNsX2NhbGNfY2RjbGsoMCwgcmVmKTsKPiA+PiArCQljZGNsayA9IGlj bF9jYWxjX2NkY2xrKGludGVsX3N0YXRlLT5jZGNsay5mb3JjZV9taW5fY2RjbGssIHJlZik7Cj4g Pj4gICAJCXZjbyA9IGljbF9jYWxjX2NkY2xrX3BsbF92Y28oZGV2X3ByaXYsIGNkY2xrKTsKPiA+ PiAgIAo+ID4+ICAgCQlpbnRlbF9zdGF0ZS0+Y2RjbGsuYWN0dWFsLnZjbyA9IHZjbzsKPiA+PiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gPj4gaW5kZXggODRjZTY2YmU4OGYyLi43 YzM2OWUxNWYxOTMgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGlzcGxheS5jCj4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j Cj4gPj4gQEAgLTEyMDIzLDYgKzEyMDIzLDEwIEBAIHN0YXRpYyBpbnQgaW50ZWxfbW9kZXNldF9j aGVja3Moc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ID4+ICAgCQlyZXR1cm4gLUVJ TlZBTDsKPiA+PiAgIAl9Cj4gPj4gICAKPiA+PiArCS8qIGtlZXAgdGhlIGN1cnJlbnQgc2V0dGlu ZyAqLwo+ID4+ICsJaWYgKCFpbnRlbF9zdGF0ZS0+bW9kZXNldCkKPiA+PiArCQlpbnRlbF9zdGF0 ZS0+Y2RjbGsuZm9yY2VfbWluX2NkY2xrID0gZGV2X3ByaXYtPmNkY2xrLmZvcmNlX21pbl9jZGNs azsKPiA+PiArCj4gPj4gICAJaW50ZWxfc3RhdGUtPm1vZGVzZXQgPSB0cnVlOwo+ID4+ICAgCWlu dGVsX3N0YXRlLT5hY3RpdmVfY3J0Y3MgPSBkZXZfcHJpdi0+YWN0aXZlX2NydGNzOwo+ID4+ICAg CWludGVsX3N0YXRlLT5jZGNsay5sb2dpY2FsID0gZGV2X3ByaXYtPmNkY2xrLmxvZ2ljYWw7Cj4g Pj4gQEAgLTEyMTE4LDcgKzEyMTIyLDcgQEAgc3RhdGljIGludCBpbnRlbF9hdG9taWNfY2hlY2so c3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+PiAgIAlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7Cj4g Pj4gICAJc3RydWN0IGRybV9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwgKmNydGNfc3RhdGU7 Cj4gPj4gICAJaW50IHJldCwgaTsKPiA+PiAtCWJvb2wgYW55X21zID0gZmFsc2U7Cj4gPj4gKwli b29sIGFueV9tcyA9IGludGVsX3N0YXRlLT5tb2Rlc2V0Owo+ID4+ICAgCj4gPj4gICAJLyogQ2F0 Y2ggSTkxNV9NT0RFX0ZMQUdfSU5IRVJJVEVEICovCj4gPj4gICAJZm9yX2VhY2hfb2xkbmV3X2Ny dGNfaW5fc3RhdGUoc3RhdGUsIGNydGMsIG9sZF9jcnRjX3N0YXRlLAo+ID4+IEBAIC0xMjY2Niw2 ICsxMjY3MCw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfYXRvbWljX2NvbW1pdChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAo+ID4+ICAgCQlkZXZfcHJpdi0+YWN0aXZlX2NydGNzID0gaW50ZWxfc3RhdGUt PmFjdGl2ZV9jcnRjczsKPiA+PiAgIAkJZGV2X3ByaXYtPmNkY2xrLmxvZ2ljYWwgPSBpbnRlbF9z dGF0ZS0+Y2RjbGsubG9naWNhbDsKPiA+PiAgIAkJZGV2X3ByaXYtPmNkY2xrLmFjdHVhbCA9IGlu dGVsX3N0YXRlLT5jZGNsay5hY3R1YWw7Cj4gPj4gKwkJZGV2X3ByaXYtPmNkY2xrLmZvcmNlX21p bl9jZGNsayA9IGludGVsX3N0YXRlLT5jZGNsay5mb3JjZV9taW5fY2RjbGs7Cj4gPj4gICAJfQo+ ID4+ICAgCj4gPj4gICAJZHJtX2F0b21pY19zdGF0ZV9nZXQoc3RhdGUpOwo+ID4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rydi5oCj4gPj4gaW5kZXggMTFhMTkzMmNkZTZlLi43OTkyODUwNWQwZDAgMTAw NjQ0Cj4gPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+PiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4+IEBAIC00NjEsNiArNDYxLDcg QEAgc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSB7Cj4gPj4gICAJCSAqIHN0YXRlIG9ubHkgd2hl biBhbGwgY3J0YydzIGFyZSBEUE1TIG9mZi4KPiA+PiAgIAkJICovCj4gPj4gICAJCXN0cnVjdCBp bnRlbF9jZGNsa19zdGF0ZSBhY3R1YWw7Cj4gPj4gKwkJaW50IGZvcmNlX21pbl9jZGNsazsKPiA+ PiAgIAl9IGNkY2xrOwo+ID4+ICAgCj4gPj4gICAJYm9vbCBkcGxsX3NldCwgbW9kZXNldDsKPiA+ PiAtLSAKPiA+PiAyLjcuNAoKLS0gClZpbGxlIFN5cmrDpGzDpApJbnRlbApfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK