From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH 03/14] drm/i915: Clean up SDVO pipe select bits Date: Tue, 20 Mar 2018 08:50:14 +0200 Message-ID: <87d0zzz1eh.fsf@intel.com> References: <20180302095512.19329-1-ville.syrjala@linux.intel.com> <20180302095512.19329-4-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id E4DA66E0D2 for ; Tue, 20 Mar 2018 06:50:28 +0000 (UTC) In-Reply-To: <20180302095512.19329-4-ville.syrjala@linux.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 Syrjala , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCAwMiBNYXIgMjAxOCwgVmlsbGUgU3lyamFsYSA8dmlsbGUuc3lyamFsYUBsaW51eC5p bnRlbC5jb20+IHdyb3RlOgo+IEZyb206IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBs aW51eC5pbnRlbC5jb20+Cj4KPiBDbGVhbiB1cCB0aGUgU0RWTyBwaXBlIHNlbGVjdCBiaXRzLiBU byBtYWtlIHRoZSB3aG9sZSBzaXR1YXRpb24gYSBiaXQKPiBsZXNzIHVnbHkgd2UnbGwgc3RhcnQg dG8gc2hhcmUgdGhlIHNhbWUgY29kZSBiZXR3ZWVuIC5nZXRfaHdfc3RhdGUoKQo+IGFuZCB0aGUg cG9ydCBzdGF0ZSBhc3NlcnRzLgo+Cj4gU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2 aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkdvb2Qgc3R1ZmYuIFNhbWUgbml0cGlja3Mg YWJvdXQgbWFza3MgYW5kIHNoaWZ0cyBiZWZvcmUgdmFsdWVzLCBidXQgaXQncwphbHJlYWR5IHRo ZXJlIGJlZm9yZSB0aGlzIHBhdGNoLAoKUmV2aWV3ZWQtYnk6IEphbmkgTmlrdWxhIDxqYW5pLm5p a3VsYUBpbnRlbC5jb20+CgoKPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcu aCAgICAgIHwgIDQgKysrLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMg fCA0NiArKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgIHwgIDIgKysKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfaGRtaS5jICAgIHwgMjUgKysrKy0tLS0tLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfc2R2by5jICAgIHwgMzggKysrKysrKysrKysrKysrKysrLS0tLS0tLS0t LS0KPiAgNSBmaWxlcyBjaGFuZ2VkLCA0OSBpbnNlcnRpb25zKCspLCA2NiBkZWxldGlvbnMoLSkK Pgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+IGluZGV4IGU5OTNlZWM5N2M5OC4uMDkxN2ZjYmQ2 MThkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gQEAgLTQzNjUsNyArNDM2NSw3IEBA IGVudW0gewo+ICAjZGVmaW5lICAgU0RWT19FTkFCTEUJCQkJKDEgPDwgMzEpCj4gICNkZWZpbmUg ICBTRFZPX1BJUEVfU0VMKHBpcGUpCQkJKChwaXBlKSA8PCAzMCkKPiAgI2RlZmluZSAgIFNEVk9f UElQRV9TRUxfTUFTSwkJCSgxIDw8IDMwKQo+IC0jZGVmaW5lICAgU0RWT19QSVBFX0JfU0VMRUNU CQkJKDEgPDwgMzApCj4gKyNkZWZpbmUgICBTRFZPX1BJUEVfU0VMX1NISUZUCQkJMzAKPiAgI2Rl ZmluZSAgIFNEVk9fU1RBTExfU0VMRUNUCQkJKDEgPDwgMjkpCj4gICNkZWZpbmUgICBTRFZPX0lO VEVSUlVQVF9FTkFCTEUJCQkoMSA8PCAyNikKPiAgLyoKPiBAQCAtNDQwNywxMCArNDQwNywxMiBA QCBlbnVtIHsKPiAgLyogR2VuIDYgKENQVCkgU0RWTy9IRE1JIGJpdHM6ICovCj4gICNkZWZpbmUg ICBTRFZPX1BJUEVfU0VMX0NQVChwaXBlKQkJKChwaXBlKSA8PCAyOSkKPiAgI2RlZmluZSAgIFNE Vk9fUElQRV9TRUxfTUFTS19DUFQJCSgzIDw8IDI5KQo+ICsjZGVmaW5lICAgU0RWT19QSVBFX1NF TF9TSElGVF9DUFQJCTI5Cj4gIAo+ICAvKiBDSFYgU0RWTy9IRE1JIGJpdHM6ICovCj4gICNkZWZp bmUgICBTRFZPX1BJUEVfU0VMX0NIVihwaXBlKQkJKChwaXBlKSA8PCAyNCkKPiAgI2RlZmluZSAg IFNEVk9fUElQRV9TRUxfTUFTS19DSFYJCSgzIDw8IDI0KQo+ICsjZGVmaW5lICAgU0RWT19QSVBF X1NFTF9TSElGVF9DSFYJCTI0Cj4gIAo+ICAKPiAgLyogRFZPIHBvcnQgY29udHJvbCAqLwo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBpbmRleCBmMWYxNjRhMjBiM2YuLjI2Zjhm MWU3NDFmNyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBAQCAtMTI4 MSwyNSArMTI4MSw2IEBAIHN0YXRpYyBib29sIGRwX3BpcGVfZW5hYmxlZChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAlyZXR1cm4gdHJ1ZTsKPiAgfQo+ICAKPiAtc3RhdGlj IGJvb2wgaGRtaV9waXBlX2VuYWJsZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LAo+IC0JCQkgICAgICBlbnVtIHBpcGUgcGlwZSwgdTMyIHZhbCkKPiAtewo+IC0JaWYgKCh2YWwg JiBTRFZPX0VOQUJMRSkgPT0gMCkKPiAtCQlyZXR1cm4gZmFsc2U7Cj4gLQo+IC0JaWYgKEhBU19Q Q0hfQ1BUKGRldl9wcml2KSkgewo+IC0JCWlmICgodmFsICYgU0RWT19QSVBFX1NFTF9NQVNLX0NQ VCkgIT0gU0RWT19QSVBFX1NFTF9DUFQocGlwZSkpCj4gLQkJCXJldHVybiBmYWxzZTsKPiAtCX0g ZWxzZSBpZiAoSVNfQ0hFUlJZVklFVyhkZXZfcHJpdikpIHsKPiAtCQlpZiAoKHZhbCAmIFNEVk9f UElQRV9TRUxfTUFTS19DSFYpICE9IFNEVk9fUElQRV9TRUxfQ0hWKHBpcGUpKQo+IC0JCQlyZXR1 cm4gZmFsc2U7Cj4gLQl9IGVsc2Ugewo+IC0JCWlmICgodmFsICYgU0RWT19QSVBFX1NFTF9NQVNL KSAhPSBTRFZPX1BJUEVfU0VMKHBpcGUpKQo+IC0JCQlyZXR1cm4gZmFsc2U7Cj4gLQl9Cj4gLQly ZXR1cm4gdHJ1ZTsKPiAtfQo+IC0KPiAgc3RhdGljIHZvaWQgYXNzZXJ0X3BjaF9kcF9kaXNhYmxl ZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkJCQkgICBlbnVtIHBpcGUg cGlwZSwgaTkxNV9yZWdfdCByZWcsCj4gIAkJCQkgICB1MzIgcG9ydF9zZWwpCj4gQEAgLTEzMTUs MTYgKzEyOTYsMjEgQEAgc3RhdGljIHZvaWQgYXNzZXJ0X3BjaF9kcF9kaXNhYmxlZChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIH0KPiAgCj4gIHN0YXRpYyB2b2lkIGFzc2Vy dF9wY2hfaGRtaV9kaXNhYmxlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4g LQkJCQkgICAgIGVudW0gcGlwZSBwaXBlLCBpOTE1X3JlZ190IHJlZykKPiArCQkJCSAgICAgZW51 bSBwaXBlIHBpcGUsIGVudW0gcG9ydCBwb3J0LAo+ICsJCQkJICAgICBpOTE1X3JlZ190IGhkbWlf cmVnKQo+ICB7Cj4gLQl1MzIgdmFsID0gSTkxNV9SRUFEKHJlZyk7Cj4gLQlJOTE1X1NUQVRFX1dB Uk4oaGRtaV9waXBlX2VuYWJsZWQoZGV2X3ByaXYsIHBpcGUsIHZhbCksCj4gLQkgICAgICJQQ0gg SERNSSAoMHglMDh4KSBlbmFibGVkIG9uIHRyYW5zY29kZXIgJWMsIHNob3VsZCBiZSBkaXNhYmxl ZFxuIiwKPiAtCSAgICAgaTkxNV9tbWlvX3JlZ19vZmZzZXQocmVnKSwgcGlwZV9uYW1lKHBpcGUp KTsKPiArCWVudW0gcGlwZSBwb3J0X3BpcGU7Cj4gKwlib29sIHN0YXRlOwo+ICsKPiArCXN0YXRl ID0gaW50ZWxfc2R2b19wb3J0X2VuYWJsZWQoZGV2X3ByaXYsIGhkbWlfcmVnLCAmcG9ydF9waXBl KTsKPiArCj4gKwlJOTE1X1NUQVRFX1dBUk4oc3RhdGUgJiYgcG9ydF9waXBlID09IHBpcGUsCj4g KwkJCSJQQ0ggSERNSSAlYyBlbmFibGVkIG9uIHRyYW5zY29kZXIgJWMsIHNob3VsZCBiZSBkaXNh YmxlZFxuIiwKPiArCQkJcG9ydF9uYW1lKHBvcnQpLCBwaXBlX25hbWUocGlwZSkpOwo+ICAKPiAt CUk5MTVfU1RBVEVfV0FSTihIQVNfUENIX0lCWChkZXZfcHJpdikgJiYgKHZhbCAmIFNEVk9fRU5B QkxFKSA9PSAwCj4gLQkgICAgICYmICh2YWwgJiBTRFZPX1BJUEVfQl9TRUxFQ1QpLAo+IC0JICAg ICAiSUJYIFBDSCBoZG1pIHBvcnQgc3RpbGwgdXNpbmcgdHJhbnNjb2RlciBCXG4iKTsKPiArCUk5 MTVfU1RBVEVfV0FSTihIQVNfUENIX0lCWChkZXZfcHJpdikgJiYgIXN0YXRlICYmIHBvcnRfcGlw ZSA9PSBQSVBFX0IsCj4gKwkJCSJJQlggUENIIEhETUkgJWMgc3RpbGwgdXNpbmcgdHJhbnNjb2Rl ciBCXG4iLAo+ICsJCQlwb3J0X25hbWUocG9ydCkpOwo+ICB9Cj4gIAo+ICBzdGF0aWMgdm9pZCBh c3NlcnRfcGNoX3BvcnRzX2Rpc2FibGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKPiBAQCAtMTM0Niw5ICsxMzMyLDkgQEAgc3RhdGljIHZvaWQgYXNzZXJ0X3BjaF9wb3J0c19k aXNhYmxlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkJCSJQQ0ggTFZE UyBlbmFibGVkIG9uIHRyYW5zY29kZXIgJWMsIHNob3VsZCBiZSBkaXNhYmxlZFxuIiwKPiAgCQkJ cGlwZV9uYW1lKHBpcGUpKTsKPiAgCj4gLQlhc3NlcnRfcGNoX2hkbWlfZGlzYWJsZWQoZGV2X3By aXYsIHBpcGUsIFBDSF9IRE1JQik7Cj4gLQlhc3NlcnRfcGNoX2hkbWlfZGlzYWJsZWQoZGV2X3By aXYsIHBpcGUsIFBDSF9IRE1JQyk7Cj4gLQlhc3NlcnRfcGNoX2hkbWlfZGlzYWJsZWQoZGV2X3By aXYsIHBpcGUsIFBDSF9IRE1JRCk7Cj4gKwlhc3NlcnRfcGNoX2hkbWlfZGlzYWJsZWQoZGV2X3By aXYsIHBpcGUsIFBPUlRfQiwgUENIX0hETUlCKTsKPiArCWFzc2VydF9wY2hfaGRtaV9kaXNhYmxl ZChkZXZfcHJpdiwgcGlwZSwgUE9SVF9DLCBQQ0hfSERNSUMpOwo+ICsJYXNzZXJ0X3BjaF9oZG1p X2Rpc2FibGVkKGRldl9wcml2LCBwaXBlLCBQT1JUX0QsIFBDSF9IRE1JRCk7Cj4gIH0KPiAgCj4g IHN0YXRpYyB2b2lkIF92bHZfZW5hYmxlX3BsbChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IGluZGV4IDE2YjdhZGM3YjBjOS4uMDlhMWI5NjhhYzlj IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBAQCAtMjAyNCw2ICsyMDI0LDggQEAg dm9pZCBpbnRlbF9pbml0X2lwYyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ ICB2b2lkIGludGVsX2VuYWJsZV9pcGMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 KTsKPiAgCj4gIC8qIGludGVsX3Nkdm8uYyAqLwo+ICtib29sIGludGVsX3Nkdm9fcG9ydF9lbmFi bGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiArCQkJICAgICBpOTE1X3Jl Z190IHNkdm9fcmVnLCBlbnVtIHBpcGUgKnBpcGUpOwo+ICBib29sIGludGVsX3Nkdm9faW5pdChz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkJICAgICBpOTE1X3JlZ190IHJl ZywgZW51bSBwb3J0IHBvcnQpOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4gaW5k ZXggZjVkN2JmYjQzMDA2Li5iZjZmYWNlYzRlZmIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf aGRtaS5jCj4gQEAgLTExNjEsMzMgKzExNjEsMTYgQEAgc3RhdGljIHZvaWQgaW50ZWxfaGRtaV9w cmVwYXJlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICBzdGF0aWMgYm9vbCBpbnRl bF9oZG1pX2dldF9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCQkJ CSAgICBlbnVtIHBpcGUgKnBpcGUpCj4gIHsKPiAtCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBl bmNvZGVyLT5iYXNlLmRldjsKPiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoZGV2KTsKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRv X2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwo+ICAJc3RydWN0IGludGVsX2hkbWkgKmludGVsX2hk bWkgPSBlbmNfdG9faW50ZWxfaGRtaSgmZW5jb2Rlci0+YmFzZSk7Cj4gLQl1MzIgdG1wOwo+ICAJ Ym9vbCByZXQ7Cj4gIAo+ICAJaWYgKCFpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldF9pZl9lbmFibGVk KGRldl9wcml2LAo+ICAJCQkJCQllbmNvZGVyLT5wb3dlcl9kb21haW4pKQo+ICAJCXJldHVybiBm YWxzZTsKPiAgCj4gLQlyZXQgPSBmYWxzZTsKPiAtCj4gLQl0bXAgPSBJOTE1X1JFQUQoaW50ZWxf aGRtaS0+aGRtaV9yZWcpOwo+IC0KPiAtCWlmICghKHRtcCAmIFNEVk9fRU5BQkxFKSkKPiAtCQln b3RvIG91dDsKPiAtCj4gLQlpZiAoSEFTX1BDSF9DUFQoZGV2X3ByaXYpKQo+IC0JCSpwaXBlID0g UE9SVF9UT19QSVBFX0NQVCh0bXApOwo+IC0JZWxzZSBpZiAoSVNfQ0hFUlJZVklFVyhkZXZfcHJp dikpCj4gLQkJKnBpcGUgPSBTRFZPX1BPUlRfVE9fUElQRV9DSFYodG1wKTsKPiAtCWVsc2UKPiAt CQkqcGlwZSA9IFBPUlRfVE9fUElQRSh0bXApOwo+IC0KPiAtCXJldCA9IHRydWU7Cj4gKwlyZXQg PSBpbnRlbF9zZHZvX3BvcnRfZW5hYmxlZChkZXZfcHJpdiwgaW50ZWxfaGRtaS0+aGRtaV9yZWcs IHBpcGUpOwo+ICAKPiAtb3V0Ogo+ICAJaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQoZGV2X3ByaXYs IGVuY29kZXItPnBvd2VyX2RvbWFpbik7Cj4gIAo+ICAJcmV0dXJuIHJldDsKPiBAQCAtMTQyMSw4 ICsxNDA0LDggQEAgc3RhdGljIHZvaWQgaW50ZWxfZGlzYWJsZV9oZG1pKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyLAo+ICAJCWludGVsX3NldF9jcHVfZmlmb191bmRlcnJ1bl9yZXBvcnRp bmcoZGV2X3ByaXYsIFBJUEVfQSwgZmFsc2UpOwo+ICAJCWludGVsX3NldF9wY2hfZmlmb191bmRl cnJ1bl9yZXBvcnRpbmcoZGV2X3ByaXYsIFBJUEVfQSwgZmFsc2UpOwo+ICAKPiAtCQl0ZW1wICY9 IH5TRFZPX1BJUEVfQl9TRUxFQ1Q7Cj4gLQkJdGVtcCB8PSBTRFZPX0VOQUJMRTsKPiArCQl0ZW1w ICY9IH5TRFZPX1BJUEVfU0VMX01BU0s7Cj4gKwkJdGVtcCB8PSBTRFZPX0VOQUJMRSB8IFNEVk9f UElQRV9TRUwoUElQRV9BKTsKPiAgCQkvKgo+ICAJCSAqIEhXIHdvcmthcm91bmQsIG5lZWQgdG8g d3JpdGUgdGhpcyB0d2ljZSBmb3IgaXNzdWUKPiAgCQkgKiB0aGF0IG1heSByZXN1bHQgaW4gZmly c3Qgd3JpdGUgZ2V0dGluZyBtYXNrZWQuCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3Nkdm8uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nkdm8uYwo+IGlu ZGV4IDBjMTRkMWMwNGNiZC4uM2E5MGJjZmJiZWRiIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3Nkdm8uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3Nkdm8uYwo+IEBAIC0xNDAzLDI3ICsxNDAzLDM3IEBAIHN0YXRpYyBib29sIGludGVsX3Nkdm9f Y29ubmVjdG9yX2dldF9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3Ip Cj4gIAkJcmV0dXJuIGZhbHNlOwo+ICB9Cj4gIAo+ICtib29sIGludGVsX3Nkdm9fcG9ydF9lbmFi bGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiArCQkJICAgICBpOTE1X3Jl Z190IHNkdm9fcmVnLCBlbnVtIHBpcGUgKnBpcGUpCj4gK3sKPiArCXUzMiB2YWw7Cj4gKwo+ICsJ dmFsID0gSTkxNV9SRUFEKHNkdm9fcmVnKTsKPiArCj4gKwkvKiBhc3NlcnRzIHdhbnQgdG8ga25v dyB0aGUgcGlwZSBldmVuIGlmIHRoZSBwb3J0IGlzIGRpc2FibGVkICovCj4gKwlpZiAoSEFTX1BD SF9DUFQoZGV2X3ByaXYpKQo+ICsJCSpwaXBlID0gKHZhbCAmIFNEVk9fUElQRV9TRUxfTUFTS19D UFQpID4+IFNEVk9fUElQRV9TRUxfU0hJRlRfQ1BUOwo+ICsJZWxzZSBpZiAoSVNfQ0hFUlJZVklF VyhkZXZfcHJpdikpCj4gKwkJKnBpcGUgPSAodmFsICYgU0RWT19QSVBFX1NFTF9NQVNLX0NIVikg Pj4gU0RWT19QSVBFX1NFTF9TSElGVF9DSFY7Cj4gKwllbHNlCj4gKwkJKnBpcGUgPSAodmFsICYg U0RWT19QSVBFX1NFTF9NQVNLKSA+PiBTRFZPX1BJUEVfU0VMX1NISUZUOwo+ICsKPiArCXJldHVy biB2YWwgJiBTRFZPX0VOQUJMRTsKPiArfQo+ICsKPiAgc3RhdGljIGJvb2wgaW50ZWxfc2R2b19n ZXRfaHdfc3RhdGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJCQkgICAgZW51 bSBwaXBlICpwaXBlKQo+ICB7Cj4gLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5jb2Rlci0+ YmFzZS5kZXY7Cj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KGRldik7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVu Y29kZXItPmJhc2UuZGV2KTsKPiAgCXN0cnVjdCBpbnRlbF9zZHZvICppbnRlbF9zZHZvID0gdG9f c2R2byhlbmNvZGVyKTsKPiAgCXUxNiBhY3RpdmVfb3V0cHV0cyA9IDA7Cj4gLQl1MzIgdG1wOwo+ ICsJYm9vbCByZXQ7Cj4gIAo+IC0JdG1wID0gSTkxNV9SRUFEKGludGVsX3Nkdm8tPnNkdm9fcmVn KTsKPiAgCWludGVsX3Nkdm9fZ2V0X2FjdGl2ZV9vdXRwdXRzKGludGVsX3Nkdm8sICZhY3RpdmVf b3V0cHV0cyk7Cj4gIAo+IC0JaWYgKCEodG1wICYgU0RWT19FTkFCTEUpICYmIChhY3RpdmVfb3V0 cHV0cyA9PSAwKSkKPiAtCQlyZXR1cm4gZmFsc2U7Cj4gLQo+IC0JaWYgKEhBU19QQ0hfQ1BUKGRl dl9wcml2KSkKPiAtCQkqcGlwZSA9IFBPUlRfVE9fUElQRV9DUFQodG1wKTsKPiAtCWVsc2UKPiAt CQkqcGlwZSA9IFBPUlRfVE9fUElQRSh0bXApOwo+ICsJcmV0ID0gaW50ZWxfc2R2b19wb3J0X2Vu YWJsZWQoZGV2X3ByaXYsIGludGVsX3Nkdm8tPnNkdm9fcmVnLCBwaXBlKTsKPiAgCj4gLQlyZXR1 cm4gdHJ1ZTsKPiArCXJldHVybiByZXQgfHwgYWN0aXZlX291dHB1dHM7Cj4gIH0KPiAgCj4gIHN0 YXRpYyB2b2lkIGludGVsX3Nkdm9fZ2V0X2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlciwKPiBAQCAtMTU1MCw4ICsxNTYwLDggQEAgc3RhdGljIHZvaWQgaW50ZWxfZGlzYWJsZV9z ZHZvKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJCWludGVsX3NldF9jcHVfZmlm b191bmRlcnJ1bl9yZXBvcnRpbmcoZGV2X3ByaXYsIFBJUEVfQSwgZmFsc2UpOwo+ICAJCWludGVs X3NldF9wY2hfZmlmb191bmRlcnJ1bl9yZXBvcnRpbmcoZGV2X3ByaXYsIFBJUEVfQSwgZmFsc2Up Owo+ICAKPiAtCQl0ZW1wICY9IH5TRFZPX1BJUEVfQl9TRUxFQ1Q7Cj4gLQkJdGVtcCB8PSBTRFZP X0VOQUJMRTsKPiArCQl0ZW1wICY9IH5TRFZPX1BJUEVfU0VMX01BU0s7Cj4gKwkJdGVtcCB8PSBT RFZPX0VOQUJMRSB8IFNEVk9fUElQRV9TRUwoUElQRV9BKTsKPiAgCQlpbnRlbF9zZHZvX3dyaXRl X3Nkdm94KGludGVsX3Nkdm8sIHRlbXApOwo+ICAKPiAgCQl0ZW1wICY9IH5TRFZPX0VOQUJMRTsK Ci0tIApKYW5pIE5pa3VsYSwgSW50ZWwgT3BlbiBTb3VyY2UgVGVjaG5vbG9neSBDZW50ZXIKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==