From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Subject: Re: [PATCH v3 2/4] drm/i915: Add reverse mapping between port and intel_encoder Date: Tue, 08 Dec 2015 18:42:09 +0100 Message-ID: References: <1449249169-20602-1-git-send-email-tiwai@suse.de> <1449249169-20602-3-git-send-email-tiwai@suse.de> <20151207084445.GB10243@phenom.ffwll.local> Mime-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx2.suse.de (mx2.suse.de [195.135.220.15]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7E8376E800 for ; Tue, 8 Dec 2015 09:42:13 -0800 (PST) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter Cc: alsa-devel@alsa-project.org, Mengdong Lin , Vinod Koul , intel-gfx@lists.freedesktop.org, Daniel Vetter , David Henningsson List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCAwNyBEZWMgMjAxNSAxMDo0MTo1MSArMDEwMCwKVGFrYXNoaSBJd2FpIHdyb3RlOgo+ IAo+IE9uIE1vbiwgMDcgRGVjIDIwMTUgMDk6NDQ6NDUgKzAxMDAsCj4gRGFuaWVsIFZldHRlciB3 cm90ZToKPiA+IAo+ID4gT24gRnJpLCBEZWMgMDQsIDIwMTUgYXQgMDY6MTI6NDdQTSArMDEwMCwg VGFrYXNoaSBJd2FpIHdyb3RlOgo+ID4gPiBUaGlzIHBhdGNoIGFkZHMgYSByZXZlcnNlIG1hcHBp bmcgZnJvbSBhIGRpZ2l0YWwgcG9ydCBudW1iZXIgdG8KPiA+ID4gaW50ZWxfZW5jb2RlciBvYmpl Y3QgY29udGFpbmluZyB0aGUgY29ycmVzcG9uZGluZyBpbnRlbF9kaWdpdGFsX3BvcnQuCj4gPiA+ IEl0IHNpbXBsaWZpZXMgdGhlIHF1ZXJ5IG9mIHRoZSBlbmNvZGVyIGEgbG90Lgo+ID4gPiAKPiA+ ID4gU2lnbmVkLW9mZi1ieTogVGFrYXNoaSBJd2FpIDx0aXdhaUBzdXNlLmRlPgo+ID4gPiAtLS0K PiA+ID4gdjItPnYzOgo+ID4gPiAqIFNxdWFzaGVkIHByZXZpb3VzbHkgdHdvIGNsZWFudXAgcGF0 Y2hlcyB0byBhIHNpbmdsZSBwYXRjaAo+ID4gPiAKPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmggICAgfCAgMiArKwo+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf YXVkaW8uYyB8IDM5ICsrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gPiA+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyAgIHwgIDEgKwo+ID4gPiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyAgICB8ICAxICsKPiA+ID4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2hkbWkuYyAgfCAgMiArKwo+ID4gPiAgNSBmaWxlcyBjaGFuZ2VkLCAxNyBp bnNlcnRpb25zKCspLCAyOCBkZWxldGlvbnMoLSkKPiA+ID4gCj4gPiA+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaAo+ID4gPiBpbmRleCAxNWM2ZGMwYjRmMzcuLjlkYmMxNDNjYWMyNyAxMDA2NDQKPiA+ ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ID4gPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gPiA+IEBAIC0xOTQ0LDYgKzE5NDQsOCBAQCBz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSB7Cj4gPiA+ICAJLyogcGVyZm9ybSBQSFkgc3RhdGUgc2Fu aXR5IGNoZWNrcz8gKi8KPiA+ID4gIAlib29sIGNodl9waHlfYXNzZXJ0WzJdOwo+ID4gPiAgCj4g PiA+ICsJc3RydWN0IGludGVsX2VuY29kZXIgKmRpZ19wb3J0X21hcFtJOTE1X01BWF9QT1JUU107 Cj4gPiA+ICsKPiA+ID4gIAkvKgo+ID4gPiAgCSAqIE5PVEU6IFRoaXMgaXMgdGhlIGRyaTEvdW1z IGR1bmdlb24sIGRvbid0IGFkZCBzdHVmZiBoZXJlLiBZb3VyIHBhdGNoCj4gPiA+ICAJICogd2ls bCBiZSByZWplY3RlZC4gSW5zdGVhZCBsb29rIGZvciBhIGJldHRlciBwbGFjZS4KPiA+ID4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F1ZGlvLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9hdWRpby5jCj4gPiA+IGluZGV4IGVlYWM5Zjc2MzExMC4uMDVmMDhi NDQ1ZGQ2IDEwMDY0NAo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdWRp by5jCj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F1ZGlvLmMKPiA+ID4g QEAgLTYzNiwxMyArNjM2LDExIEBAIHN0YXRpYyBpbnQgaTkxNV9hdWRpb19jb21wb25lbnRfc3lu Y19hdWRpb19yYXRlKHN0cnVjdCBkZXZpY2UgKmRldiwKPiA+ID4gIAkJCQkJCWludCBwb3J0LCBp bnQgcmF0ZSkKPiA+ID4gIHsKPiA+ID4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSBkZXZfdG9faTkxNShkZXYpOwo+ID4gPiAtCXN0cnVjdCBkcm1fZGV2aWNlICpkcm1fZGV2 ID0gZGV2X3ByaXYtPmRldjsKPiA+ID4gIAlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5j b2RlcjsKPiA+ID4gLQlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydDsK PiA+ID4gIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YzsKPiA+ID4gIAlzdHJ1Y3QgZHJtX2Rpc3Bs YXlfbW9kZSAqbW9kZTsKPiA+ID4gIAlzdHJ1Y3QgaTkxNV9hdWRpb19jb21wb25lbnQgKmFjb21w ID0gZGV2X3ByaXYtPmF1ZGlvX2NvbXBvbmVudDsKPiA+ID4gLQllbnVtIHBpcGUgcGlwZSA9IC0x Owo+ID4gPiArCWVudW0gcGlwZSBwaXBlID0gSU5WQUxJRF9QSVBFOwo+ID4gPiAgCXUzMiB0bXA7 Cj4gPiA+ICAJaW50IG47Cj4gPiA+ICAKPiA+ID4gQEAgLTY1NSwyMSArNjUzLDEyIEBAIHN0YXRp YyBpbnQgaTkxNV9hdWRpb19jb21wb25lbnRfc3luY19hdWRpb19yYXRlKHN0cnVjdCBkZXZpY2Ug KmRldiwKPiA+ID4gIAo+ID4gPiAgCW11dGV4X2xvY2soJmRldl9wcml2LT5hdl9tdXRleCk7Cj4g PiA+ICAJLyogMS4gZ2V0IHRoZSBwaXBlICovCj4gPiA+IC0JZm9yX2VhY2hfaW50ZWxfZW5jb2Rl cihkcm1fZGV2LCBpbnRlbF9lbmNvZGVyKSB7Cj4gPiA+IC0JCWlmIChpbnRlbF9lbmNvZGVyLT50 eXBlICE9IElOVEVMX09VVFBVVF9IRE1JKQo+ID4gPiAtCQkJY29udGludWU7Cj4gPiA+IC0JCWlu dGVsX2RpZ19wb3J0ID0gZW5jX3RvX2RpZ19wb3J0KCZpbnRlbF9lbmNvZGVyLT5iYXNlKTsKPiA+ ID4gLQkJaWYgKHBvcnQgPT0gaW50ZWxfZGlnX3BvcnQtPnBvcnQpIHsKPiA+ID4gLQkJCWNydGMg PSB0b19pbnRlbF9jcnRjKGludGVsX2VuY29kZXItPmJhc2UuY3J0Yyk7Cj4gPiA+IC0JCQlpZiAo IWNydGMpIHsKPiA+ID4gLQkJCQlEUk1fREVCVUdfS01TKCIlczogY3J0YyBpcyBOVUxMXG4iLCBf X2Z1bmNfXyk7Cj4gPiA+IC0JCQkJY29udGludWU7Cj4gPiA+IC0JCQl9Cj4gPiA+IC0JCQlwaXBl ID0gY3J0Yy0+cGlwZTsKPiA+ID4gLQkJCWJyZWFrOwo+ID4gPiAtCQl9Cj4gPiA+ICsJaW50ZWxf ZW5jb2RlciA9IGRldl9wcml2LT5kaWdfcG9ydF9tYXBbcG9ydF07Cj4gPiA+ICsJaWYgKGludGVs X2VuY29kZXIgJiYgaW50ZWxfZW5jb2Rlci0+dHlwZSA9PSBJTlRFTF9PVVRQVVRfSERNSSAmJgo+ ID4gCj4gPiBJcyBpdCByZWFsbHkgbGVnaXQgdG8gY2FsbCB0aGVzZSBmdW5jdGlvbnMgd2l0aCBh IHBvcnQgZm9yIHdoaWNoIHdlIGRvbid0Cj4gPiBoYXZlIGFuIGVuY29kZXI/IFdBUk5fT04oIWVu Y29kZXIpIGhlcmUgYW5kIGluIHRoZSBvdGhlciBwbGFjZXM/Cj4gCj4gQ3VycmVudGx5IHRoZXJl IGFyZSBsaXR0bGUgY2hlY2tzIGluIHRoZSBjYWxsZXIgc2lkZS4gIFNvIEkgZ3Vlc3Mgb25seQo+ IGEgZmV3IG9mIHRoZW0gZGVzZXJ2ZSBXQVJOX09OKCkuICBUaGUgZW1wdHkgZW5jb2RlciBhbmQg ZW1wdHkgY3J0Ywo+IHdvdWxkIGJlIGdvb2Qgd2l0aCBXQVJOX09OKCksIGFzIHRoZSBwb3J0IGlz IHN1cHBvc2VkIHRvIGJlIHJlYWwuIAo+IFRoZSBIRE1JIGNoZWNrIG1heSBiZSBzaWxlbnQgYXMg aXMuCj4gCj4gPiBPciB3b3VsZAo+ID4gdGhhdCByZXF1aXJlIHNvbWUgZnVuY3Rpb24gZm9yIHNu ZC1oZGEgdG8gaW5xdWlyZSBpOTE1IHdoaWNoIHBvcnRzIGFyZQo+ID4gZW5hYmxlZCAod2hpY2gg d2UgcHJvYmFibHkgc2hvdWxkIGhhdmUgdG8gYXZvaWQgcmVnaXN0ZXJpbmcgYXVkaW8gcG9ydHMK PiA+IHRoYXQgYXJlbid0IHRoZXJlKT8KPiA+IAo+ID4gT3RoZXJ3aXNlIGxndG0uCj4gCj4gT0ss IEknbGwgYWRkIFdBUk5fT04oKSB0byB0aGVtLgoKSXQgdHVybmVkIG91dCB0aGF0IHRoZSBlbmNv ZGVyIG1pZ2h0IGJlIE5VTEwgZm9yIE1TVCwgYXMgY3VycmVudGx5Cml0J3Mgbm90IHNldCBwcm9w ZXJseSB5ZXQuICBTbyBXQVJOX09OKCkgd2lsbCBzcGxhdCB0b28gbXVjaAp1bm5lY2Vzc2FyaWx5 LgoKVGhvdWdoLCBJIHJld3JvdGUgYSBiaXQgYWJvdXQgdGhlIGNoZWNrIGFuZCBnaXZlIGEgYml0 IG1vcmUgbWVzc2FnZXMuCkJlbG93IGlzIHRoZSByZXZpc2VkIHBhdGNoLiAgU28gZmFyLCBJIGhh dmUgb25seSB0aGlzIGNoYW5nZSwgc28gSQpoZXNpdGF0ZSB0byByZXN1Ym1pdCB0aGUgd2hvbGUg cGF0Y2hzZXQuICBJZiBhIGZ1bGwgcGF0Y2hzZXQgaXMKc3RpbGwgcHJlZmVycmVkLCBsZXQgbWUg a25vdy4KCgp0aGFua3MsCgpUYWthc2hpCgotLSA4PCAtLQpGcm9tOiBUYWthc2hpIEl3YWkgPHRp d2FpQHN1c2UuZGU+ClN1YmplY3Q6IFtQQVRDSCB2NF0gZHJtL2k5MTU6IEFkZCByZXZlcnNlIG1h cHBpbmcgYmV0d2VlbiBwb3J0IGFuZCBpbnRlbF9lbmNvZGVyCgpUaGlzIHBhdGNoIGFkZHMgYSBy ZXZlcnNlIG1hcHBpbmcgZnJvbSBhIGRpZ2l0YWwgcG9ydCBudW1iZXIgdG8KaW50ZWxfZW5jb2Rl ciBvYmplY3QgY29udGFpbmluZyB0aGUgY29ycmVzcG9uZGluZyBpbnRlbF9kaWdpdGFsX3BvcnQu Ckl0IHNpbXBsaWZpZXMgdGhlIHF1ZXJ5IG9mIHRoZSBlbmNvZGVyIGEgbG90LgoKU2lnbmVkLW9m Zi1ieTogVGFrYXNoaSBJd2FpIDx0aXdhaUBzdXNlLmRlPgotLS0KdjMtPnY0OiBhZGQgYSBiaXQg bW9yZSB2ZXJib3NlIGNoZWNrIGZvciBOVUxMIGVuY29kZXIsIGV0Yy4KCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oICAgIHwgIDIgKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2F1ZGlvLmMgfCA1NyArKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgICB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RwLmMgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1p LmMgIHwgIDIgKysKIDUgZmlsZXMgY2hhbmdlZCwgMjggaW5zZXJ0aW9ucygrKSwgMzUgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggMTVjNmRjMGI0ZjM3Li45ZGJjMTQz Y2FjMjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMTk0NCw2ICsxOTQ0LDggQEAgc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgewogCS8qIHBlcmZvcm0gUEhZIHN0YXRlIHNhbml0eSBjaGVj a3M/ICovCiAJYm9vbCBjaHZfcGh5X2Fzc2VydFsyXTsKIAorCXN0cnVjdCBpbnRlbF9lbmNvZGVy ICpkaWdfcG9ydF9tYXBbSTkxNV9NQVhfUE9SVFNdOworCiAJLyoKIAkgKiBOT1RFOiBUaGlzIGlz IHRoZSBkcmkxL3VtcyBkdW5nZW9uLCBkb24ndCBhZGQgc3R1ZmYgaGVyZS4gWW91ciBwYXRjaAog CSAqIHdpbGwgYmUgcmVqZWN0ZWQuIEluc3RlYWQgbG9vayBmb3IgYSBiZXR0ZXIgcGxhY2UuCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdWRpby5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfYXVkaW8uYwppbmRleCBlZWFjOWY3NjMxMTAuLjYzODBiMjQwMDQ0 OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXVkaW8uYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdWRpby5jCkBAIC02MzYsMTUgKzYzNiwxNCBAQCBz dGF0aWMgaW50IGk5MTVfYXVkaW9fY29tcG9uZW50X3N5bmNfYXVkaW9fcmF0ZShzdHJ1Y3QgZGV2 aWNlICpkZXYsCiAJCQkJCQlpbnQgcG9ydCwgaW50IHJhdGUpCiB7CiAJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2X3RvX2k5MTUoZGV2KTsKLQlzdHJ1Y3QgZHJtX2Rldmlj ZSAqZHJtX2RldiA9IGRldl9wcml2LT5kZXY7CiAJc3RydWN0IGludGVsX2VuY29kZXIgKmludGVs X2VuY29kZXI7Ci0Jc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQ7CiAJ c3RydWN0IGludGVsX2NydGMgKmNydGM7CiAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGU7 CiAJc3RydWN0IGk5MTVfYXVkaW9fY29tcG9uZW50ICphY29tcCA9IGRldl9wcml2LT5hdWRpb19j b21wb25lbnQ7Ci0JZW51bSBwaXBlIHBpcGUgPSAtMTsKKwllbnVtIHBpcGUgcGlwZSA9IElOVkFM SURfUElQRTsKIAl1MzIgdG1wOwogCWludCBuOworCWludCBlcnIgPSAwOwogCiAJLyogSFNXLCBC RFcsIFNLTCwgS0JMIG5lZWQgdGhpcyBmaXggKi8KIAlpZiAoIUlTX1NLWUxBS0UoZGV2X3ByaXYp ICYmCkBAIC02NTUsMjYgKzY1NCwyMSBAQCBzdGF0aWMgaW50IGk5MTVfYXVkaW9fY29tcG9uZW50 X3N5bmNfYXVkaW9fcmF0ZShzdHJ1Y3QgZGV2aWNlICpkZXYsCiAKIAltdXRleF9sb2NrKCZkZXZf cHJpdi0+YXZfbXV0ZXgpOwogCS8qIDEuIGdldCB0aGUgcGlwZSAqLwotCWZvcl9lYWNoX2ludGVs X2VuY29kZXIoZHJtX2RldiwgaW50ZWxfZW5jb2RlcikgewotCQlpZiAoaW50ZWxfZW5jb2Rlci0+ dHlwZSAhPSBJTlRFTF9PVVRQVVRfSERNSSkKLQkJCWNvbnRpbnVlOwotCQlpbnRlbF9kaWdfcG9y dCA9IGVuY190b19kaWdfcG9ydCgmaW50ZWxfZW5jb2Rlci0+YmFzZSk7Ci0JCWlmIChwb3J0ID09 IGludGVsX2RpZ19wb3J0LT5wb3J0KSB7Ci0JCQljcnRjID0gdG9faW50ZWxfY3J0YyhpbnRlbF9l bmNvZGVyLT5iYXNlLmNydGMpOwotCQkJaWYgKCFjcnRjKSB7Ci0JCQkJRFJNX0RFQlVHX0tNUygi JXM6IGNydGMgaXMgTlVMTFxuIiwgX19mdW5jX18pOwotCQkJCWNvbnRpbnVlOwotCQkJfQotCQkJ cGlwZSA9IGNydGMtPnBpcGU7Ci0JCQlicmVhazsKLQkJfQorCWludGVsX2VuY29kZXIgPSBkZXZf cHJpdi0+ZGlnX3BvcnRfbWFwW3BvcnRdOworCWlmICghaW50ZWxfZW5jb2RlciB8fCAhaW50ZWxf ZW5jb2Rlci0+YmFzZS5jcnRjIHx8CisJICAgIGludGVsX2VuY29kZXItPnR5cGUgIT0gSU5URUxf T1VUUFVUX0hETUkpIHsKKwkJRFJNX0RFQlVHX0tNUygibm8gdmFsaWQgcG9ydCAlY1xuIiwgcG9y dF9uYW1lKHBvcnQpKTsKKwkJZXJyID0gLUVOT0RFVjsKKwkJZ290byB1bmxvY2s7CiAJfQotCisJ Y3J0YyA9IHRvX2ludGVsX2NydGMoaW50ZWxfZW5jb2Rlci0+YmFzZS5jcnRjKTsKKwlwaXBlID0g Y3J0Yy0+cGlwZTsKIAlpZiAocGlwZSA9PSBJTlZBTElEX1BJUEUpIHsKIAkJRFJNX0RFQlVHX0tN Uygibm8gcGlwZSBmb3IgdGhlIHBvcnQgJWNcbiIsIHBvcnRfbmFtZShwb3J0KSk7Ci0JCW11dGV4 X3VubG9jaygmZGV2X3ByaXYtPmF2X211dGV4KTsKLQkJcmV0dXJuIC1FTk9ERVY7CisJCWVyciA9 IC1FTk9ERVY7CisJCWdvdG8gdW5sb2NrOwogCX0KKwogCURSTV9ERUJVR19LTVMoInBpcGUgJWMg Y29ubmVjdHMgcG9ydCAlY1xuIiwKIAkJCQkgIHBpcGVfbmFtZShwaXBlKSwgcG9ydF9uYW1lKHBv cnQpKTsKIAltb2RlID0gJmNydGMtPmNvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlOwpAQCAtNjg3 LDggKzY4MSw3IEBAIHN0YXRpYyBpbnQgaTkxNV9hdWRpb19jb21wb25lbnRfc3luY19hdWRpb19y YXRlKHN0cnVjdCBkZXZpY2UgKmRldiwKIAkJdG1wID0gSTkxNV9SRUFEKEhTV19BVURfQ0ZHKHBp cGUpKTsKIAkJdG1wICY9IH5BVURfQ09ORklHX05fUFJPR19FTkFCTEU7CiAJCUk5MTVfV1JJVEUo SFNXX0FVRF9DRkcocGlwZSksIHRtcCk7Ci0JCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPmF2X211 dGV4KTsKLQkJcmV0dXJuIDA7CisJCWdvdG8gdW5sb2NrOwogCX0KIAogCW4gPSBhdWRpb19jb25m aWdfZ2V0X24obW9kZSwgcmF0ZSk7CkBAIC02OTgsOCArNjkxLDcgQEAgc3RhdGljIGludCBpOTE1 X2F1ZGlvX2NvbXBvbmVudF9zeW5jX2F1ZGlvX3JhdGUoc3RydWN0IGRldmljZSAqZGV2LAogCQl0 bXAgPSBJOTE1X1JFQUQoSFNXX0FVRF9DRkcocGlwZSkpOwogCQl0bXAgJj0gfkFVRF9DT05GSUdf Tl9QUk9HX0VOQUJMRTsKIAkJSTkxNV9XUklURShIU1dfQVVEX0NGRyhwaXBlKSwgdG1wKTsKLQkJ bXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+YXZfbXV0ZXgpOwotCQlyZXR1cm4gMDsKKwkJZ290byB1 bmxvY2s7CiAJfQogCiAJLyogMy4gc2V0IHRoZSBOL0NUUy9NICovCkBAIC03MDcsOCArNjk5LDkg QEAgc3RhdGljIGludCBpOTE1X2F1ZGlvX2NvbXBvbmVudF9zeW5jX2F1ZGlvX3JhdGUoc3RydWN0 IGRldmljZSAqZGV2LAogCXRtcCA9IGF1ZGlvX2NvbmZpZ19zZXR1cF9uX3JlZyhuLCB0bXApOwog CUk5MTVfV1JJVEUoSFNXX0FVRF9DRkcocGlwZSksIHRtcCk7CiAKKyB1bmxvY2s6CiAJbXV0ZXhf dW5sb2NrKCZkZXZfcHJpdi0+YXZfbXV0ZXgpOwotCXJldHVybiAwOworCXJldHVybiBlcnI7CiB9 CiAKIHN0YXRpYyBpbnQgaTkxNV9hdWRpb19jb21wb25lbnRfZ2V0X2VsZChzdHJ1Y3QgZGV2aWNl ICpkZXYsIGludCBwb3J0LApAQCAtNzE2LDI3ICs3MDksMjEgQEAgc3RhdGljIGludCBpOTE1X2F1 ZGlvX2NvbXBvbmVudF9nZXRfZWxkKHN0cnVjdCBkZXZpY2UgKmRldiwgaW50IHBvcnQsCiAJCQkJ CXVuc2lnbmVkIGNoYXIgKmJ1ZiwgaW50IG1heF9ieXRlcykKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXZfdG9faTkxNShkZXYpOwotCXN0cnVjdCBkcm1fZGV2aWNl ICpkcm1fZGV2ID0gZGV2X3ByaXYtPmRldjsKIAlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxf ZW5jb2RlcjsKIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydDsKIAlj b25zdCB1OCAqZWxkOwogCWludCByZXQgPSAtRUlOVkFMOwogCiAJbXV0ZXhfbG9jaygmZGV2X3By aXYtPmF2X211dGV4KTsKLQlmb3JfZWFjaF9pbnRlbF9lbmNvZGVyKGRybV9kZXYsIGludGVsX2Vu Y29kZXIpIHsKLQkJaWYgKGludGVsX2VuY29kZXItPnR5cGUgIT0gSU5URUxfT1VUUFVUX0RJU1BM QVlQT1JUICYmCi0JCSAgICBpbnRlbF9lbmNvZGVyLT50eXBlICE9IElOVEVMX09VVFBVVF9IRE1J KQotCQkJY29udGludWU7CisJaW50ZWxfZW5jb2RlciA9IGRldl9wcml2LT5kaWdfcG9ydF9tYXBb cG9ydF07CisJaWYgKGludGVsX2VuY29kZXIpIHsKKwkJcmV0ID0gMDsKIAkJaW50ZWxfZGlnX3Bv cnQgPSBlbmNfdG9fZGlnX3BvcnQoJmludGVsX2VuY29kZXItPmJhc2UpOwotCQlpZiAocG9ydCA9 PSBpbnRlbF9kaWdfcG9ydC0+cG9ydCkgewotCQkJcmV0ID0gMDsKLQkJCSplbmFibGVkID0gaW50 ZWxfZGlnX3BvcnQtPmF1ZGlvX2Nvbm5lY3RvciAhPSBOVUxMOwotCQkJaWYgKCEqZW5hYmxlZCkK LQkJCQlicmVhazsKKwkJKmVuYWJsZWQgPSBpbnRlbF9kaWdfcG9ydC0+YXVkaW9fY29ubmVjdG9y ICE9IE5VTEw7CisJCWlmICgqZW5hYmxlZCkgewogCQkJZWxkID0gaW50ZWxfZGlnX3BvcnQtPmF1 ZGlvX2Nvbm5lY3Rvci0+ZWxkOwogCQkJcmV0ID0gZHJtX2VsZF9zaXplKGVsZCk7CiAJCQltZW1j cHkoYnVmLCBlbGQsIG1pbihtYXhfYnl0ZXMsIHJldCkpOwotCQkJYnJlYWs7CiAJCX0KIAl9CiAK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKaW5kZXggNzZjZTdjMjk2MGI2Li41OWRlYjBkODU1MzMg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCkBAIC0zMjk1LDYgKzMyOTUsNyBAQCB2b2lkIGlu dGVsX2RkaV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGVudW0gcG9ydCBwb3J0KQogCWlu dGVsX2VuY29kZXItPmdldF9jb25maWcgPSBpbnRlbF9kZGlfZ2V0X2NvbmZpZzsKIAogCWludGVs X2RpZ19wb3J0LT5wb3J0ID0gcG9ydDsKKwlkZXZfcHJpdi0+ZGlnX3BvcnRfbWFwW3BvcnRdID0g aW50ZWxfZW5jb2RlcjsKIAlpbnRlbF9kaWdfcG9ydC0+c2F2ZWRfcG9ydF9iaXRzID0gSTkxNV9S RUFEKERESV9CVUZfQ1RMKHBvcnQpKSAmCiAJCQkJCSAgKERESV9CVUZfUE9SVF9SRVZFUlNBTCB8 CiAJCQkJCSAgIERESV9BXzRfTEFORVMpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKaW5kZXggZTFj ZWZmN2FiMjY1Li5lMTQ1NmVhZDVjNTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwpAQCAtNjAw Myw2ICs2MDAzLDcgQEAgaW50ZWxfZHBfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCX0K IAogCWludGVsX2RpZ19wb3J0LT5wb3J0ID0gcG9ydDsKKwlkZXZfcHJpdi0+ZGlnX3BvcnRfbWFw W3BvcnRdID0gaW50ZWxfZW5jb2RlcjsKIAlpbnRlbF9kaWdfcG9ydC0+ZHAub3V0cHV0X3JlZyA9 IG91dHB1dF9yZWc7CiAKIAlpbnRlbF9lbmNvZGVyLT50eXBlID0gSU5URUxfT1VUUFVUX0RJU1BM QVlQT1JUOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCmluZGV4IGJkZDQ2MmU3YzY5MC4uYzA0 NjAxN2JlNzg2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCkBAIC0yMTQ4LDYgKzIxNDgs NyBAQCB2b2lkIGludGVsX2hkbWlfaW5pdF9jb25uZWN0b3Ioc3RydWN0IGludGVsX2RpZ2l0YWxf cG9ydCAqaW50ZWxfZGlnX3BvcnQsCiB2b2lkIGludGVsX2hkbWlfaW5pdChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAogCQkgICAgIGk5MTVfcmVnX3QgaGRtaV9yZWcsIGVudW0gcG9ydCBwb3J0KQog eworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7 CiAJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQ7CiAJc3RydWN0IGlu dGVsX2VuY29kZXIgKmludGVsX2VuY29kZXI7CiAJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqaW50 ZWxfY29ubmVjdG9yOwpAQCAtMjIxNiw2ICsyMjE3LDcgQEAgdm9pZCBpbnRlbF9oZG1pX2luaXQo c3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJaW50ZWxfZW5jb2Rlci0+Y2xvbmVhYmxlIHw9IDEg PDwgSU5URUxfT1VUUFVUX0hETUk7CiAKIAlpbnRlbF9kaWdfcG9ydC0+cG9ydCA9IHBvcnQ7CisJ ZGV2X3ByaXYtPmRpZ19wb3J0X21hcFtwb3J0XSA9IGludGVsX2VuY29kZXI7CiAJaW50ZWxfZGln X3BvcnQtPmhkbWkuaGRtaV9yZWcgPSBoZG1pX3JlZzsKIAlpbnRlbF9kaWdfcG9ydC0+ZHAub3V0 cHV0X3JlZyA9IElOVkFMSURfTU1JT19SRUc7CiAKLS0gCjIuNi4zCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=