From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: Re: [PATCH 02/10] drm/i915: Fix up vlv/chv display irq setup Date: Tue, 12 Apr 2016 13:12:12 +0300 Message-ID: <1460455932.12168.51.camel@intel.com> References: <1460382992-28728-1-git-send-email-ville.syrjala@linux.intel.com> <1460382992-28728-3-git-send-email-ville.syrjala@linux.intel.com> <1460392153.12168.42.camel@intel.com> <20160412090532.GM4329@intel.com> Reply-To: imre.deak@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 ESMTP id 81C666E02C for ; Tue, 12 Apr 2016 10:12:14 +0000 (UTC) In-Reply-To: <20160412090532.GM4329@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ville =?ISO-8859-1?Q?Syrj=E4l=E4?= Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gdGksIDIwMTYtMDQtMTIgYXQgMTI6MDUgKzAzMDAsIFZpbGxlIFN5cmrDpGzDpCB3cm90ZToK PiBPbiBNb24sIEFwciAxMSwgMjAxNiBhdCAwNzoyOToxM1BNICswMzAwLCBJbXJlIERlYWsgd3Jv dGU6Cj4gPiBPbiBtYSwgMjAxNi0wNC0xMSBhdCAxNjo1NiArMDMwMCwgdmlsbGUuc3lyamFsYUBs aW51eC5pbnRlbC5jb20KPiA+IHdyb3RlOgo+ID4gPiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZp bGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+ID4gPiAKPiA+ID4gVGhlIHZsdi9jaHYgZGlz cGxheSBpcnEgc2V0dXAgd2FzIGEgYml0IG9mIG1lc3MgYWZ0ZXIgSSByYW4gb3V0Cj4gPiA+IG9m IHN0ZWFtCj4gPiA+IHdoZW4gd29ya2luZyBvbiBpdCBsYXN0LiBGaXggaXQgdXAgc28gdGhhdCB3 ZSBqdXN0IGhhdmUgYQo+ID4gPiBfcmVzZXQoKSBhbmQKPiA+ID4gX3Bvc3RpbnN0YWxsKCkgaG9v a3MgZm9yIHRoZSBkaXNwbGF5IGlycXMsIGFuZCB1c2UgdGhvc2UKPiA+ID4gY29uc2lzdGVudGx5 Lgo+ID4gPiAKPiA+ID4gU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJq YWxhQGxpbnV4LmludGVsLmNvbT4KPiA+ID4gLS0tCj4gPiA+IMKgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9pcnEuYyB8IDEwMiArKysrKysrKysrLS0tLS0tLS0tLS0tLS0KPiA+ID4gLS0tLS0t LS0tLS0tLS0tLQo+ID4gPiDCoDEgZmlsZSBjaGFuZ2VkLCAyNCBpbnNlcnRpb25zKCspLCA3OCBk ZWxldGlvbnMoLSkKPiA+ID4gCj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2lycS5jCj4gPiA+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwo+ID4g PiBpbmRleCAxZDIxZWJmZmZkNGQuLmExMjM5ZmVkYzA4NiAxMDA2NDQKPiA+ID4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2lycS5jCj4gPiA+IEBAIC0zMzA2LDEzICszMzA2LDE1IEBAIHN0YXRpYyB2b2lk IHZsdl9kaXNwbGF5X2lycV9yZXNldChzdHJ1Y3QKPiA+ID4gZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCj4gPiA+IMKgewo+ID4gPiDCoAllbnVtIHBpcGUgcGlwZTsKPiA+ID4gwqAKPiA+ID4g LQlpOTE1X2hvdHBsdWdfaW50ZXJydXB0X3VwZGF0ZShkZXZfcHJpdiwgMHhGRkZGRkZGRiwgMCk7 Cj4gPiA+ICsJaTkxNV9ob3RwbHVnX2ludGVycnVwdF91cGRhdGVfbG9ja2VkKGRldl9wcml2LAo+ ID4gPiAweGZmZmZmZmZmLCAwKTsKPiA+ID4gwqAJSTkxNV9XUklURShQT1JUX0hPVFBMVUdfU1RB VCwKPiA+ID4gSTkxNV9SRUFEKFBPUlRfSE9UUExVR19TVEFUKSk7Cj4gPiA+IMKgCj4gPiA+IMKg CWZvcl9lYWNoX3BpcGUoZGV2X3ByaXYsIHBpcGUpCj4gPiA+IMKgCQlJOTE1X1dSSVRFKFBJUEVT VEFUKHBpcGUpLCAweGZmZmYpOwo+ID4gCj4gPiBTaW5jZSB2bHZfZGlzcGxheV9pcnFfcmVzZXQo KSB3aWxsIGJlIHVzZWQgaW4gcGxhY2UKPiA+IG9mwqB2YWxsZXl2aWV3X2Rpc3BsYXlfaXJxc191 bmluc3RhbGwoKS9pOTE1X2Rpc2FibGVfcGlwZXN0YXQoKQo+ID4gd2UnbGwgbGVhdmUgbm93IHN0 YWxlIGJpdHMgaW4gcGlwZXN0YXRfaXJxX21hc2tbcGlwZV0uIEl0J3Mgbm90IGEKPiA+IHByb2Js ZW0gc2luY2XCoGRpc3BsYXlfaXJxc19lbmFibGVkIGVmZmVjdGl2ZWx5IG1hc2tzIHRoZXNlIGJp dHMsCj4gPiBidXQKPiA+IGZvciBjb25zaXN0ZW5jeSBJJ2QgY2xlYXIgdGhlbS4KPiAKPiBPVE9I IHdlIGNhbid0IG1hc2sgUElQRVNUQVQgYml0cywgc28gZXZlbiBpZiB3ZSBjbGVhciB0aGVtIGhl cmUsIGl0J3MKPiB2ZXJ5IGxpa2VseSBzb21lIG9mIHRoZSBiaXRzIHdpbGwgYmUgc2V0IGFnYWlu IGJ5IHRoZSB0aW1lIHdlCj4gYWN0dWFsbHkKPiBlbmFibGUgYW4gaW50ZXJydXB0Lgo+IAo+IElu IGFueSBjYXNlLCBJIHRoaW5rIEknbGwgYmUgcG9zdGluZyBhIHBhdGNoIHRvIGNsZWFuIHVwIHRo ZSBQSVBFU1RBVAo+IGNsZWFyaW5nL2Rpc2FibGluZyBhY3Jvc3NzIHRoZSBib2FyZC4gSXQncyBh IGJpdCBvZiBhIG1lc3MgcmlnaHQgbm93LAo+IHdpdGggZWFjaCBwbGF0Zm9ybSBkb2luZyB0aGlu Z3Mgc2xpZ2h0bHkgZGlmZmVyZW50bHkuCgpPaywgeW91IGNvdWxkIGFkZCBzb21ldGhpbmcgYWJv dXQgdGhlIGFib3ZlIHRvIHRoZSBjb21taXQgbWVzc2FnZS4gTXkKUi1iIGFwcGxpZXMgaW4gYW55 IGNhc2UuCgo+ID4gVGhlIHNhbWUgZ29lcyBmb3IgY2xlYXJpbmcgUElQRV9GSUZPX1VOREVSUlVO X1NUQVRVUy4KPiA+IAo+ID4gV2l0aCB0aGF0Ogo+ID4gUmV2aWV3ZWQtYnk6IEltcmUgRGVhayA8 aW1yZS5kZWFrQGludGVsLmNvbT4KPiA+IAo+ID4gPiDCoAo+ID4gPiDCoAlHRU41X0lSUV9SRVNF VChWTFZfKTsKPiA+ID4gKwo+ID4gPiArCWRldl9wcml2LT5pcnFfbWFzayA9IH4wOwo+ID4gPiDC oH0KPiA+IAo+ID4gCj4gPiAKPiA+ID4gwqAKPiA+ID4gwqBzdGF0aWMgdm9pZCB2YWxsZXl2aWV3 X2lycV9wcmVpbnN0YWxsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gPiA+IEBAIC0zMzIzLDcg KzMzMjUsOSBAQCBzdGF0aWMgdm9pZAo+ID4gPiB2YWxsZXl2aWV3X2lycV9wcmVpbnN0YWxsKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gPiA+IMKgCj4gPiA+IMKgCUk5MTVfV1JJVEUoRFBJTlZH VFQsIERQSU5WR1RUX1NUQVRVU19NQVNLKTsKPiA+ID4gwqAKPiA+ID4gKwlzcGluX2xvY2tfaXJx KCZkZXZfcHJpdi0+aXJxX2xvY2spOwo+ID4gPiDCoAl2bHZfZGlzcGxheV9pcnFfcmVzZXQoZGV2 X3ByaXYpOwo+ID4gPiArCXNwaW5fdW5sb2NrX2lycSgmZGV2X3ByaXYtPmlycV9sb2NrKTsKPiA+ ID4gwqB9Cj4gPiA+IMKgCj4gPiA+IMKgc3RhdGljIHZvaWQgZ2VuOF9ndF9pcnFfcmVzZXQoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ID4gPiBAQCAtMzM5OCw3ICszNDAyLDkg QEAgc3RhdGljIHZvaWQKPiA+ID4gY2hlcnJ5dmlld19pcnFfcHJlaW5zdGFsbChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2KQo+ID4gPiDCoAo+ID4gPiDCoAlJOTE1X1dSSVRFKERQSU5WR1RULCBEUElO VkdUVF9TVEFUVVNfTUFTS19DSFYpOwo+ID4gPiDCoAo+ID4gPiArCXNwaW5fbG9ja19pcnEoJmRl dl9wcml2LT5pcnFfbG9jayk7Cj4gPiA+IMKgCXZsdl9kaXNwbGF5X2lycV9yZXNldChkZXZfcHJp dik7Cj4gPiA+ICsJc3Bpbl91bmxvY2tfaXJxKCZkZXZfcHJpdi0+aXJxX2xvY2spOwo+ID4gPiDC oH0KPiA+ID4gwqAKPiA+ID4gwqBzdGF0aWMgdTMyIGludGVsX2hwZF9lbmFibGVkX2lycXMoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwKPiA+ID4gQEAgLTM2NDUsNyArMzY1MSw3IEBAIHN0YXRpYyBp bnQgaXJvbmxha2VfaXJxX3Bvc3RpbnN0YWxsKHN0cnVjdAo+ID4gPiBkcm1fZGV2aWNlICpkZXYp Cj4gPiA+IMKgCXJldHVybiAwOwo+ID4gPiDCoH0KPiA+ID4gwqAKPiA+ID4gLXN0YXRpYyB2b2lk IHZhbGxleXZpZXdfZGlzcGxheV9pcnFzX2luc3RhbGwoc3RydWN0Cj4gPiA+IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2KQo+ID4gPiArc3RhdGljIHZvaWQgdmx2X2Rpc3BsYXlfaXJxX3Bvc3Rp bnN0YWxsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlCj4gPiA+ICpkZXZfcHJpdikKPiA+ID4gwqB7 Cj4gPiA+IMKgCXUzMiBwaXBlc3RhdF9tYXNrOwo+ID4gPiDCoAl1MzIgaWlyX21hc2s7Cj4gPiA+ IEBAIC0zNjc5LDQwICszNjg1LDYgQEAgc3RhdGljIHZvaWQKPiA+ID4gdmFsbGV5dmlld19kaXNw bGF5X2lycXNfaW5zdGFsbChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZQo+ID4gPiAqZGV2X3ByaXYp Cj4gPiA+IMKgCVBPU1RJTkdfUkVBRChWTFZfSU1SKTsKPiA+ID4gwqB9Cj4gPiA+IMKgCj4gPiA+ IC1zdGF0aWMgdm9pZCB2YWxsZXl2aWV3X2Rpc3BsYXlfaXJxc191bmluc3RhbGwoc3RydWN0Cj4g PiA+IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ID4gPiAtewo+ID4gPiAtCXUzMiBwaXBl c3RhdF9tYXNrOwo+ID4gPiAtCXUzMiBpaXJfbWFzazsKPiA+ID4gLQllbnVtIHBpcGUgcGlwZTsK PiA+ID4gLQo+ID4gPiAtCWlpcl9tYXNrID0gSTkxNV9ESVNQTEFZX1BPUlRfSU5URVJSVVBUIHwK PiA+ID4gLQkJwqDCoMKgSTkxNV9ESVNQTEFZX1BJUEVfQV9FVkVOVF9JTlRFUlJVUFQgfAo+ID4g PiAtCQnCoMKgwqBJOTE1X0RJU1BMQVlfUElQRV9CX0VWRU5UX0lOVEVSUlVQVDsKPiA+ID4gLQlp ZiAoSVNfQ0hFUlJZVklFVyhkZXZfcHJpdikpCj4gPiA+IC0JCWlpcl9tYXNrIHw9IEk5MTVfRElT UExBWV9QSVBFX0NfRVZFTlRfSU5URVJSVVBUOwo+ID4gPiAtCj4gPiA+IC0JZGV2X3ByaXYtPmly cV9tYXNrIHw9IGlpcl9tYXNrOwo+ID4gPiAtCUk5MTVfV1JJVEUoVkxWX0lNUiwgZGV2X3ByaXYt PmlycV9tYXNrKTsKPiA+ID4gLQlJOTE1X1dSSVRFKFZMVl9JRVIsIH5kZXZfcHJpdi0+aXJxX21h c2spOwo+ID4gPiAtCUk5MTVfV1JJVEUoVkxWX0lJUiwgaWlyX21hc2spOwo+ID4gPiAtCUk5MTVf V1JJVEUoVkxWX0lJUiwgaWlyX21hc2spOwo+ID4gPiAtCVBPU1RJTkdfUkVBRChWTFZfSUlSKTsK PiA+ID4gLQo+ID4gPiAtCXBpcGVzdGF0X21hc2sgPSBQTEFORV9GTElQX0RPTkVfSU5UX1NUQVRV U19WTFYgfAo+ID4gPiAtCQkJUElQRV9DUkNfRE9ORV9JTlRFUlJVUFRfU1RBVFVTOwo+ID4gPiAt Cj4gPiA+IC0JaTkxNV9kaXNhYmxlX3BpcGVzdGF0KGRldl9wcml2LCBQSVBFX0EsCj4gPiA+IFBJ UEVfR01CVVNfSU5URVJSVVBUX1NUQVRVUyk7Cj4gPiA+IC0JZm9yX2VhY2hfcGlwZShkZXZfcHJp diwgcGlwZSkKPiA+ID4gLQkJaTkxNV9kaXNhYmxlX3BpcGVzdGF0KGRldl9wcml2LCBwaXBlLAo+ ID4gPiBwaXBlc3RhdF9tYXNrKTsKPiA+ID4gLQo+ID4gPiAtCXBpcGVzdGF0X21hc2sgPSBQSVBF U1RBVF9JTlRfU1RBVFVTX01BU0sgfAo+ID4gPiAtCQkJUElQRV9GSUZPX1VOREVSUlVOX1NUQVRV UzsKPiA+ID4gLQo+ID4gPiAtCWZvcl9lYWNoX3BpcGUoZGV2X3ByaXYsIHBpcGUpCj4gPiA+IC0J CUk5MTVfV1JJVEUoUElQRVNUQVQocGlwZSksIHBpcGVzdGF0X21hc2spOwo+ID4gPiAtCVBPU1RJ TkdfUkVBRChQSVBFU1RBVChQSVBFX0EpKTsKPiA+ID4gLX0KPiA+ID4gLQo+ID4gPiDCoHZvaWQg dmFsbGV5dmlld19lbmFibGVfZGlzcGxheV9pcnFzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlCj4g PiA+ICpkZXZfcHJpdikKPiA+ID4gwqB7Cj4gPiA+IMKgCWFzc2VydF9zcGluX2xvY2tlZCgmZGV2 X3ByaXYtPmlycV9sb2NrKTsKPiA+ID4gQEAgLTM3MjMsNyArMzY5NSw3IEBAIHZvaWQgdmFsbGV5 dmlld19lbmFibGVfZGlzcGxheV9pcnFzKHN0cnVjdAo+ID4gPiBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdikKPiA+ID4gwqAJZGV2X3ByaXYtPmRpc3BsYXlfaXJxc19lbmFibGVkID0gdHJ1ZTsK PiA+ID4gwqAKPiA+ID4gwqAJaWYgKGludGVsX2lycXNfZW5hYmxlZChkZXZfcHJpdikpCj4gPiA+ IC0JCXZhbGxleXZpZXdfZGlzcGxheV9pcnFzX2luc3RhbGwoZGV2X3ByaXYpOwo+ID4gPiArCQl2 bHZfZGlzcGxheV9pcnFfcG9zdGluc3RhbGwoZGV2X3ByaXYpOwo+ID4gPiDCoH0KPiA+ID4gwqAK PiA+ID4gwqB2b2lkIHZhbGxleXZpZXdfZGlzYWJsZV9kaXNwbGF5X2lycXMoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUKPiA+ID4gKmRldl9wcml2KQo+ID4gPiBAQCAtMzczNiwzNiArMzcwOCwxNCBA QCB2b2lkCj4gPiA+IHZhbGxleXZpZXdfZGlzYWJsZV9kaXNwbGF5X2lycXMoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUKPiA+ID4gKmRldl9wcml2KQo+ID4gPiDCoAlkZXZfcHJpdi0+ZGlzcGxheV9p cnFzX2VuYWJsZWQgPSBmYWxzZTsKPiA+ID4gwqAKPiA+ID4gwqAJaWYgKGludGVsX2lycXNfZW5h YmxlZChkZXZfcHJpdikpCj4gPiA+IC0JCXZhbGxleXZpZXdfZGlzcGxheV9pcnFzX3VuaW5zdGFs bChkZXZfcHJpdik7Cj4gPiA+ICsJCXZsdl9kaXNwbGF5X2lycV9yZXNldChkZXZfcHJpdik7Cj4g PiA+IMKgfQo+ID4gPiDCoAo+ID4gPiAtc3RhdGljIHZvaWQgdmx2X2Rpc3BsYXlfaXJxX3Bvc3Rp bnN0YWxsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlCj4gPiA+ICpkZXZfcHJpdikKPiA+ID4gLXsK PiA+ID4gLQlkZXZfcHJpdi0+aXJxX21hc2sgPSB+MDsKPiA+ID4gLQo+ID4gPiAtCWk5MTVfaG90 cGx1Z19pbnRlcnJ1cHRfdXBkYXRlKGRldl9wcml2LCAweGZmZmZmZmZmLCAwKTsKPiA+ID4gLQlQ T1NUSU5HX1JFQUQoUE9SVF9IT1RQTFVHX0VOKTsKPiA+ID4gLQo+ID4gPiAtCUk5MTVfV1JJVEUo VkxWX0lJUiwgMHhmZmZmZmZmZik7Cj4gPiA+IC0JSTkxNV9XUklURShWTFZfSUlSLCAweGZmZmZm ZmZmKTsKPiA+ID4gLQlJOTE1X1dSSVRFKFZMVl9JRVIsIH5kZXZfcHJpdi0+aXJxX21hc2spOwo+ ID4gPiAtCUk5MTVfV1JJVEUoVkxWX0lNUiwgZGV2X3ByaXYtPmlycV9tYXNrKTsKPiA+ID4gLQlQ T1NUSU5HX1JFQUQoVkxWX0lNUik7Cj4gPiA+IC0KPiA+ID4gLQkvKiBJbnRlcnJ1cHQgc2V0dXAg aXMgYWxyZWFkeSBndWFyYW50ZWVkIHRvIGJlIHNpbmdsZS0KPiA+ID4gdGhyZWFkZWQsIHRoaXMg aXMKPiA+ID4gLQnCoCoganVzdCB0byBtYWtlIHRoZSBhc3NlcnRfc3Bpbl9sb2NrZWQgY2hlY2sg aGFwcHkuICovCj4gPiA+IC0Jc3Bpbl9sb2NrX2lycSgmZGV2X3ByaXYtPmlycV9sb2NrKTsKPiA+ ID4gLQlpZiAoZGV2X3ByaXYtPmRpc3BsYXlfaXJxc19lbmFibGVkKQo+ID4gPiAtCQl2YWxsZXl2 aWV3X2Rpc3BsYXlfaXJxc19pbnN0YWxsKGRldl9wcml2KTsKPiA+ID4gLQlzcGluX3VubG9ja19p cnEoJmRldl9wcml2LT5pcnFfbG9jayk7Cj4gPiA+IC19Cj4gPiA+IMKgCj4gPiA+IMKgc3RhdGlj IGludCB2YWxsZXl2aWV3X2lycV9wb3N0aW5zdGFsbChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ ID4gPiDCoHsKPiA+ID4gwqAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2 LT5kZXZfcHJpdmF0ZTsKPiA+ID4gwqAKPiA+ID4gLQl2bHZfZGlzcGxheV9pcnFfcG9zdGluc3Rh bGwoZGV2X3ByaXYpOwo+ID4gPiAtCj4gPiA+IMKgCWdlbjVfZ3RfaXJxX3Bvc3RpbnN0YWxsKGRl dik7Cj4gPiA+IMKgCj4gPiA+IMKgCS8qIGFjayAmIGVuYWJsZSBpbnZhbGlkIFBURSBlcnJvciBp bnRlcnJ1cHRzICovCj4gPiA+IEBAIC0zNzc0LDYgKzM3MjQsMTAgQEAgc3RhdGljIGludAo+ID4g PiB2YWxsZXl2aWV3X2lycV9wb3N0aW5zdGFsbChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4g PiDCoAlJOTE1X1dSSVRFKERQSU5WR1RULCBEUElOVkdUVF9FTl9NQVNLKTsKPiA+ID4gwqAjZW5k aWYKPiA+ID4gwqAKPiA+ID4gKwlzcGluX2xvY2tfaXJxKCZkZXZfcHJpdi0+aXJxX2xvY2spOwo+ ID4gPiArCXZsdl9kaXNwbGF5X2lycV9wb3N0aW5zdGFsbChkZXZfcHJpdik7Cj4gPiA+ICsJc3Bp bl91bmxvY2tfaXJxKCZkZXZfcHJpdi0+aXJxX2xvY2spOwo+ID4gPiArCj4gPiA+IMKgCUk5MTVf V1JJVEUoVkxWX01BU1RFUl9JRVIsIE1BU1RFUl9JTlRFUlJVUFRfRU5BQkxFKTsKPiA+ID4gwqAK PiA+ID4gwqAJcmV0dXJuIDA7Cj4gPiA+IEBAIC0zODc0LDEwICszODI4LDEyIEBAIHN0YXRpYyBp bnQKPiA+ID4gY2hlcnJ5dmlld19pcnFfcG9zdGluc3RhbGwoc3RydWN0IGRybV9kZXZpY2UgKmRl dikKPiA+ID4gwqB7Cj4gPiA+IMKgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IGRldi0+ZGV2X3ByaXZhdGU7Cj4gPiA+IMKgCj4gPiA+IC0Jdmx2X2Rpc3BsYXlfaXJxX3Bvc3Rp bnN0YWxsKGRldl9wcml2KTsKPiA+ID4gLQo+ID4gPiDCoAlnZW44X2d0X2lycV9wb3N0aW5zdGFs bChkZXZfcHJpdik7Cj4gPiA+IMKgCj4gPiA+ICsJc3Bpbl9sb2NrX2lycSgmZGV2X3ByaXYtPmly cV9sb2NrKTsKPiA+ID4gKwl2bHZfZGlzcGxheV9pcnFfcG9zdGluc3RhbGwoZGV2X3ByaXYpOwo+ ID4gPiArCXNwaW5fdW5sb2NrX2lycSgmZGV2X3ByaXYtPmlycV9sb2NrKTsKPiA+ID4gKwo+ID4g PiDCoAlJOTE1X1dSSVRFKEdFTjhfTUFTVEVSX0lSUSwgTUFTVEVSX0lOVEVSUlVQVF9FTkFCTEUp Owo+ID4gPiDCoAlQT1NUSU5HX1JFQUQoR0VOOF9NQVNURVJfSVJRKTsKPiA+ID4gwqAKPiA+ID4g QEAgLTM4OTQsMjAgKzM4NTAsNiBAQCBzdGF0aWMgdm9pZCBnZW44X2lycV91bmluc3RhbGwoc3Ry dWN0Cj4gPiA+IGRybV9kZXZpY2UgKmRldikKPiA+ID4gwqAJZ2VuOF9pcnFfcmVzZXQoZGV2KTsK PiA+ID4gwqB9Cj4gPiA+IMKgCj4gPiA+IC1zdGF0aWMgdm9pZCB2bHZfZGlzcGxheV9pcnFfdW5p bnN0YWxsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlCj4gPiA+ICpkZXZfcHJpdikKPiA+ID4gLXsK PiA+ID4gLQkvKiBJbnRlcnJ1cHQgc2V0dXAgaXMgYWxyZWFkeSBndWFyYW50ZWVkIHRvIGJlIHNp bmdsZS0KPiA+ID4gdGhyZWFkZWQsIHRoaXMgaXMKPiA+ID4gLQnCoCoganVzdCB0byBtYWtlIHRo ZSBhc3NlcnRfc3Bpbl9sb2NrZWQgY2hlY2sgaGFwcHkuICovCj4gPiA+IC0Jc3Bpbl9sb2NrX2ly cSgmZGV2X3ByaXYtPmlycV9sb2NrKTsKPiA+ID4gLQlpZiAoZGV2X3ByaXYtPmRpc3BsYXlfaXJx c19lbmFibGVkKQo+ID4gPiAtCQl2YWxsZXl2aWV3X2Rpc3BsYXlfaXJxc191bmluc3RhbGwoZGV2 X3ByaXYpOwo+ID4gPiAtCXNwaW5fdW5sb2NrX2lycSgmZGV2X3ByaXYtPmlycV9sb2NrKTsKPiA+ ID4gLQo+ID4gPiAtCXZsdl9kaXNwbGF5X2lycV9yZXNldChkZXZfcHJpdik7Cj4gPiA+IC0KPiA+ ID4gLQlkZXZfcHJpdi0+aXJxX21hc2sgPSB+MDsKPiA+ID4gLX0KPiA+ID4gLQo+ID4gPiDCoHN0 YXRpYyB2b2lkIHZhbGxleXZpZXdfaXJxX3VuaW5zdGFsbChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KQo+ID4gPiDCoHsKPiA+ID4gwqAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g ZGV2LT5kZXZfcHJpdmF0ZTsKPiA+ID4gQEAgLTM5MjEsNyArMzg2Myw5IEBAIHN0YXRpYyB2b2lk IHZhbGxleXZpZXdfaXJxX3VuaW5zdGFsbChzdHJ1Y3QKPiA+ID4gZHJtX2RldmljZSAqZGV2KQo+ ID4gPiDCoAo+ID4gPiDCoAlJOTE1X1dSSVRFKEhXU1RBTSwgMHhmZmZmZmZmZik7Cj4gPiA+IMKg Cj4gPiA+IC0Jdmx2X2Rpc3BsYXlfaXJxX3VuaW5zdGFsbChkZXZfcHJpdik7Cj4gPiA+ICsJc3Bp bl9sb2NrX2lycSgmZGV2X3ByaXYtPmlycV9sb2NrKTsKPiA+ID4gKwl2bHZfZGlzcGxheV9pcnFf cmVzZXQoZGV2X3ByaXYpOwo+ID4gPiArCXNwaW5fdW5sb2NrX2lycSgmZGV2X3ByaXYtPmlycV9s b2NrKTsKPiA+ID4gwqB9Cj4gPiA+IMKgCj4gPiA+IMKgc3RhdGljIHZvaWQgY2hlcnJ5dmlld19p cnFfdW5pbnN0YWxsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gPiA+IEBAIC0zOTM4LDcgKzM4 ODIsOSBAQCBzdGF0aWMgdm9pZCBjaGVycnl2aWV3X2lycV91bmluc3RhbGwoc3RydWN0Cj4gPiA+ IGRybV9kZXZpY2UgKmRldikKPiA+ID4gwqAKPiA+ID4gwqAJR0VONV9JUlFfUkVTRVQoR0VOOF9Q Q1VfKTsKPiA+ID4gwqAKPiA+ID4gLQl2bHZfZGlzcGxheV9pcnFfdW5pbnN0YWxsKGRldl9wcml2 KTsKPiA+ID4gKwlzcGluX2xvY2tfaXJxKCZkZXZfcHJpdi0+aXJxX2xvY2spOwo+ID4gPiArCXZs dl9kaXNwbGF5X2lycV9yZXNldChkZXZfcHJpdik7Cj4gPiA+ICsJc3Bpbl91bmxvY2tfaXJxKCZk ZXZfcHJpdi0+aXJxX2xvY2spOwo+ID4gPiDCoH0KPiA+ID4gwqAKPiA+ID4gwqBzdGF0aWMgdm9p ZCBpcm9ubGFrZV9pcnFfdW5pbnN0YWxsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=