From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [CI 1/4] drm/i915: Force 2*96 MHz cdclk on glk/cnl when audio power is enabled Date: Fri, 22 Mar 2019 11:38:20 +0200 Message-ID: <87sgvfb65v.fsf@intel.com> References: <20190320135439.12201-1-imre.deak@intel.com> <6e255566-706c-66d5-76bb-76bbcdc1a77f@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id F1AA36E2F4 for ; Fri, 22 Mar 2019 09:37:56 +0000 (UTC) In-Reply-To: <6e255566-706c-66d5-76bb-76bbcdc1a77f@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Clinton Taylor , Imre Deak , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCAyMSBNYXIgMjAxOSwgQ2xpbnRvbiBUYXlsb3IgPENsaW50b24uQS5UYXlsb3JAaW50 ZWwuY29tPiB3cm90ZToKPiBPbiAzLzIwLzE5IDY6NTQgQU0sIEltcmUgRGVhayB3cm90ZToKPj4g RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPj4K Pj4gQ0RDTEsgaGFzIHRvIGJlIGF0IGxlYXN0IHR3aWNlIHRoZSBCTENLIHJlZ2FyZGxlc3Mgb2Yg YXVkaW8uIEF1ZGlvCj4+IGRyaXZlciBoYXMgdG8gcHJvYmUgdXNpbmcgdGhpcyBob29rIGFuZCBp bmNyZWFzZSB0aGUgY2xvY2sgZXZlbiBpbgo+PiBhYnNlbmNlIG9mIGFueSBkaXNwbGF5Lgo+Pgo+ PiB2MjogVXNlIGF0b21pYyByZWZjb3VudCBmb3IgZ2V0X3Bvd2VyLCBwdXRfcG93ZXIgc28gdGhh dCB3ZSBjYW4KPj4gICAgICBjYWxsIGVhY2ggb25jZShBYmhheSkuCj4+IHYzOiBSZXNldCBwb3dl ciB3ZWxsIDIgdG8gYXZvaWQgYW55IHRyYW5zYWN0aW9uIG9uIGlEaXNwIGxpbmsKPj4gICAgICBk dXJpbmcgY2RjbGsgY2hhbmdlKEFiaGF5KS4KPj4gdjQ6IFJlbW92ZSBQb3dlciB3ZWxsIDIgcmVz ZXQgd29ya2Fyb3VuZChWaWxsZSkuCj4+IHY1OiBSZW1vdmUgdW53YW50ZWQgUG93ZXIgd2VsbCAy IHJlZ2lzdGVyIGRlZmluZWQgaW4gdjQoQWJoYXkpLgo+PiB2NjoKPj4gLSBVc2UgYSBkZWRpY2F0 ZWQgZmxhZyBpbnN0ZWFkIG9mIHN0YXRlLT5tb2Rlc2V0IGZvciBtaW4gQ0RDTEsgY2hhbmdlcwo+ PiAtIE1ha2UgZ2V0L3B1dCBhdWRpbyBwb3dlciBkb21haW4gc3ltbWV0cmljCj4+IC0gUmViYXNl ZCBvbiB0b3Agb2YgaW50ZWxfd2FrZXJlZiB0cmFja2luZyBjaGFuZ2VzLgo+Pgo+PiBTaWduZWQt b2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+ PiBTaWduZWQtb2ZmLWJ5OiBBYmhheSBLdW1hciA8YWJoYXkua3VtYXJAaW50ZWwuY29tPgo+PiBU ZXN0ZWQtYnk6IEFiaGF5IEt1bWFyIDxhYmhheS5rdW1hckBpbnRlbC5jb20+Cj4+IFNpZ25lZC1v ZmYtYnk6IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVsLmNvbT4KPj4gLS0tCj4+ICAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgIHwgIDMgKysKPj4gICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9hdWRpby5jICAgfCA2NCArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrLS0KPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jZGNsay5jICAgfCAzMCAr KysrKystLS0tLS0tLS0tLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXku YyB8ICA5ICsrKystCj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgIHwg IDMgKysKPj4gICA1IGZpbGVzIGNoYW5nZWQsIDg2IGluc2VydGlvbnMoKyksIDIzIGRlbGV0aW9u cygtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPj4gaW5kZXggYzY1YzJlNjY0OWRmLi42 YjEwY2VlNGU3N2YgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmgKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+PiBAQCAtMTYyNCw2 ICsxNjI0LDggQEAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgewo+PiAgIAkJc3RydWN0IGludGVs X2NkY2xrX3N0YXRlIGFjdHVhbDsKPj4gICAJCS8qIFRoZSBjdXJyZW50IGhhcmR3YXJlIGNkY2xr IHN0YXRlICovCj4+ICAgCQlzdHJ1Y3QgaW50ZWxfY2RjbGtfc3RhdGUgaHc7Cj4+ICsKPj4gKwkJ aW50IGZvcmNlX21pbl9jZGNsazsKPj4gICAJfSBjZGNsazsKPj4gICAKPj4gICAJLyoqCj4+IEBA IC0xNzQzLDYgKzE3NDUsNyBAQCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSB7Cj4+ICAgCSAqCj4+ ICAgCSAqLwo+PiAgIAlzdHJ1Y3QgbXV0ZXggYXZfbXV0ZXg7Cj4+ICsJaW50IGF1ZGlvX3Bvd2Vy X3JlZmNvdW50Owo+PiAgIAo+PiAgIAlzdHJ1Y3Qgewo+PiAgIAkJc3RydWN0IG11dGV4IG11dGV4 Owo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXVkaW8uYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F1ZGlvLmMKPj4gaW5kZXggNTAyYjU3Y2U3MmFiLi4y MDMyNGIwZDM0YzcgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F1 ZGlvLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXVkaW8uYwo+PiBAQCAt NzQxLDE4ICs3NDEsNzggQEAgdm9pZCBpbnRlbF9pbml0X2F1ZGlvX2hvb2tzKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKPj4gICAJfQo+PiAgIH0KPj4gICAKPj4gK3N0YXRpYyB2 b2lkIGdsa19mb3JjZV9hdWRpb19jZGNsayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCj4+ICsJCQkJICBib29sIGVuYWJsZSkKPj4gK3sKPj4gKwlzdHJ1Y3QgZHJtX21vZGVzZXRf YWNxdWlyZV9jdHggY3R4Owo+PiArCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZTsKPj4g KwlpbnQgcmV0Owo+PiArCj4+ICsJZHJtX21vZGVzZXRfYWNxdWlyZV9pbml0KCZjdHgsIDApOwo+ PiArCXN0YXRlID0gZHJtX2F0b21pY19zdGF0ZV9hbGxvYygmZGV2X3ByaXYtPmRybSk7Cj4+ICsJ aWYgKFdBUk5fT04oIXN0YXRlKSkKPj4gKwkJcmV0dXJuOwo+PiArCj4+ICsJc3RhdGUtPmFjcXVp cmVfY3R4ID0gJmN0eDsKPj4gKwo+PiArcmV0cnk6Cj4+ICsJdG9faW50ZWxfYXRvbWljX3N0YXRl KHN0YXRlKS0+Y2RjbGsuZm9yY2VfbWluX2NkY2xrX2NoYW5nZWQgPSB0cnVlOwo+PiArCXRvX2lu dGVsX2F0b21pY19zdGF0ZShzdGF0ZSktPmNkY2xrLmZvcmNlX21pbl9jZGNsayA9Cj4+ICsJCWVu YWJsZSA/IDIgKiA5NjAwMCA6IDA7Cj4gVGhpcyB3aWxsIG5lZWQgdG8gYmUgcmV2aXNpdGVkIG9u IGxhdGVyIFNPQ3MgdGhhdCBtYXkgc3VwcG9ydCBjZGNsayAKPiByYXRlcyA8IDE5MiBNaHouCj4+ ICsKPj4gKwkvKgo+PiArCSAqIFByb3RlY3RzIGRldl9wcml2LT5jZGNsay5mb3JjZV9taW5fY2Rj bGsKPj4gKwkgKiBOZWVkIHRvIGxvY2sgdGhpcyBoZXJlIGluIGNhc2Ugd2UgaGF2ZSBubyBhY3Rp dmUgcGlwZXMKPj4gKwkgKiBhbmQgdGh1cyB3b3VsZG4ndCBsb2NrIGl0IGR1cmluZyB0aGUgY29t bWl0IG90aGVyd2lzZS4KPj4gKwkgKi8KPj4gKwlyZXQgPSBkcm1fbW9kZXNldF9sb2NrKCZkZXZf cHJpdi0+ZHJtLm1vZGVfY29uZmlnLmNvbm5lY3Rpb25fbXV0ZXgsCj4+ICsJCQkgICAgICAgJmN0 eCk7Cj4+ICsJaWYgKCFyZXQpCj4+ICsJCXJldCA9IGRybV9hdG9taWNfY29tbWl0KHN0YXRlKTsK Pj4gKwo+PiArCWlmIChyZXQgPT0gLUVERUFETEspIHsKPj4gKwkJZHJtX2F0b21pY19zdGF0ZV9j bGVhcihzdGF0ZSk7Cj4+ICsJCWRybV9tb2Rlc2V0X2JhY2tvZmYoJmN0eCk7Cj4+ICsJCWdvdG8g cmV0cnk7Cj4+ICsJfQo+PiArCj4+ICsJV0FSTl9PTihyZXQpOwo+PiArCj4+ICsJZHJtX2F0b21p Y19zdGF0ZV9wdXQoc3RhdGUpOwo+PiArCj4+ICsJZHJtX21vZGVzZXRfZHJvcF9sb2NrcygmY3R4 KTsKPj4gKwlkcm1fbW9kZXNldF9hY3F1aXJlX2ZpbmkoJmN0eCk7Cj4+ICt9Cj4+ICsKPj4gICBz dGF0aWMgdW5zaWduZWQgbG9uZyBpOTE1X2F1ZGlvX2NvbXBvbmVudF9nZXRfcG93ZXIoc3RydWN0 IGRldmljZSAqa2RldikKPj4gICB7Cj4+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0ga2Rldl90b19pOTE1KGtkZXYpOwo+PiArCWludGVsX3dha2VyZWZfdCByZXQ7Cj4+ICsK Pj4gICAJLyogQ2F0Y2ggcG90ZW50aWFsIGltcGVkYW5jZSBtaXNtYXRjaGVzIGJlZm9yZSB0aGV5 IG9jY3VyISAqLwo+PiAgIAlCVUlMRF9CVUdfT04oc2l6ZW9mKGludGVsX3dha2VyZWZfdCkgPiBz aXplb2YodW5zaWduZWQgbG9uZykpOwo+PiAgIAo+PiAtCXJldHVybiBpbnRlbF9kaXNwbGF5X3Bv d2VyX2dldChrZGV2X3RvX2k5MTUoa2RldiksIFBPV0VSX0RPTUFJTl9BVURJTyk7Cj4+ICsJcmV0 ID0gaW50ZWxfZGlzcGxheV9wb3dlcl9nZXQoZGV2X3ByaXYsIFBPV0VSX0RPTUFJTl9BVURJTyk7 Cj4+ICsKPj4gKwkvKiBGb3JjZSBDRENMSyB0byAyKkJDTEsgYXMgbG9uZyBhcyB3ZSBuZWVkIGF1 ZGlvIHRvIGJlIHBvd2VyZWQuICovCj4+ICsJaWYgKGRldl9wcml2LT5hdWRpb19wb3dlcl9yZWZj b3VudCsrID09IDApCj4+ICsJCWlmIChJU19DQU5OT05MQUtFKGRldl9wcml2KSB8fCBJU19HRU1J TklMQUtFKGRldl9wcml2KSkKPj4gKwkJCWdsa19mb3JjZV9hdWRpb19jZGNsayhkZXZfcHJpdiwg dHJ1ZSk7Cj4+ICsKPj4gKwlyZXR1cm4gcmV0Owo+PiAgIH0KPj4gICAKPj4gICBzdGF0aWMgdm9p ZCBpOTE1X2F1ZGlvX2NvbXBvbmVudF9wdXRfcG93ZXIoc3RydWN0IGRldmljZSAqa2RldiwKPj4g ICAJCQkJCSAgIHVuc2lnbmVkIGxvbmcgY29va2llKQo+PiAgIHsKPj4gLQlpbnRlbF9kaXNwbGF5 X3Bvd2VyX3B1dChrZGV2X3RvX2k5MTUoa2RldiksIFBPV0VSX0RPTUFJTl9BVURJTywgY29va2ll KTsKPj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBrZGV2X3RvX2k5MTUo a2Rldik7Cj4+ICsKPj4gKwkvKiBTdG9wIGZvcmNpbmcgQ0RDTEsgdG8gMipCQ0xLIGlmIG5vIG5l ZWQgZm9yIGF1ZGlvIHRvIGJlIHBvd2VyZWQuICovCj4+ICsJaWYgKC0tZGV2X3ByaXYtPmF1ZGlv X3Bvd2VyX3JlZmNvdW50ID09IDApCj4+ICsJCWlmIChJU19DQU5OT05MQUtFKGRldl9wcml2KSB8 fCBJU19HRU1JTklMQUtFKGRldl9wcml2KSkKPj4gKwkJCWdsa19mb3JjZV9hdWRpb19jZGNsayhk ZXZfcHJpdiwgZmFsc2UpOwo+PiArCj4+ICsJaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQoZGV2X3By aXYsIFBPV0VSX0RPTUFJTl9BVURJTywgY29va2llKTsKPj4gICB9Cj4+ICAgCj4+ICAgc3RhdGlj IHZvaWQgaTkxNV9hdWRpb19jb21wb25lbnRfY29kZWNfd2FrZV9vdmVycmlkZShzdHJ1Y3QgZGV2 aWNlICprZGV2LAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY2Rj bGsuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NkY2xrLmMKPj4gaW5kZXggMjFmYjRl MGQ2YzRlLi43ZGNjYTg0ZjMxZDEgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2NkY2xrLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY2RjbGsu Ywo+PiBAQCAtMjE4NywxOSArMjE4Nyw4IEBAIGludCBpbnRlbF9jcnRjX2NvbXB1dGVfbWluX2Nk Y2xrKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+PiAgIAkvKgo+ PiAgIAkgKiBBY2NvcmRpbmcgdG8gQlNwZWMsICJUaGUgQ0QgY2xvY2sgZnJlcXVlbmN5IG11c3Qg YmUgYXQgbGVhc3QgdHdpY2UKPj4gICAJICogdGhlIGZyZXF1ZW5jeSBvZiB0aGUgQXphbGlhIEJD TEsuIiBhbmQgQkNMSyBpcyA5NiBNSHogYnkgZGVmYXVsdC4KPj4gLQkgKgo+PiAtCSAqIEZJWE1F OiBDaGVjayB0aGUgYWN0dWFsLCBub3QgZGVmYXVsdCwgQkNMSyBiZWluZyB1c2VkLgo+PiAtCSAq Cj4+IC0JICogRklYTUU6IFRoaXMgZG9lcyBub3QgZGVwZW5kIG9uIC0+aGFzX2F1ZGlvIGJlY2F1 c2UgdGhlIGhpZ2hlciBDRENMSwo+PiAtCSAqIGlzIHJlcXVpcmVkIGZvciBhdWRpbyBwcm9iZSwg YWxzbyB3aGVuIHRoZXJlIGFyZSBubyBhdWRpbyBjYXBhYmxlCj4+IC0JICogZGlzcGxheXMgY29u bmVjdGVkIGF0IHByb2JlIHRpbWUuIFRoaXMgbGVhZHMgdG8gdW5uZWNlc3NhcmlseSBoaWdoCj4+ IC0JICogQ0RDTEsgd2hlbiBhdWRpbyBpcyBub3QgcmVxdWlyZWQuCj4+IC0JICoKPj4gLQkgKiBG SVhNRTogVGhpcyBsaW1pdCBpcyBvbmx5IGFwcGxpZWQgd2hlbiB0aGVyZSBhcmUgZGlzcGxheXMg Y29ubmVjdGVkCj4+IC0JICogYXQgcHJvYmUgdGltZS4gSWYgd2UgcHJvYmUgd2l0aG91dCBkaXNw bGF5cywgd2UnbGwgc3RpbGwgZW5kIHVwIHVzaW5nCj4+IC0JICogdGhlIHBsYXRmb3JtIG1pbmlt dW0gQ0RDTEssIGZhaWxpbmcgYXVkaW8gcHJvYmUuCj4+ICAgCSAqLwo+PiAtCWlmIChJTlRFTF9H RU4oZGV2X3ByaXYpID49IDkpCj4+ICsJaWYgKGNydGNfc3RhdGUtPmhhc19hdWRpbyAmJiBJTlRF TF9HRU4oZGV2X3ByaXYpID49IDkpCj4+ICAgCQltaW5fY2RjbGsgPSBtYXgoMiAqIDk2MDAwLCBt aW5fY2RjbGspOwo+Cj4gRG8gd2UgaGF2ZSBwbGFucyB0byBzdXBwb3J0IGEgNDhNaHogQkNMSz8K CklJVUMgdGhhdCBjYW4gb25seSBiZSBkb25lIHdoZW4gd2UgZG9uJ3QgY2FyZSBhYm91dCBhdWRp bywgYW5kIEFGQUlLLAphaGVtLCBjZXJ0YWluIG90aGVyIE9TIGhhcyBvcHRlZCBub3QgdG8gc3Vw cG9ydCB0aGlzLgoKQlIsCkphbmkuCgoKCj4KPgo+PiAgIAo+PiAgIAkvKgo+PiBAQCAtMjIzOSw3 ICsyMjI4LDcgQEAgc3RhdGljIGludCBpbnRlbF9jb21wdXRlX21pbl9jZGNsayhzdHJ1Y3QgZHJt X2F0b21pY19zdGF0ZSAqc3RhdGUpCj4+ICAgCQlpbnRlbF9zdGF0ZS0+bWluX2NkY2xrW2ldID0g bWluX2NkY2xrOwo+PiAgIAl9Cj4+ICAgCj4+IC0JbWluX2NkY2xrID0gMDsKPj4gKwltaW5fY2Rj bGsgPSBpbnRlbF9zdGF0ZS0+Y2RjbGsuZm9yY2VfbWluX2NkY2xrOwo+PiAgIAlmb3JfZWFjaF9w aXBlKGRldl9wcml2LCBwaXBlKQo+PiAgIAkJbWluX2NkY2xrID0gbWF4KGludGVsX3N0YXRlLT5t aW5fY2RjbGtbcGlwZV0sIG1pbl9jZGNsayk7Cj4+ICAgCj4+IEBAIC0yMzAwLDcgKzIyODksOCBA QCBzdGF0aWMgaW50IHZsdl9tb2Rlc2V0X2NhbGNfY2RjbGsoc3RydWN0IGRybV9hdG9taWNfc3Rh dGUgKnN0YXRlKQo+PiAgIAkJdmx2X2NhbGNfdm9sdGFnZV9sZXZlbChkZXZfcHJpdiwgY2RjbGsp Owo+PiAgIAo+PiAgIAlpZiAoIWludGVsX3N0YXRlLT5hY3RpdmVfY3J0Y3MpIHsKPj4gLQkJY2Rj bGsgPSB2bHZfY2FsY19jZGNsayhkZXZfcHJpdiwgMCk7Cj4+ICsJCWNkY2xrID0gdmx2X2NhbGNf Y2RjbGsoZGV2X3ByaXYsCj4+ICsJCQkJICAgICAgIGludGVsX3N0YXRlLT5jZGNsay5mb3JjZV9t aW5fY2RjbGspOwo+PiAgIAo+PiAgIAkJaW50ZWxfc3RhdGUtPmNkY2xrLmFjdHVhbC5jZGNsayA9 IGNkY2xrOwo+PiAgIAkJaW50ZWxfc3RhdGUtPmNkY2xrLmFjdHVhbC52b2x0YWdlX2xldmVsID0K Pj4gQEAgLTIzMzMsNyArMjMyMyw3IEBAIHN0YXRpYyBpbnQgYmR3X21vZGVzZXRfY2FsY19jZGNs ayhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4+ICAgCQliZHdfY2FsY192b2x0YWdl X2xldmVsKGNkY2xrKTsKPj4gICAKPj4gICAJaWYgKCFpbnRlbF9zdGF0ZS0+YWN0aXZlX2NydGNz KSB7Cj4+IC0JCWNkY2xrID0gYmR3X2NhbGNfY2RjbGsoMCk7Cj4+ICsJCWNkY2xrID0gYmR3X2Nh bGNfY2RjbGsoaW50ZWxfc3RhdGUtPmNkY2xrLmZvcmNlX21pbl9jZGNsayk7Cj4+ICAgCj4+ICAg CQlpbnRlbF9zdGF0ZS0+Y2RjbGsuYWN0dWFsLmNkY2xrID0gY2RjbGs7Cj4+ICAgCQlpbnRlbF9z dGF0ZS0+Y2RjbGsuYWN0dWFsLnZvbHRhZ2VfbGV2ZWwgPQo+PiBAQCAtMjQwNSw3ICsyMzk1LDcg QEAgc3RhdGljIGludCBza2xfbW9kZXNldF9jYWxjX2NkY2xrKHN0cnVjdCBkcm1fYXRvbWljX3N0 YXRlICpzdGF0ZSkKPj4gICAJCXNrbF9jYWxjX3ZvbHRhZ2VfbGV2ZWwoY2RjbGspOwo+PiAgIAo+ PiAgIAlpZiAoIWludGVsX3N0YXRlLT5hY3RpdmVfY3J0Y3MpIHsKPj4gLQkJY2RjbGsgPSBza2xf Y2FsY19jZGNsaygwLCB2Y28pOwo+PiArCQljZGNsayA9IHNrbF9jYWxjX2NkY2xrKGludGVsX3N0 YXRlLT5jZGNsay5mb3JjZV9taW5fY2RjbGssIHZjbyk7Cj4+ICAgCj4+ICAgCQlpbnRlbF9zdGF0 ZS0+Y2RjbGsuYWN0dWFsLnZjbyA9IHZjbzsKPj4gICAJCWludGVsX3N0YXRlLT5jZGNsay5hY3R1 YWwuY2RjbGsgPSBjZGNsazsKPj4gQEAgLTI0NDQsMTAgKzI0MzQsMTAgQEAgc3RhdGljIGludCBi eHRfbW9kZXNldF9jYWxjX2NkY2xrKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKPj4g ICAKPj4gICAJaWYgKCFpbnRlbF9zdGF0ZS0+YWN0aXZlX2NydGNzKSB7Cj4+ICAgCQlpZiAoSVNf R0VNSU5JTEFLRShkZXZfcHJpdikpIHsKPj4gLQkJCWNkY2xrID0gZ2xrX2NhbGNfY2RjbGsoMCk7 Cj4+ICsJCQljZGNsayA9IGdsa19jYWxjX2NkY2xrKGludGVsX3N0YXRlLT5jZGNsay5mb3JjZV9t aW5fY2RjbGspOwo+PiAgIAkJCXZjbyA9IGdsa19kZV9wbGxfdmNvKGRldl9wcml2LCBjZGNsayk7 Cj4+ICAgCQl9IGVsc2Ugewo+PiAtCQkJY2RjbGsgPSBieHRfY2FsY19jZGNsaygwKTsKPj4gKwkJ CWNkY2xrID0gYnh0X2NhbGNfY2RjbGsoaW50ZWxfc3RhdGUtPmNkY2xrLmZvcmNlX21pbl9jZGNs ayk7Cj4+ICAgCQkJdmNvID0gYnh0X2RlX3BsbF92Y28oZGV2X3ByaXYsIGNkY2xrKTsKPj4gICAJ CX0KPj4gICAKPj4gQEAgLTI0ODMsNyArMjQ3Myw3IEBAIHN0YXRpYyBpbnQgY25sX21vZGVzZXRf Y2FsY19jZGNsayhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4+ICAgCQkgICAgY25s X2NvbXB1dGVfbWluX3ZvbHRhZ2VfbGV2ZWwoaW50ZWxfc3RhdGUpKTsKPj4gICAKPj4gICAJaWYg KCFpbnRlbF9zdGF0ZS0+YWN0aXZlX2NydGNzKSB7Cj4+IC0JCWNkY2xrID0gY25sX2NhbGNfY2Rj bGsoMCk7Cj4+ICsJCWNkY2xrID0gY25sX2NhbGNfY2RjbGsoaW50ZWxfc3RhdGUtPmNkY2xrLmZv cmNlX21pbl9jZGNsayk7Cj4+ICAgCQl2Y28gPSBjbmxfY2RjbGtfcGxsX3ZjbyhkZXZfcHJpdiwg Y2RjbGspOwo+PiAgIAo+PiAgIAkJaW50ZWxfc3RhdGUtPmNkY2xrLmFjdHVhbC52Y28gPSB2Y287 Cj4+IEBAIC0yNTE5LDcgKzI1MDksNyBAQCBzdGF0aWMgaW50IGljbF9tb2Rlc2V0X2NhbGNfY2Rj bGsoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+PiAgIAkJICAgIGNubF9jb21wdXRl X21pbl92b2x0YWdlX2xldmVsKGludGVsX3N0YXRlKSk7Cj4+ICAgCj4+ICAgCWlmICghaW50ZWxf c3RhdGUtPmFjdGl2ZV9jcnRjcykgewo+PiAtCQljZGNsayA9IGljbF9jYWxjX2NkY2xrKDAsIHJl Zik7Cj4+ICsJCWNkY2xrID0gaWNsX2NhbGNfY2RjbGsoaW50ZWxfc3RhdGUtPmNkY2xrLmZvcmNl X21pbl9jZGNsaywgcmVmKTsKPj4gICAJCXZjbyA9IGljbF9jYWxjX2NkY2xrX3BsbF92Y28oZGV2 X3ByaXYsIGNkY2xrKTsKPj4gICAKPj4gICAJCWludGVsX3N0YXRlLT5jZGNsay5hY3R1YWwudmNv ID0gdmNvOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4+IGluZGV4IDYxYWNi YWYyYWY3NS4uYjQxOTljZDUzMzQ5IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlz cGxheS5jCj4+IEBAIC0xMjk3Myw2ICsxMjk3MywxMSBAQCBzdGF0aWMgaW50IGludGVsX21vZGVz ZXRfY2hlY2tzKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKPj4gICAJCXJldHVybiAt RUlOVkFMOwo+PiAgIAl9Cj4+ICAgCj4+ICsJLyoga2VlcCB0aGUgY3VycmVudCBzZXR0aW5nICov Cj4+ICsJaWYgKCFpbnRlbF9zdGF0ZS0+Y2RjbGsuZm9yY2VfbWluX2NkY2xrX2NoYW5nZWQpCj4+ ICsJCWludGVsX3N0YXRlLT5jZGNsay5mb3JjZV9taW5fY2RjbGsgPQo+PiArCQkJZGV2X3ByaXYt PmNkY2xrLmZvcmNlX21pbl9jZGNsazsKPj4gKwo+PiAgIAlpbnRlbF9zdGF0ZS0+bW9kZXNldCA9 IHRydWU7Cj4+ICAgCWludGVsX3N0YXRlLT5hY3RpdmVfY3J0Y3MgPSBkZXZfcHJpdi0+YWN0aXZl X2NydGNzOwo+PiAgIAlpbnRlbF9zdGF0ZS0+Y2RjbGsubG9naWNhbCA9IGRldl9wcml2LT5jZGNs ay5sb2dpY2FsOwo+PiBAQCAtMTMwNjgsNyArMTMwNzMsNyBAQCBzdGF0aWMgaW50IGludGVsX2F0 b21pY19jaGVjayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+PiAgIAlzdHJ1Y3QgZHJtX2NydGMg KmNydGM7Cj4+ICAgCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUsICpjcnRj X3N0YXRlOwo+PiAgIAlpbnQgcmV0LCBpOwo+PiAtCWJvb2wgYW55X21zID0gZmFsc2U7Cj4+ICsJ Ym9vbCBhbnlfbXMgPSBpbnRlbF9zdGF0ZS0+Y2RjbGsuZm9yY2VfbWluX2NkY2xrX2NoYW5nZWQ7 Cj4+ICAgCj4+ICAgCS8qIENhdGNoIEk5MTVfTU9ERV9GTEFHX0lOSEVSSVRFRCAqLwo+PiAgIAlm b3JfZWFjaF9vbGRuZXdfY3J0Y19pbl9zdGF0ZShzdGF0ZSwgY3J0Yywgb2xkX2NydGNfc3RhdGUs Cj4+IEBAIC0xMzY2MCw2ICsxMzY2NSw4IEBAIHN0YXRpYyBpbnQgaW50ZWxfYXRvbWljX2NvbW1p dChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+PiAgIAkJZGV2X3ByaXYtPmFjdGl2ZV9jcnRjcyA9 IGludGVsX3N0YXRlLT5hY3RpdmVfY3J0Y3M7Cj4+ICAgCQlkZXZfcHJpdi0+Y2RjbGsubG9naWNh bCA9IGludGVsX3N0YXRlLT5jZGNsay5sb2dpY2FsOwo+PiAgIAkJZGV2X3ByaXYtPmNkY2xrLmFj dHVhbCA9IGludGVsX3N0YXRlLT5jZGNsay5hY3R1YWw7Cj4+ICsJCWRldl9wcml2LT5jZGNsay5m b3JjZV9taW5fY2RjbGsgPQo+PiArCQkJaW50ZWxfc3RhdGUtPmNkY2xrLmZvcmNlX21pbl9jZGNs azsKPj4gICAJfQo+PiAgIAo+PiAgIAlkcm1fYXRvbWljX3N0YXRlX2dldChzdGF0ZSk7Cj4+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oCj4+IGluZGV4IGQ5ZjE4OGVmMjFmNC4uMGI4NGU1NTdjMjY3 IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+PiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+PiBAQCAtNTU2LDYgKzU1Niw5IEBA IHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgewo+PiAgIAkJICogc3RhdGUgb25seSB3aGVuIGFs bCBjcnRjJ3MgYXJlIERQTVMgb2ZmLgo+PiAgIAkJICovCj4+ICAgCQlzdHJ1Y3QgaW50ZWxfY2Rj bGtfc3RhdGUgYWN0dWFsOwo+PiArCj4+ICsJCWludCBmb3JjZV9taW5fY2RjbGs7Cj4+ICsJCWJv b2wgZm9yY2VfbWluX2NkY2xrX2NoYW5nZWQ7Cj4+ICAgCX0gY2RjbGs7Cj4+ICAgCj4+ICAgCWJv b2wgZHBsbF9zZXQsIG1vZGVzZXQ7Cj4KPiBTb21lIGNvbmNlcm5zIGFib3V0IGhhcmQgY29kZWQg OTZNaHogQkNMSy4gaG93ZXZlciwgdGhhdCBpcyB0aGUgb25seSAKPiBmcmVxdWVuY3kgd2UgY3Vy cmVudGx5IHN1cHBvcnQuCj4KPiBSZXZpZXdlZC1ieTogQ2xpbnQgVGF5bG9yIDxDbGludG9uLkEu VGF5bG9yQGludGVsLmNvbT4KPgo+Cj4KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwo+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngKCi0tIApKYW5pIE5pa3VsYSwgSW50ZWwgT3BlbiBTb3VyY2Ug R3JhcGhpY3MgQ2VudGVyCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeA==