From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan De Oliveira Subject: Re: [PATCH 7/8] drm/i915: Move max voltage and pre emphasis to intel_dp_link_training.c Date: Mon, 19 Oct 2015 08:59:39 +0300 Message-ID: <1445234379.3042.22.camel@gmail.com> References: <1441715280-11623-1-git-send-email-ander.conselvan.de.oliveira@intel.com> <1441715280-11623-8-git-send-email-ander.conselvan.de.oliveira@intel.com> <20150908130147.GE29811@intel.com> <56247C43.8040307@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pa0-f41.google.com (mail-pa0-f41.google.com [209.85.220.41]) by gabe.freedesktop.org (Postfix) with ESMTPS id 12CB36E685 for ; Sun, 18 Oct 2015 22:59:44 -0700 (PDT) Received: by padhk11 with SMTP id hk11so19342609pad.1 for ; Sun, 18 Oct 2015 22:59:43 -0700 (PDT) In-Reply-To: <56247C43.8040307@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Thulasimani, Sivakumar" , Ville =?ISO-8859-1?Q?Syrj=E4l=E4?= Cc: jani.nikula@intel.com, intel-gfx@lists.freedesktop.org, "Bride, Jim" List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCAyMDE1LTEwLTE5IGF0IDEwOjQ0ICswNTMwLCBUaHVsYXNpbWFuaSwgU2l2YWt1bWFy IHdyb3RlOgo+IEFzIGFuIEZZSSwgYm90aCBvZiB0aGVzZSBmdW5jdGlvbnMgbmVlZCB0byBiZSBy ZXdyaXR0ZW4gd2hlbiB3ZSB3YW50IHRoZSAKPiBjb2RlIHRvIGJlCj4gY29tcGxpYW50IHRvIERQ IHNwZWMuCj4gV2Ugc2hvdWxkIHJlYWQgdGhlIHByZS1lbXBoYXNpcyBnaXZlbiBieSB0aGUgcGFu ZWwgYW5kIGlmIHZ3aW5nIGV4ZWVkcyAKPiBtYXggdmFsdWUKPiB3ZSBzaG91bGQgdXNlIHRoZSBt YXggdnN3aW5nIHN1cHBvcnRlZCBmb3IgdGhhdCBwcmUtZW1waGFzaXMgYnV0IGN1cnJlbnQgCj4g Y29kZQo+IGlzIG9wcG9zaXRlIG9mIHRoYXQuICB5b3UgY2FuIHJlYWQgbW9yZSBkZXRhaWxlZCBs b2dpYyBpbiBzZWN0aW9uIAo+ICIzLjUuMS4yIExpbmsgVHJhaW5pbmciCj4gaW4gRFAgU3BlYy4K ClllYWgsIHRoZSBzcGVjIGlzIHByZXR0eSBjbGVhciBvbiB0aGF0LgoKCj4gYnkgdGhlIHdheSBz YW1lIGlzIHRydWUgZm9yIG11Y2ggb2YgdGhlIGxpbmsgdHJhaW5pbmcgbG9naWMgYW5kIHJlbGF0 ZWQgCj4gZnVuY3Rpb25zCgpEbyB5b3UgaGF2ZSBhIGxpc3Qgb2Ygb3RoZXIgc3BlYyB2aW9sYXRp b25zPyBJJ20gYXdhcmUgdGhhdCB3ZSBkb24ndCBmYWxsYmFjayB0bwpsb3dlciBiYW5kd2lkdGgg d2hlbiBsaW5rIHRyYWluaW5nIGZhaWxzLCBidXQgdGhhdCBwcm9ibGVtIGNhbid0IGJlIHNvbHZl ZCB3aXRoCnRoZSBkcml2ZXIgYWxvbmUuIFNpbmNlIHdlIGFscmVhZHkgcGljayB0aGUgbG93ZXN0 IGJhbmR3aWR0aCB0aGF0IGNhbiBzdXBwb3J0CnRoZSBtb2RlIGNob3NlbiBieSB1c2Vyc3BhY2Us IHRoZSBmYWxsYmFjayBuZWVkcyB0byBhbGxvdyBpdCB0byBjaG9vc2UgYSBuZXcKbW9kZS4KClRo ZXJlJ3MgYmVlbiBzb21lIGRpc2N1c3Npb24gb24gaG93IHRvIHNvbHZlIHRoaXMsIGJ1dCBJIGRv bid0IGtub3cgaWYgdGhlcmUgd2FzCmFueSBjb25jbHVzaW9ucy4gT25lIG9mIHRoZSBwb3NzaWJp bGl0aWVzIHdhcyB0byBzZW5kIGFuIHVldmVudCB0byB1c2Vyc3BhY2UgdG8KdGVsbCBpdCB0byB0 byBjaG9vc2UgYSBzbWFsbGVyIG1vZGUuCgo+IGkgZG9uJ3Qga25vdyBpZiBzdWNoIHJld3JpdGlu ZyBzaG91bGQgYmUgZG9uZSBhZnRlciBmaXhpbmcgdGhvc2Ugb3IgCj4gYmVmb3JlIDooLgoKSSBo YXZlIHBvc3RlZCBhIG5ldyB2ZXJzaW9uIG9mIHRoZSByZWZhY3RvcmluZyBwYXRjaGVzIHdoaWNo IEkgYmVsaWV2ZWQgYXJlCnJlYWR5IHRvIGdvLiBTbyBJJ2QgZ28gZm9yIGdldHRpbmcgdGhvc2Ug Y2hhbmdlcyBpbiBhbmQgZml4IHRoZSBtYXggdm9sdGFnZSB2cy4KcHJlLWVtcGhhc2lzIHByb2Js ZW0gb24gdG9wIG9mIHRoYXQuCgpUaGFua3MsCkFuZGVyCgo+IAo+IHJlZ2FyZHMsCj4gU2l2YWt1 bWFyLgo+IAo+IE9uIDkvOC8yMDE1IDY6MzEgUE0sIFZpbGxlIFN5cmrDpGzDpCB3cm90ZToKPiA+ IE9uIFR1ZSwgU2VwIDA4LCAyMDE1IGF0IDAzOjI3OjU4UE0gKzAzMDAsIEFuZGVyIENvbnNlbHZh biBkZSBPbGl2ZWlyYSB3cm90ZToKPiA+ID4gU28gbGluayB0cmFpbmluZyB0ZXN0cyBjYW4gdXNl IHJlYWwgaGFyZHdhcmUgbGltaXRzLgo+ID4gVGhlc2UgbmVlZCB0byBiZSBrZXB0IGluIHN5bmMg d2l0aCB0aGUgX3NpZ25hbF9sZXZlbHMoKSBmdW5jdGlvbnMsIHNvCj4gPiBtb3ZpbmcgdGhlbSB0 byBhIHNlcGFyYXRlIGZpbGUgaXMgYSBiaXQgcXVlc3Rpb25hYmxlLgo+ID4gCj4gPiBJIHN1Z2dl c3QgdGhhdCB3ZSBzaG91bGQgYXR0ZW1wdCB0byByZXN0cnVjdHVyZSB0aGlzIGluZm9ybWF0aW9u IGFzCj4gPiBzb21lIGtpbmQgb2YgdGFibGVzLCBmcm9tIHdoaWNoIHdlIGNhbiBsb29rIHVwIHRo ZSBtYXggdmFsdWVzIGFzCj4gPiB3ZWxsIGFzIHRoZSBoYXJkd2FyZSBzcGVjaWZpYyB2YWx1ZXMg Zm9yIGVhY2ggc2V0dGluZy4KPiA+IAo+ID4gVGhhdCBvZiBjb3Vyc2Ugd29uJ3Qgc29sdmUgeW91 ciBwcm9ibGVtLiBTbyBmYXIgSSBkb24ndCBrbm93IHdoYXQgeW91cgo+ID4gdGVzdCBldmVuIGRv ZXMgYW5kIHdoeSBkb2VzIGl0IG5lZWQgdGhpcyBpbmZvcm1hdGlvbiwgc28gSSBndWVzcyBJJ2xs Cj4gPiBuZWVkIHRvIHJlYWQgb24uLi4KPiA+IAo+ID4gPiAtLS0KPiA+ID4gICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcC5jICAgICAgICAgICAgICAgfCA5OSAtLS0tLS0tLS0tLS0tLS0t LS0tLS0KPiA+ID4gLS0tLS0tCj4gPiA+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBf bGlua190cmFpbmluZy5jIHwgOTIKPiA+ID4gKysrKysrKysrKysrKysrKysrKysrKysrKwo+ID4g PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICAgICAgICAgICB8IDExICst LQo+ID4gPiAgIDMgZmlsZXMgY2hhbmdlZCwgOTkgaW5zZXJ0aW9ucygrKSwgMTAzIGRlbGV0aW9u cygtKQo+ID4gPiAKPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RwLmMKPiA+ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gPiA+IGluZGV4 IDU3NzgwNTkuLmRhODdhZWYgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RwLmMKPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+ ID4gPiBAQCAtMTExLDEzICsxMTEsNiBAQCBzdGF0aWMgYm9vbCBpc19lZHAoc3RydWN0IGludGVs X2RwICppbnRlbF9kcCkKPiA+ID4gICAJcmV0dXJuIGludGVsX2RpZ19wb3J0LT5iYXNlLnR5cGUg PT0gSU5URUxfT1VUUFVUX0VEUDsKPiA+ID4gICB9Cj4gPiA+ICAgCj4gPiA+IC1zdGF0aWMgc3Ry dWN0IGRybV9kZXZpY2UgKmludGVsX2RwX3RvX2RldihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2Rw KQo+ID4gPiAtewo+ID4gPiAtCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19w b3J0ID0KPiA+ID4gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApOwo+ID4gPiAtCj4gPiA+IC0JcmV0 dXJuIGludGVsX2RpZ19wb3J0LT5iYXNlLmJhc2UuZGV2Owo+ID4gPiAtfQo+ID4gPiAtCj4gPiA+ ICAgc3RhdGljIHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfYXR0YWNoZWRfZHAoc3RydWN0IGRybV9j b25uZWN0b3IKPiA+ID4gKmNvbm5lY3RvcikKPiA+ID4gICB7Cj4gPiA+ICAgCXJldHVybiBlbmNf dG9faW50ZWxfZHAoJmludGVsX2F0dGFjaGVkX2VuY29kZXIoY29ubmVjdG9yKQo+ID4gPiAtPmJh c2UpOwo+ID4gPiBAQCAtMzA1NCw5OCArMzA0Nyw2IEBAIGludGVsX2RwX2dldF9saW5rX3N0YXR1 cyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAo+ID4gPiB1aW50OF90IGxpbmtfc3RhdHVzW0RQ X0xJTktfCj4gPiA+ICAgCQkJCSAgICAgICBEUF9MSU5LX1NUQVRVU19TSVpFKSA9PQo+ID4gPiBE UF9MSU5LX1NUQVRVU19TSVpFOwo+ID4gPiAgIH0KPiA+ID4gICAKPiA+ID4gLS8qIFRoZXNlIGFy ZSBzb3VyY2Utc3BlY2lmaWMgdmFsdWVzLiAqLwo+ID4gPiAtdWludDhfdAo+ID4gPiAtaW50ZWxf ZHBfdm9sdGFnZV9tYXgoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiA+ID4gLXsKPiA+ID4g LQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50ZWxfZHBfdG9fZGV2KGludGVsX2RwKTsKPiA+ ID4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRl Owo+ID4gPiAtCWVudW0gcG9ydCBwb3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApLT5wb3J0 Owo+ID4gPiAtCj4gPiA+IC0JaWYgKElTX0JST1hUT04oZGV2KSkKPiA+ID4gLQkJcmV0dXJuIERQ X1RSQUlOX1ZPTFRBR0VfU1dJTkdfTEVWRUxfMzsKPiA+ID4gLQllbHNlIGlmIChJTlRFTF9JTkZP KGRldiktPmdlbiA+PSA5KSB7Cj4gPiA+IC0JCWlmIChkZXZfcHJpdi0+ZWRwX2xvd192c3dpbmcg JiYgcG9ydCA9PSBQT1JUX0EpCj4gPiA+IC0JCQlyZXR1cm4gRFBfVFJBSU5fVk9MVEFHRV9TV0lO R19MRVZFTF8zOwo+ID4gPiAtCQlyZXR1cm4gRFBfVFJBSU5fVk9MVEFHRV9TV0lOR19MRVZFTF8y Owo+ID4gPiAtCX0gZWxzZSBpZiAoSVNfVkFMTEVZVklFVyhkZXYpKQo+ID4gPiAtCQlyZXR1cm4g RFBfVFJBSU5fVk9MVEFHRV9TV0lOR19MRVZFTF8zOwo+ID4gPiAtCWVsc2UgaWYgKElTX0dFTjco ZGV2KSAmJiBwb3J0ID09IFBPUlRfQSkKPiA+ID4gLQkJcmV0dXJuIERQX1RSQUlOX1ZPTFRBR0Vf U1dJTkdfTEVWRUxfMjsKPiA+ID4gLQllbHNlIGlmIChIQVNfUENIX0NQVChkZXYpICYmIHBvcnQg IT0gUE9SVF9BKQo+ID4gPiAtCQlyZXR1cm4gRFBfVFJBSU5fVk9MVEFHRV9TV0lOR19MRVZFTF8z Owo+ID4gPiAtCWVsc2UKPiA+ID4gLQkJcmV0dXJuIERQX1RSQUlOX1ZPTFRBR0VfU1dJTkdfTEVW RUxfMjsKPiA+ID4gLX0KPiA+ID4gLQo+ID4gPiAtdWludDhfdAo+ID4gPiAtaW50ZWxfZHBfcHJl X2VtcGhhc2lzX21heChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLCB1aW50OF90Cj4gPiA+IHZv bHRhZ2Vfc3dpbmcpCj4gPiA+IC17Cj4gPiA+IC0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGlu dGVsX2RwX3RvX2RldihpbnRlbF9kcCk7Cj4gPiA+IC0JZW51bSBwb3J0IHBvcnQgPSBkcF90b19k aWdfcG9ydChpbnRlbF9kcCktPnBvcnQ7Cj4gPiA+IC0KPiA+ID4gLQlpZiAoSU5URUxfSU5GTyhk ZXYpLT5nZW4gPj0gOSkgewo+ID4gPiAtCQlzd2l0Y2ggKHZvbHRhZ2Vfc3dpbmcgJiBEUF9UUkFJ Tl9WT0xUQUdFX1NXSU5HX01BU0spIHsKPiA+ID4gLQkJY2FzZSBEUF9UUkFJTl9WT0xUQUdFX1NX SU5HX0xFVkVMXzA6Cj4gPiA+IC0JCQlyZXR1cm4gRFBfVFJBSU5fUFJFX0VNUEhfTEVWRUxfMzsK PiA+ID4gLQkJY2FzZSBEUF9UUkFJTl9WT0xUQUdFX1NXSU5HX0xFVkVMXzE6Cj4gPiA+IC0JCQly ZXR1cm4gRFBfVFJBSU5fUFJFX0VNUEhfTEVWRUxfMjsKPiA+ID4gLQkJY2FzZSBEUF9UUkFJTl9W T0xUQUdFX1NXSU5HX0xFVkVMXzI6Cj4gPiA+IC0JCQlyZXR1cm4gRFBfVFJBSU5fUFJFX0VNUEhf TEVWRUxfMTsKPiA+ID4gLQkJY2FzZSBEUF9UUkFJTl9WT0xUQUdFX1NXSU5HX0xFVkVMXzM6Cj4g PiA+IC0JCQlyZXR1cm4gRFBfVFJBSU5fUFJFX0VNUEhfTEVWRUxfMDsKPiA+ID4gLQkJZGVmYXVs dDoKPiA+ID4gLQkJCXJldHVybiBEUF9UUkFJTl9QUkVfRU1QSF9MRVZFTF8wOwo+ID4gPiAtCQl9 Cj4gPiA+IC0JfSBlbHNlIGlmIChJU19IQVNXRUxMKGRldikgfHwgSVNfQlJPQURXRUxMKGRldikp IHsKPiA+ID4gLQkJc3dpdGNoICh2b2x0YWdlX3N3aW5nICYgRFBfVFJBSU5fVk9MVEFHRV9TV0lO R19NQVNLKSB7Cj4gPiA+IC0JCWNhc2UgRFBfVFJBSU5fVk9MVEFHRV9TV0lOR19MRVZFTF8wOgo+ ID4gPiAtCQkJcmV0dXJuIERQX1RSQUlOX1BSRV9FTVBIX0xFVkVMXzM7Cj4gPiA+IC0JCWNhc2Ug RFBfVFJBSU5fVk9MVEFHRV9TV0lOR19MRVZFTF8xOgo+ID4gPiAtCQkJcmV0dXJuIERQX1RSQUlO X1BSRV9FTVBIX0xFVkVMXzI7Cj4gPiA+IC0JCWNhc2UgRFBfVFJBSU5fVk9MVEFHRV9TV0lOR19M RVZFTF8yOgo+ID4gPiAtCQkJcmV0dXJuIERQX1RSQUlOX1BSRV9FTVBIX0xFVkVMXzE7Cj4gPiA+ IC0JCWNhc2UgRFBfVFJBSU5fVk9MVEFHRV9TV0lOR19MRVZFTF8zOgo+ID4gPiAtCQlkZWZhdWx0 Ogo+ID4gPiAtCQkJcmV0dXJuIERQX1RSQUlOX1BSRV9FTVBIX0xFVkVMXzA7Cj4gPiA+IC0JCX0K PiA+ID4gLQl9IGVsc2UgaWYgKElTX1ZBTExFWVZJRVcoZGV2KSkgewo+ID4gPiAtCQlzd2l0Y2gg KHZvbHRhZ2Vfc3dpbmcgJiBEUF9UUkFJTl9WT0xUQUdFX1NXSU5HX01BU0spIHsKPiA+ID4gLQkJ Y2FzZSBEUF9UUkFJTl9WT0xUQUdFX1NXSU5HX0xFVkVMXzA6Cj4gPiA+IC0JCQlyZXR1cm4gRFBf VFJBSU5fUFJFX0VNUEhfTEVWRUxfMzsKPiA+ID4gLQkJY2FzZSBEUF9UUkFJTl9WT0xUQUdFX1NX SU5HX0xFVkVMXzE6Cj4gPiA+IC0JCQlyZXR1cm4gRFBfVFJBSU5fUFJFX0VNUEhfTEVWRUxfMjsK PiA+ID4gLQkJY2FzZSBEUF9UUkFJTl9WT0xUQUdFX1NXSU5HX0xFVkVMXzI6Cj4gPiA+IC0JCQly ZXR1cm4gRFBfVFJBSU5fUFJFX0VNUEhfTEVWRUxfMTsKPiA+ID4gLQkJY2FzZSBEUF9UUkFJTl9W T0xUQUdFX1NXSU5HX0xFVkVMXzM6Cj4gPiA+IC0JCWRlZmF1bHQ6Cj4gPiA+IC0JCQlyZXR1cm4g RFBfVFJBSU5fUFJFX0VNUEhfTEVWRUxfMDsKPiA+ID4gLQkJfQo+ID4gPiAtCX0gZWxzZSBpZiAo SVNfR0VONyhkZXYpICYmIHBvcnQgPT0gUE9SVF9BKSB7Cj4gPiA+IC0JCXN3aXRjaCAodm9sdGFn ZV9zd2luZyAmIERQX1RSQUlOX1ZPTFRBR0VfU1dJTkdfTUFTSykgewo+ID4gPiAtCQljYXNlIERQ X1RSQUlOX1ZPTFRBR0VfU1dJTkdfTEVWRUxfMDoKPiA+ID4gLQkJCXJldHVybiBEUF9UUkFJTl9Q UkVfRU1QSF9MRVZFTF8yOwo+ID4gPiAtCQljYXNlIERQX1RSQUlOX1ZPTFRBR0VfU1dJTkdfTEVW RUxfMToKPiA+ID4gLQkJY2FzZSBEUF9UUkFJTl9WT0xUQUdFX1NXSU5HX0xFVkVMXzI6Cj4gPiA+ IC0JCQlyZXR1cm4gRFBfVFJBSU5fUFJFX0VNUEhfTEVWRUxfMTsKPiA+ID4gLQkJZGVmYXVsdDoK PiA+ID4gLQkJCXJldHVybiBEUF9UUkFJTl9QUkVfRU1QSF9MRVZFTF8wOwo+ID4gPiAtCQl9Cj4g PiA+IC0JfSBlbHNlIHsKPiA+ID4gLQkJc3dpdGNoICh2b2x0YWdlX3N3aW5nICYgRFBfVFJBSU5f Vk9MVEFHRV9TV0lOR19NQVNLKSB7Cj4gPiA+IC0JCWNhc2UgRFBfVFJBSU5fVk9MVEFHRV9TV0lO R19MRVZFTF8wOgo+ID4gPiAtCQkJcmV0dXJuIERQX1RSQUlOX1BSRV9FTVBIX0xFVkVMXzI7Cj4g PiA+IC0JCWNhc2UgRFBfVFJBSU5fVk9MVEFHRV9TV0lOR19MRVZFTF8xOgo+ID4gPiAtCQkJcmV0 dXJuIERQX1RSQUlOX1BSRV9FTVBIX0xFVkVMXzI7Cj4gPiA+IC0JCWNhc2UgRFBfVFJBSU5fVk9M VEFHRV9TV0lOR19MRVZFTF8yOgo+ID4gPiAtCQkJcmV0dXJuIERQX1RSQUlOX1BSRV9FTVBIX0xF VkVMXzE7Cj4gPiA+IC0JCWNhc2UgRFBfVFJBSU5fVk9MVEFHRV9TV0lOR19MRVZFTF8zOgo+ID4g PiAtCQlkZWZhdWx0Ogo+ID4gPiAtCQkJcmV0dXJuIERQX1RSQUlOX1BSRV9FTVBIX0xFVkVMXzA7 Cj4gPiA+IC0JCX0KPiA+ID4gLQl9Cj4gPiA+IC19Cj4gPiA+IC0KPiA+ID4gICBzdGF0aWMgdWlu dDMyX3Qgdmx2X3NpZ25hbF9sZXZlbHMoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiA+ID4g ICB7Cj4gPiA+ICAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9kcF90b19kZXYoaW50 ZWxfZHApOwo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBf bGlua190cmFpbmluZy5jCj4gPiA+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbGlu a190cmFpbmluZy5jCj4gPiA+IGluZGV4IGYzM2NiYmIuLjhkMjdkY2UgMTAwNjQ0Cj4gPiA+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX2xpbmtfdHJhaW5pbmcuYwo+ID4gPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9saW5rX3RyYWluaW5nLmMKPiA+ID4g QEAgLTIzLDYgKzIzLDk4IEBACj4gPiA+ICAgCj4gPiA+ICAgI2luY2x1ZGUgImludGVsX2Rydi5o Igo+ID4gPiAgIAo+ID4gPiArLyogVGhlc2UgYXJlIHNvdXJjZS1zcGVjaWZpYyB2YWx1ZXMuICov Cj4gPiA+ICtzdGF0aWMgdWludDhfdAo+ID4gPiAraW50ZWxfZHBfdm9sdGFnZV9tYXgoc3RydWN0 IGludGVsX2RwICppbnRlbF9kcCkKPiA+ID4gK3sKPiA+ID4gKwlzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2ID0gaW50ZWxfZHBfdG9fZGV2KGludGVsX2RwKTsKPiA+ID4gKwlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ID4gPiArCWVudW0gcG9ydCBw b3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApLT5wb3J0Owo+ID4gPiArCj4gPiA+ICsJaWYg KElTX0JST1hUT04oZGV2KSkKPiA+ID4gKwkJcmV0dXJuIERQX1RSQUlOX1ZPTFRBR0VfU1dJTkdf TEVWRUxfMzsKPiA+ID4gKwllbHNlIGlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA5KSB7Cj4g PiA+ICsJCWlmIChkZXZfcHJpdi0+ZWRwX2xvd192c3dpbmcgJiYgcG9ydCA9PSBQT1JUX0EpCj4g PiA+ICsJCQlyZXR1cm4gRFBfVFJBSU5fVk9MVEFHRV9TV0lOR19MRVZFTF8zOwo+ID4gPiArCQly ZXR1cm4gRFBfVFJBSU5fVk9MVEFHRV9TV0lOR19MRVZFTF8yOwo+ID4gPiArCX0gZWxzZSBpZiAo SVNfVkFMTEVZVklFVyhkZXYpKQo+ID4gPiArCQlyZXR1cm4gRFBfVFJBSU5fVk9MVEFHRV9TV0lO R19MRVZFTF8zOwo+ID4gPiArCWVsc2UgaWYgKElTX0dFTjcoZGV2KSAmJiBwb3J0ID09IFBPUlRf QSkKPiA+ID4gKwkJcmV0dXJuIERQX1RSQUlOX1ZPTFRBR0VfU1dJTkdfTEVWRUxfMjsKPiA+ID4g KwllbHNlIGlmIChIQVNfUENIX0NQVChkZXYpICYmIHBvcnQgIT0gUE9SVF9BKQo+ID4gPiArCQly ZXR1cm4gRFBfVFJBSU5fVk9MVEFHRV9TV0lOR19MRVZFTF8zOwo+ID4gPiArCWVsc2UKPiA+ID4g KwkJcmV0dXJuIERQX1RSQUlOX1ZPTFRBR0VfU1dJTkdfTEVWRUxfMjsKPiA+ID4gK30KPiA+ID4g Kwo+ID4gPiArc3RhdGljIHVpbnQ4X3QKPiA+ID4gK2ludGVsX2RwX3ByZV9lbXBoYXNpc19tYXgo c3RydWN0IGludGVsX2RwICppbnRlbF9kcCwgdWludDhfdAo+ID4gPiB2b2x0YWdlX3N3aW5nKQo+ ID4gPiArewo+ID4gPiArCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9kcF90b19kZXYo aW50ZWxfZHApOwo+ID4gPiArCWVudW0gcG9ydCBwb3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxf ZHApLT5wb3J0Owo+ID4gPiArCj4gPiA+ICsJaWYgKElOVEVMX0lORk8oZGV2KS0+Z2VuID49IDkp IHsKPiA+ID4gKwkJc3dpdGNoICh2b2x0YWdlX3N3aW5nICYgRFBfVFJBSU5fVk9MVEFHRV9TV0lO R19NQVNLKSB7Cj4gPiA+ICsJCWNhc2UgRFBfVFJBSU5fVk9MVEFHRV9TV0lOR19MRVZFTF8wOgo+ ID4gPiArCQkJcmV0dXJuIERQX1RSQUlOX1BSRV9FTVBIX0xFVkVMXzM7Cj4gPiA+ICsJCWNhc2Ug RFBfVFJBSU5fVk9MVEFHRV9TV0lOR19MRVZFTF8xOgo+ID4gPiArCQkJcmV0dXJuIERQX1RSQUlO X1BSRV9FTVBIX0xFVkVMXzI7Cj4gPiA+ICsJCWNhc2UgRFBfVFJBSU5fVk9MVEFHRV9TV0lOR19M RVZFTF8yOgo+ID4gPiArCQkJcmV0dXJuIERQX1RSQUlOX1BSRV9FTVBIX0xFVkVMXzE7Cj4gPiA+ ICsJCWNhc2UgRFBfVFJBSU5fVk9MVEFHRV9TV0lOR19MRVZFTF8zOgo+ID4gPiArCQkJcmV0dXJu IERQX1RSQUlOX1BSRV9FTVBIX0xFVkVMXzA7Cj4gPiA+ICsJCWRlZmF1bHQ6Cj4gPiA+ICsJCQly ZXR1cm4gRFBfVFJBSU5fUFJFX0VNUEhfTEVWRUxfMDsKPiA+ID4gKwkJfQo+ID4gPiArCX0gZWxz ZSBpZiAoSVNfSEFTV0VMTChkZXYpIHx8IElTX0JST0FEV0VMTChkZXYpKSB7Cj4gPiA+ICsJCXN3 aXRjaCAodm9sdGFnZV9zd2luZyAmIERQX1RSQUlOX1ZPTFRBR0VfU1dJTkdfTUFTSykgewo+ID4g PiArCQljYXNlIERQX1RSQUlOX1ZPTFRBR0VfU1dJTkdfTEVWRUxfMDoKPiA+ID4gKwkJCXJldHVy biBEUF9UUkFJTl9QUkVfRU1QSF9MRVZFTF8zOwo+ID4gPiArCQljYXNlIERQX1RSQUlOX1ZPTFRB R0VfU1dJTkdfTEVWRUxfMToKPiA+ID4gKwkJCXJldHVybiBEUF9UUkFJTl9QUkVfRU1QSF9MRVZF TF8yOwo+ID4gPiArCQljYXNlIERQX1RSQUlOX1ZPTFRBR0VfU1dJTkdfTEVWRUxfMjoKPiA+ID4g KwkJCXJldHVybiBEUF9UUkFJTl9QUkVfRU1QSF9MRVZFTF8xOwo+ID4gPiArCQljYXNlIERQX1RS QUlOX1ZPTFRBR0VfU1dJTkdfTEVWRUxfMzoKPiA+ID4gKwkJZGVmYXVsdDoKPiA+ID4gKwkJCXJl dHVybiBEUF9UUkFJTl9QUkVfRU1QSF9MRVZFTF8wOwo+ID4gPiArCQl9Cj4gPiA+ICsJfSBlbHNl IGlmIChJU19WQUxMRVlWSUVXKGRldikpIHsKPiA+ID4gKwkJc3dpdGNoICh2b2x0YWdlX3N3aW5n ICYgRFBfVFJBSU5fVk9MVEFHRV9TV0lOR19NQVNLKSB7Cj4gPiA+ICsJCWNhc2UgRFBfVFJBSU5f Vk9MVEFHRV9TV0lOR19MRVZFTF8wOgo+ID4gPiArCQkJcmV0dXJuIERQX1RSQUlOX1BSRV9FTVBI X0xFVkVMXzM7Cj4gPiA+ICsJCWNhc2UgRFBfVFJBSU5fVk9MVEFHRV9TV0lOR19MRVZFTF8xOgo+ ID4gPiArCQkJcmV0dXJuIERQX1RSQUlOX1BSRV9FTVBIX0xFVkVMXzI7Cj4gPiA+ICsJCWNhc2Ug RFBfVFJBSU5fVk9MVEFHRV9TV0lOR19MRVZFTF8yOgo+ID4gPiArCQkJcmV0dXJuIERQX1RSQUlO X1BSRV9FTVBIX0xFVkVMXzE7Cj4gPiA+ICsJCWNhc2UgRFBfVFJBSU5fVk9MVEFHRV9TV0lOR19M RVZFTF8zOgo+ID4gPiArCQlkZWZhdWx0Ogo+ID4gPiArCQkJcmV0dXJuIERQX1RSQUlOX1BSRV9F TVBIX0xFVkVMXzA7Cj4gPiA+ICsJCX0KPiA+ID4gKwl9IGVsc2UgaWYgKElTX0dFTjcoZGV2KSAm JiBwb3J0ID09IFBPUlRfQSkgewo+ID4gPiArCQlzd2l0Y2ggKHZvbHRhZ2Vfc3dpbmcgJiBEUF9U UkFJTl9WT0xUQUdFX1NXSU5HX01BU0spIHsKPiA+ID4gKwkJY2FzZSBEUF9UUkFJTl9WT0xUQUdF X1NXSU5HX0xFVkVMXzA6Cj4gPiA+ICsJCQlyZXR1cm4gRFBfVFJBSU5fUFJFX0VNUEhfTEVWRUxf MjsKPiA+ID4gKwkJY2FzZSBEUF9UUkFJTl9WT0xUQUdFX1NXSU5HX0xFVkVMXzE6Cj4gPiA+ICsJ CWNhc2UgRFBfVFJBSU5fVk9MVEFHRV9TV0lOR19MRVZFTF8yOgo+ID4gPiArCQkJcmV0dXJuIERQ X1RSQUlOX1BSRV9FTVBIX0xFVkVMXzE7Cj4gPiA+ICsJCWRlZmF1bHQ6Cj4gPiA+ICsJCQlyZXR1 cm4gRFBfVFJBSU5fUFJFX0VNUEhfTEVWRUxfMDsKPiA+ID4gKwkJfQo+ID4gPiArCX0gZWxzZSB7 Cj4gPiA+ICsJCXN3aXRjaCAodm9sdGFnZV9zd2luZyAmIERQX1RSQUlOX1ZPTFRBR0VfU1dJTkdf TUFTSykgewo+ID4gPiArCQljYXNlIERQX1RSQUlOX1ZPTFRBR0VfU1dJTkdfTEVWRUxfMDoKPiA+ ID4gKwkJCXJldHVybiBEUF9UUkFJTl9QUkVfRU1QSF9MRVZFTF8yOwo+ID4gPiArCQljYXNlIERQ X1RSQUlOX1ZPTFRBR0VfU1dJTkdfTEVWRUxfMToKPiA+ID4gKwkJCXJldHVybiBEUF9UUkFJTl9Q UkVfRU1QSF9MRVZFTF8yOwo+ID4gPiArCQljYXNlIERQX1RSQUlOX1ZPTFRBR0VfU1dJTkdfTEVW RUxfMjoKPiA+ID4gKwkJCXJldHVybiBEUF9UUkFJTl9QUkVfRU1QSF9MRVZFTF8xOwo+ID4gPiAr CQljYXNlIERQX1RSQUlOX1ZPTFRBR0VfU1dJTkdfTEVWRUxfMzoKPiA+ID4gKwkJZGVmYXVsdDoK PiA+ID4gKwkJCXJldHVybiBEUF9UUkFJTl9QUkVfRU1QSF9MRVZFTF8wOwo+ID4gPiArCQl9Cj4g PiA+ICsJfQo+ID4gPiArfQo+ID4gPiArCj4gPiA+ICAgc3RhdGljIHZvaWQKPiA+ID4gICBpbnRl bF9nZXRfYWRqdXN0X3RyYWluKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCj4gPiA+ICAgCQkg ICAgICAgY29uc3QgdWludDhfdCBsaW5rX3N0YXR1c1tEUF9MSU5LX1NUQVRVU19TSVpFXSkKPiA+ ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPiA+IGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+ID4gaW5kZXggMjlhZTRiYi4uNjcx YTIwZiAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgK PiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+ID4gQEAgLTEy MTYsMTUgKzEyMTYsMTggQEAgaW50ZWxfZHBfcHJvZ3JhbV9saW5rX3RyYWluaW5nX3BhdHRlcm4o c3RydWN0Cj4gPiA+IGludGVsX2RwICppbnRlbF9kcCwKPiA+ID4gICB2b2lkCj4gPiA+ICAgaW50 ZWxfZHBfdXBkYXRlX3NpZ25hbF9sZXZlbHMoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCk7Cj4g PiA+ICAgdm9pZCBpbnRlbF9kcF9zZXRfaWRsZV9saW5rX3RyYWluKHN0cnVjdCBpbnRlbF9kcCAq aW50ZWxfZHApOwo+ID4gPiAtdWludDhfdAo+ID4gPiAtaW50ZWxfZHBfdm9sdGFnZV9tYXgoc3Ry dWN0IGludGVsX2RwICppbnRlbF9kcCk7Cj4gPiA+IC11aW50OF90Cj4gPiA+IC1pbnRlbF9kcF9w cmVfZW1waGFzaXNfbWF4KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsIHVpbnQ4X3QKPiA+ID4g dm9sdGFnZV9zd2luZyk7Cj4gPiA+ICAgdm9pZCBpbnRlbF9kcF9jb21wdXRlX3JhdGUoc3RydWN0 IGludGVsX2RwICppbnRlbF9kcCwgaW50IHBvcnRfY2xvY2ssCj4gPiA+ICAgCQkJICAgdWludDhf dCAqbGlua19idywgdWludDhfdCAqcmF0ZV9zZWxlY3QpOwo+ID4gPiAgIGJvb2wgaW50ZWxfZHBf c291cmNlX3N1cHBvcnRzX2hicjIoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4gPiA+ICAgYm9v bAo+ID4gPiAgIGludGVsX2RwX2dldF9saW5rX3N0YXR1cyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVs X2RwLCB1aW50OF90Cj4gPiA+IGxpbmtfc3RhdHVzW0RQX0xJTktfU1RBVFVTX1NJWkVdKTsKPiA+ ID4gK3N0YXRpYyBpbmxpbmUgc3RydWN0IGRybV9kZXZpY2UgKmludGVsX2RwX3RvX2RldihzdHJ1 Y3QgaW50ZWxfZHAKPiA+ID4gKmludGVsX2RwKQo+ID4gPiArewo+ID4gPiArCXN0cnVjdCBpbnRl bF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0ID0KPiA+ID4gZHBfdG9fZGlnX3BvcnQoaW50 ZWxfZHApOwo+ID4gPiArCj4gPiA+ICsJcmV0dXJuIGludGVsX2RpZ19wb3J0LT5iYXNlLmJhc2Uu ZGV2Owo+ID4gPiArfQo+ID4gPiArCj4gPiA+ICAgCj4gPiA+ICAgLyogaW50ZWxfZHBfbXN0LmMg Ki8KPiA+ID4gICBpbnQgaW50ZWxfZHBfbXN0X2VuY29kZXJfaW5pdChzdHJ1Y3QgaW50ZWxfZGln aXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCwKPiA+ID4gaW50IGNvbm5faWQpOwpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBs aXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=