From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mario Kleiner Subject: Re: [PATCH] drm/i915/dp: Try to find proper bpc for DP->legacy converters. (v2) Date: Wed, 18 May 2016 15:52:04 +0200 Message-ID: <573C7384.3050306@gmail.com> References: <1463071438-10786-1-git-send-email-mario.kleiner.de@gmail.com> <20160517065139.GH27098@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x244.google.com (mail-wm0-x244.google.com [IPv6:2a00:1450:400c:c09::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id C9EB388A3E for ; Wed, 18 May 2016 13:52:08 +0000 (UTC) Received: by mail-wm0-x244.google.com with SMTP id r12so13106949wme.0 for ; Wed, 18 May 2016 06:52:08 -0700 (PDT) In-Reply-To: <20160517065139.GH27098@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter Cc: Daniel Vetter , stable@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gMDUvMTcvMjAxNiAwODo1MSBBTSwgRGFuaWVsIFZldHRlciB3cm90ZToKPiBPbiBUaHUsIE1h eSAxMiwgMjAxNiBhdCAwNjo0Mzo1OFBNICswMjAwLCBNYXJpbyBLbGVpbmVyIHdyb3RlOgo+PiBU aGlzIGZpeGVzIGEgcmVncmVzc2lvbiBpbiBvdXRwdXQgcHJlY2lzaW9uIGZvciBEVkkgYW5kIFZH QQo+PiB2aWRlbyBzaW5rcyBjb25uZWN0ZWQgdG8gSW50ZWwgaHcgdmlhIGFjdGl2ZSBEaXNwbGF5 UG9ydC0+RFZJL1ZHQQo+PiBjb252ZXJ0ZXJzLgo+Pgo+PiBUaGUgcmVncmVzc2lvbiB3YXMgaW5k aXJlY3RseSBpbnRyb2R1Y2VkIGJ5IGNvbW1pdCAwMTNkZDllMDM4NzIKPj4gKCJkcm0vaTkxNS9k cDogZmFsbCBiYWNrIHRvIDE4IGJwcCB3aGVuIHNpbmsgY2FwYWJpbGl0eSBpcyB1bmtub3duIiku Cj4+Cj4+IE91ciBjdXJyZW50IGRybSBlZGlkIDEuMyBoYW5kbGluZyBjYW4ndCByZWxpYWJseSBh c3NpZ24gYSBwcm9wZXIKPj4gbWluaW11bSBzdXBwb3J0ZWQgZGlzcGxheSBkZXB0aCBvZiA4IGJw YyB0byBhbGwgRFZJIHNpbmtzLCBhcwo+PiBtYW5kYXRlZCBieSBEVkkgMS4wIHNwZWMsIHNlY3Rp b24gMi4yLjExLjIgIk1vbml0b3IgZGF0YSBmb3JtYXQKPj4gc3VwcG9ydCIsIGJ1dCByZXR1cm5z IDAgYnBjID0gIkRvbid0IGtub3ciIGluc3RlYWQuIEZvciBhbmFsb2cgVkdBCj4+IHNpbmtzIGl0 IGFsc28gcmV0dXJucyAwIGJwYywgYWx0aG91Z2ggdGhvc2Ugc2lua3MgdGhlbXNlbHZlcyBoYXZl Cj4+IGluZmluaXRlIGNvbG9yIGRlcHRoLCBvbmx5IHJlc3RyaWN0ZWQgYnkgdGhlIERBQyByZXNv bHV0aW9uIG9mCj4+IHRoZSBlbmNvZGVyLgo+Pgo+PiBJZiBhIFZHQSBvciBkdWFsLWxpbmsgRFZJ IGRpc3BsYXkgaXMgY29ubmVjdGVkIHZpYSBEaXNwbGF5UG9ydAo+PiBjb25uZWN0b3IgdGhlbiBk dWUgdG8gYWJvdmUgY29tbWl0IHRoZSBkcml2ZXIgd291bGQgZmFsbCBiYWNrIHRvCj4+IG9ubHkg NiBicGMsIHdoaWNoIHdvdWxkIGNhdXNlIGRlZ3JhZGF0aW9uIGZvciBEVkkgYW5kIFZHQSBkaXNw bGF5cywKPj4gYW5ub3lpbmcgaW4gZ2VuZXJhbCwgYnV0IGVzcGVjaWFsbHkgaGFybWZ1bCBmb3Ig YXBwbGljYXRpb24gb2YgZGlzcGxheQo+PiBkZXZpY2VzIHVzZWQgaW4gbmV1cm9zY2llbmNlIHJl c2VhcmNoIGFuZCBmb3IgbWVkaWNhbCBkaWFnbm9zaWMKPj4gd2hpY2ggYWJzb2x1dGVseSBuZWVk IG5hdGl2ZSBub24tZGl0aGVyZWQgOCBicGMgYXQgYSBtaW5pbXVtIHRvCj4+IG9wZXJhdGUgY29y cmVjdGx5Lgo+Pgo+PiBGb3IgRFAgY29ubmVjdG9ycyB3aXRoIGJwYyA9PSAwIGFjY29yZGluZyB0 byBFRElELCBmaXggdGhpcyBwcm9ibGVtCj4+IGJ5IGNoZWNraW5nIHRoZSBkcGNkIGRhdGEgdG8g ZmluZCBvdXQgaWYgYSBEUC0+bGVnYWN5IGNvbnZlcnRlcgo+PiBpcyBjb25uZWN0ZWQuIElmIHRo ZSBjb252ZXJ0ZXIgaXMgRFAtPkRWSS9IRE1JIGFzc3VtZSA4IGJwYwo+PiBkZXB0aC4gSWYgdGhl IGNvbnZlcnRlciBpcyBEUC0+VkdBIGFzc3VtZSBhdCBsZWFzdCA4IGJwYywgYnV0Cj4+IHRyeSB0 byBnZXQgYSBtb3JlIGFjY3VyYXRlIHZhbHVlICg4LCAxMCwgMTIgb3IgMTYgYnBjKSBpZiB0aGUK Pj4gY29udmVydGVyIGV4cG9zZXMgdGhpcyBpbmZvLgo+Pgo+PiBPbmx5IGZvciBhIERQIHNpbmsg d2l0aG91dCBkb3duc3RyZWFtIHBvcnRzIHdlIGFzc3VtZSBpdCBpcyBhIG5hdGl2ZSBEUAo+PiBz aW5rIGFuZCBhcHBseSB0aGUgNiBicGMgLyAxOCBicHAgZmFsbGJhY2sgYXMgcmVxdWlyZWQgYnkg dGhlIERQIHNwZWMuCj4+Cj4+IEFzIHRoZSAiZmFsbCBiYWNrIHRvIDE4IGJwcCIgcGF0Y2ggd2Fz IGJhY2twb3J0ZWQgdG8gc3RhYmxlIHdlIHNob3VsZAo+PiBpbmNsdWRlIHRoaXMgb25lIGFsc28g aW50byBzdGFibGUgdG8gZml4IHRoZSByZWdyZXNzaW9uIGluIGNvbG9yCj4+IHByZWNpc2lvbi4K Pj4KPj4gVGVzdGVkIHdpdGggTWluaURQLT5EUCBhZGFwdGVyLCBNaW5pRFAtPkhETUkgYWRhcHRl ciwKPj4gTWluaURQLT5zaW5nbGUtbGluayBEVkkgYWRhcHRlciwgTWluaURQLT5kdWFsLWxpbmsg RFZJIGFjdGl2ZSBhZGFwdGVyLAo+PiBhbmQgQXBwbGUgTWluaURQLT5WR0EgYWN0aXZlIGFkYXB0 ZXIuCj4+Cj4+IHYyOiBUYWtlIFZpbGxlJ3MgZmVlZGJhY2sgaW50byBhY2NvdW50OiBGb2xkIHRo ZSAxOCBicHAgZmFsbGJhY2sgaW50bwo+PiAgICAgIHRoZSBkZXRlY3Rpb24gZnVuY3Rpb24sIHNv IGl0IG9ubHkgYXBwbGllcyB0byBuYXRpdmUgRFAgc2lua3MuCj4+ICAgICAgUmVuYW1lIGludGVs X2RwX2xlZ2FjeV9icGMoKSB0byBpbnRlbF9kcF9zaW5rX2JwYygpLgo+Pgo+PiBTaWduZWQtb2Zm LWJ5OiBNYXJpbyBLbGVpbmVyIDxtYXJpby5rbGVpbmVyLmRlQGdtYWlsLmNvbT4KPj4gQ2M6IFZp bGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4+IENjOiBEYW5p ZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgo+PiBDYzogc3RhYmxlQHZnZXIua2Vy bmVsLm9yZwo+PiAtLS0KPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMg fCAxMiArKysrKystLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgICAgICB8 IDU5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+PiAgIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICAxICsKPj4gICAzIGZpbGVzIGNoYW5nZWQsIDY5 IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMKPj4gaW5kZXggYTI5N2UxZi4uN2VmNTJkYiAxMDA2NDQKPj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+PiBAQCAtMTIwNzIsMTAgKzEyMDcyLDE2IEBAIGNvbm5l Y3RlZF9zaW5rX2NvbXB1dGVfYnBwKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwK Pj4gICAJCWludCB0eXBlID0gY29ubmVjdG9yLT5iYXNlLmNvbm5lY3Rvcl90eXBlOwo+PiAgIAkJ aW50IGNsYW1wX2JwcCA9IDI0Owo+Pgo+PiAtCQkvKiBGYWxsIGJhY2sgdG8gMTggYnBwIHdoZW4g RFAgc2luayBjYXBhYmlsaXR5IGlzIHVua25vd24uICovCj4+ICsJCS8qIE9uIERpc3BsYXlQb3J0 IHRyeSBoYXJkZXIgdG8gZmluZCBzaW5rIGJwYyAqLwo+PiAgIAkJaWYgKHR5cGUgPT0gRFJNX01P REVfQ09OTkVDVE9SX0Rpc3BsYXlQb3J0IHx8Cj4+IC0JCSAgICB0eXBlID09IERSTV9NT0RFX0NP Tk5FQ1RPUl9lRFApCj4+IC0JCQljbGFtcF9icHAgPSAxODsKPj4gKwkJICAgIHR5cGUgPT0gRFJN X01PREVfQ09OTkVDVE9SX2VEUCkgewo+PiArCQkJaW50IHNpbmtfYnBjID0gaW50ZWxfZHBfc2lu a19icGMoJmNvbm5lY3Rvci0+YmFzZSk7Cj4+ICsKPj4gKwkJCWlmIChzaW5rX2JwYykgewo+PiAr CQkJCURSTV9ERUJVR19LTVMoIkRQIHNpbmsgd2l0aCBicGMgJWRcbiIsIHNpbmtfYnBjKTsKPj4g KwkJCQljbGFtcF9icHAgPSAzICogc2lua19icGM7Cj4+ICsJCQl9Cj4+ICsJCX0KPj4KPj4gICAJ CWlmIChicHAgPiBjbGFtcF9icHApIHsKPj4gICAJCQlEUk1fREVCVUdfS01TKCJjbGFtcGluZyBk aXNwbGF5IGJwcCAod2FzICVkKSB0byBkZWZhdWx0IGxpbWl0IG9mICVkXG4iLAo+PiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RwLmMKPj4gaW5kZXggZjE5MmY1OC4uNGRiYjU1YiAxMDA2NDQKPj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcC5jCj4+IEBAIC02MDQ2LDMgKzYwNDYsNjIgQEAgdm9pZCBpbnRlbF9kcF9t c3RfcmVzdW1lKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4+ICAgCQl9Cj4+ICAgCX0KPj4gICB9 Cj4+ICsKPj4gKy8qIFhYWCBOZWVkcyB3b3JrIGZvciBtb3JlIHRoYW4gMSBkb3duc3RyZWFtIHBv cnQgKi8KPj4gK2ludCBpbnRlbF9kcF9zaW5rX2JwYyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yKQo+Cj4gSSB0aGluayB0aGVzZSBraW5kIG9mIGZ1bmN0aW9ucyBhcmUgcHJldHR5IG11 Y2ggd2h5IHdlIGhhdmUgYSBkcCBoZWxlcHIuCj4gQ2FuIHlvdSBwbHMgbW92ZSBpdCB0aGVyZSAo YW5kIGFkZCBrZXJuZWxkb2MgYW5kIGFsbCB0aGUgdXN1YWwKPiBiaXRzJnBpZWNlcykuIFRoZXJl J3MgYWxzbyBvdGhlciBwYXRjaGVzIGluLWZsaWdodCB0byBhZGQgbW9yZSBkb3duc3RyZWFtCj4g cG9ydCBoYW5kbGluZyAuLi4KPiAtRGFuaWVsCgpJIGNhbiBmYWN0b3Igb3V0IHRoZSBwYXJzaW5n IGJpdCBpbnRvIGEgZHAgaGVscGVyIGZ1bmN0aW9uLiBHZXR0aW5nIHRoZSAKZHBjZCBibG9jayBz ZWVtcyB0byBiZSBkcml2ZXIgc3BlY2lmaWMsIHNvIGEgbGl0dGxlIGJpdCBvZiBzdHViIHdvdWxk IGJlIApsZWZ0IGluIHRoZSBrbXMgZHJpdmVyLgoKSG93ZXZlciwgaXMgdGhpcyB0aGVuIHN0aWxs IGZpdC9zbWFsbC9zaW1wbGUgZW5vdWdoIGZvciBiYWNrcG9ydGluZyB0byAKc3RhYmxlIGtlcm5l bHM/IEZpeGluZyB0aGUgZXhpc3RpbmcgcmVncmVzc2lvbiB3aGljaCByZWFjaGVkIHN0YWJsZSAK a2VybmVscyBpcyBpbXBvcnRhbnQuIEluIGNhc2Ugbm90LCB3ZSdkIG5lZWQgc29tZSBzbGlnaHQg ZXh0cmEgYml0cyBhIGxhCgoxLiBBIHBhdGNoIHdoaWNoIHJldmVydHMgSmFuaSdzIGNvbW1pdCB0 aGF0IGNhdXNlZCB0aGUgcmVncmVzc2lvbiAtPiBjYyAKc3RhYmxlLgoKMi4gTXkgcGF0Y2ggd2l0 aCB0aGUgcGFuZWwgcXVpcmsgaGFuZGxpbmcgZm9yIHJlLWZpeGluZyB0aGF0IEZETyBidWcgCnRo YXQgb3JpZ2luYWxseSB3YXMgZml4ZWQgYnkgdGhlIHJldmVydGVkIGNvbW1pdCAtPiBjYyBzdGFi bGUuCgozLiBUaGlzIHN0dWZmIHByb3Blcmx5IHNwbGl0IHVwIGludG8gZHAtaGVscGVyIGV0Yy4s IG5vdCBmb3Igc3RhYmxlLgoKMSsyIHdvdWxkIGJlIGNlcnRhaW5seSBzaW1wbGUgZW5vdWdoIGZv ciBzdGFibGUuCgotbWFyaW8KCj4KPj4gK3sKPj4gKwlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2Rw ID0gaW50ZWxfYXR0YWNoZWRfZHAoY29ubmVjdG9yKTsKPj4gKwl1aW50OF90ICpkcGNkID0gaW50 ZWxfZHAtPmRwY2Q7Cj4+ICsJdWludDhfdCB0eXBlOwo+PiArCWludCBicGMgPSAwOwo+PiArCj4+ ICsJLyoKPj4gKwkgKiBJZiB0aGVyZSBpc24ndCBhbnkgZG93bnN0cmVhbSBwb3J0IHRoZW4gdGhp cyBpcyBhIG5hdGl2ZSBEUCBzaW5rLgo+PiArCSAqIFRoZSBzdGFuZGFyZCByZXF1aXJlcyB0byBm YWxsIGJhY2sgdG8gNiBicGMgLyAxOCBicHAgZm9yIG5hdGl2ZSBEUAo+PiArCSAqIHNpbmtzIHdo aWNoIGRvbid0IHByb3ZpZGUgYml0IGRlcHRoIHZpYSBFRElELgo+PiArCSAqLwo+PiArCWlmICgh KGRwY2RbRFBfRE9XTlNUUkVBTVBPUlRfUFJFU0VOVF0gJiBEUF9EV05fU1RSTV9QT1JUX1BSRVNF TlQpKQo+PiArCQlyZXR1cm4gNjsKPj4gKwo+PiArCS8qIEJhc2ljIHR5cGUgb2YgZG93bnN0cmVh bSBwb3J0cyAqLwo+PiArCXR5cGUgPSBkcGNkW0RQX0RPV05TVFJFQU1QT1JUX1BSRVNFTlRdICYg RFBfRFdOX1NUUk1fUE9SVF9UWVBFX01BU0s7Cj4+ICsKPj4gKwkvKgo+PiArCSAqIExhY2tpbmcg b3RoZXIgaW5mbywgOCBicGMgaXMgYSByZWFzb25hYmxlIHN0YXJ0IGZvciBhbmFsb2cgb3V0Lgo+ PiArCSAqIEUuZy4sIEFwcGxlIE1pbmlEUC0+VkdBIGFkYXB0b3JzIGRvbid0IHByb3ZpZGUgbW9y ZSBpbmZvIHRoYW4KPj4gKwkgKiB0aGF0LiBEZXNwaXRlIGhhdmluZyBEUF9EUENEX1JFViA9PSAw eDExIHRoZWlyIGRvd25zdHJlYW1fcG9ydHMKPj4gKwkgKiBkZXNjcmlwdG9yIGlzIGVtcHR5IC0g YWxsIHplcm9zLgo+PiArCSAqLwo+PiArCWlmICh0eXBlID09IERQX0RXTl9TVFJNX1BPUlRfVFlQ RV9BTkFMT0cpCj4+ICsJCWJwYyA9IDg7Cj4+ICsKPj4gKwlpZiAoZHBjZFtEUF9EUENEX1JFVl0g PCAweDExKQo+PiArCQlyZXR1cm4gYnBjOwo+PiArCj4+ICsJLyogUmV2IDEuMSsuIE1vcmUgc3Bl Y2lmaWMgZG93bnN0cmVhbSBwb3J0IHR5cGUgYXZhaWxhYmxlICovCj4+ICsJdHlwZSA9IGludGVs X2RwLT5kb3duc3RyZWFtX3BvcnRzWzBdICYgRFBfRFNfUE9SVF9UWVBFX01BU0s7Cj4+ICsKPj4g KwkvKiBWR0EsIERWSSBhbmQgSERNSSBzdXBwb3J0IGF0IGxlYXN0IDggYnBjICovCj4+ICsJaWYg KHR5cGUgPT0gRFBfRFNfUE9SVF9UWVBFX1ZHQSB8fCB0eXBlID09IERQX0RTX1BPUlRfVFlQRV9E VkkgfHwKPj4gKwkgICAgdHlwZSA9PSBEUF9EU19QT1JUX1RZUEVfSERNSSkKPj4gKwkJYnBjID0g ODsKPj4gKwo+PiArCS8qIEFzIG9mIERQIGludGVyb3AgdjEuMWEgb25seSBWR0EgZGVmaW5lcyBh ZGRpdGlvbmFsIGRldGFpbCAqLwo+PiArCWlmICh0eXBlICE9IERQX0RTX1BPUlRfVFlQRV9WR0Eg fHwKPj4gKwkgICAgIShkcGNkW0RQX0RPV05TVFJFQU1QT1JUX1BSRVNFTlRdICYgRFBfREVUQUlM RURfQ0FQX0lORk9fQVZBSUxBQkxFKSkKPj4gKwkJcmV0dXJuIGJwYzsKPj4gKwo+PiArCS8qIFZH QSB3aXRoIERQX0RFVEFJTEVEX0NBUF9JTkZPX0FWQUlMQUJMRSBwcm92aWRlcyBicGMgaW5mbyAq Lwo+PiArCXN3aXRjaCAoaW50ZWxfZHAtPmRvd25zdHJlYW1fcG9ydHNbMl0gJiBEUF9EU19WR0Ff TUFYX0JQQ19NQVNLKSB7Cj4+ICsJY2FzZSBEUF9EU19WR0FfOEJQQzoKPj4gKwkJcmV0dXJuIDg7 Cj4+ICsJY2FzZSBEUF9EU19WR0FfMTBCUEM6Cj4+ICsJCXJldHVybiAxMDsKPj4gKwljYXNlIERQ X0RTX1ZHQV8xMkJQQzoKPj4gKwkJcmV0dXJuIDEyOwo+PiArCWNhc2UgRFBfRFNfVkdBXzE2QlBD Ogo+PiArCQlyZXR1cm4gMTY7Cj4+ICsJfQo+PiArCj4+ICsJcmV0dXJuIGJwYzsKPj4gK30KPj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPj4gaW5kZXggMzE1Yzk3MS4uYmRjOTc3YyAxMDA2NDQK Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPj4gQEAgLTEzMDYsNiArMTMwNiw3IEBAIHZvaWQg aW50ZWxfZWRwX3BhbmVsX29mZihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKTsKPj4gICB2b2lk IGludGVsX2RwX2FkZF9wcm9wZXJ0aWVzKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsIHN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpOwo+PiAgIHZvaWQgaW50ZWxfZHBfbXN0X3N1c3Bl bmQoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4+ICAgdm9pZCBpbnRlbF9kcF9tc3RfcmVzdW1l KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+PiAraW50IGludGVsX2RwX3NpbmtfYnBjKHN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpOwo+PiAgIGludCBpbnRlbF9kcF9tYXhfbGlua19y YXRlKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApOwo+PiAgIGludCBpbnRlbF9kcF9yYXRlX3Nl bGVjdChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLCBpbnQgcmF0ZSk7Cj4+ICAgdm9pZCBpbnRl bF9kcF9ob3RfcGx1ZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2Rlcik7Cj4+IC0t Cj4+IDIuNy4wCj4+Cj4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRl dmVsCg==