From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm/drm_edid: correct VIC and HDMI_VIC under HDMI 2.0 Date: Thu, 3 Oct 2019 16:29:51 +0300 Message-ID: <20191003132951.GE1208@intel.com> References: <20190924052621.6851-1-Wayne.Lin@amd.com> <20191002115807.GT1208@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: "Lin, Wayne" Cc: "Li, Sun peng (Leo)" , "amd-gfx@lists.freedesktop.org" , "dri-devel@lists.freedesktop.org" , "Kazlauskas, Nicholas" List-Id: amd-gfx.lists.freedesktop.org T24gVGh1LCBPY3QgMDMsIDIwMTkgYXQgMDY6NDk6MDVBTSArMDAwMCwgTGluLCBXYXluZSB3cm90 ZToKPiAKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IEZyb206IFZpbGxl IFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gU2VudDogV2VkbmVz ZGF5LCBPY3RvYmVyIDIsIDIwMTkgMTk6NTgKPiBUbzogTGluLCBXYXluZSA8V2F5bmUuTGluQGFt ZC5jb20+Cj4gQ2M6IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcgPGRyaS1kZXZlbEBs aXN0cy5mcmVlZGVza3RvcC5vcmc+OyBhbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZyA8YW1k LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmc+OyBMaSwgU3VuIHBlbmcgKExlbykgPFN1bnBlbmcu TGlAYW1kLmNvbT47IEthemxhdXNrYXMsIE5pY2hvbGFzIDxOaWNob2xhcy5LYXpsYXVza2FzQGFt ZC5jb20+Cj4gU3ViamVjdDogUmU6IFtQQVRDSF0gZHJtL2RybV9lZGlkOiBjb3JyZWN0IFZJQyBh bmQgSERNSV9WSUMgdW5kZXIgSERNSSAyLjAKPiAKPiBPbiBUdWUsIFNlcCAyNCwgMjAxOSBhdCAw MToyNjoyMVBNICswODAwLCBXYXluZSBMaW4gd3JvdGU6Cj4gPiBJbiBIRE1JIDEuNCBkZWZpbmVz IDRrIG1vZGVzIHdpdGhvdXQgc3BlY2lmaWMgYXNwZWN0IHJhdGlvLgo+ID4gSG93ZXZlciwgaW4g SERNSSAyLjAsIGFkZHMgYXNwZWN0IHJhdGlvIGF0dHJpYnV0ZSB0byBkaXN0aW5ndWlzaCBkaWZm ZXJlbnQKPiA+IDRrIG1vZGVzLgo+ID4KPiA+IEFjY29yZGluZyB0byBBcHBlbmRpeCBFIG9mIEhE TUkgMi4wIHNwZWMsIHNvdXJjZSBzaG91bGQgdXNlIFZTSUYgdG8KPiA+IGluZGljYXRlIFZJQyBt b2RlIG9ubHkgd2hlbiB0aGUgbW9kZSBpcyBvbmUgZGVmaW5lZCBpbiBIRE1JIDEuNGIgNEsgbW9k ZXMuCj4gPiBPdGhlcndpc2UsIHVzZSBBVkkgaW5mb2ZyYW1lcyB0byBjb252ZXkgVklDLgo+ID4K PiA+IGVnOiBWSUNfMTAzIHNob3VsZCB1c2UgQVZJIGluZm9mcmFtZXMgYW5kIFZJQ185MyB1c2Ug VlNJRgo+ID4KPiA+IFdoZW4gdGhlIHNpbmsgaXMgSERNSSAyLjAsIGN1cnJlbnQgY29kZSBpbgo+ ID4gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSB3aWxsIGFsc28gZm9y Y2UgbW9kZSBWSUNfMTAzIHRvCj4gPiBoYXZlIFZJQyB2YWx1ZSAwLiBUaGlzIHZpb2xhdGVzIHRo ZSBzcGVjIGFuZCBuZWVkcyB0byBiZSBjb3JyZWN0ZWQuCj4gCj4gPiBXaGVyZSBpcyB0aGF0IGJl aW5nIGRvbmU/IFdlIG9ubHkgc2V0IHRoZSBBVkkgVklDIHRvIHplcm8gaWYgd2UncmUgZ29pbmcK PiA+IHRvIHVzZSB0aGUgSERNSSBWSUMgaW5zdGVhZC4KPiAKPiBBcHByZWNpYXRlIGZvciB5b3Vy IHRpbWUgYW5kIGFwb2xvZ2l6ZSBmb3Igbm90IGV4cGxhaW5pbmcgaXQgY2xlYXJseS4KPiBDdXJy ZW50IGNvZGUgaW4gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgpIHdp bGwgY2FsbAo+IGRybV9tYXRjaF9oZG1pX21vZGUoKSB0byBzZXQgdXAgdmVuZG9yX2lmX3ZpYy4g QnkgY2hlY2tpbmcKPiBkcm1fdmFsaWRfaGRtaV92aWModmVuZG9yX2lmX3ZpYykgdG8gc2VlIGlm IHRoZSB2aWMgaW5mbyBzaG91bGQgYmUgY29udmV5ZWQgYnkgYXZpCj4gb3Igbm90Lgo+IAo+IEJ1 dCBpbiBkcm1fbWF0Y2hfaGRtaV9tb2RlKCksIGNvZGUgZG9lc24ndCBlbmFibGUgbWF0Y2hfZmxh Z3Mgd2l0aAo+IERSTV9NT0RFX01BVENIX0FTUEVDVF9SQVRJTy4gSSB0aGluayBpdCdzIGR1ZSB0 byBIRE1JMS40YiBkb2Vzbid0IHNwZWNpZnkKPiA0SyBtb2RlIGNvbnZleWVkIGJ5IEhETUkgVklD IHdpdGggcGFydGljdWxhciBhc3BlY3QgcmF0aW8uIEJ1dCBpbiBBcHBlbmRpeCBFIG9mCj4gSERN SSAyLjAgc3BlYywgaXQgc3BlY2lmeSBvbmx5IDRrIG1vZGVzIHdpdGggcGFydGljdWxhciBhc3Bl Y3QgcmF0aW8gc2hvdWxkIHVzZSBWU0lGIHRvIGNvbnZleS4KPiBIZW5jZSwgd2hlbiB0aGUgc2lu ayBzdXBwb3J0IEhETUkgMi4wIGFuZCBzZXQgdGhlIG1vZGUgdG8gYmUgVklDXzEwMywgY2FsbGlu Zwo+IGRybV9tYXRjaF9oZG1pX21vZGUobW9kZSkgd2lsbCByZXR1cm4gdmVuZG9yX2lmX3ZpYyA9 IDMgKFZJQ185MyBhbmQgVklDXzEwMyBhcmUgaGF2aW5nCj4gdGhlIHNhbWUgdGltaW5nIGJ1dCBk aWZmZXJlbnQgYXNwZWN0IHJhdGlvKS4gVGhlcmVhZnRlciB3aWxsIHNldCB0aGUgIGZyYW1lLT52 aWRlb19jb2RlIHRvIDAuCj4gSG93ZXZlciwgVklDXzEwMyBzaG91bGQgdXNlIEFWSSBWSUMgYWNj b3JkaW5nIHRvIEhETUkgMi4wIHNwZWMgKG9ubHkgVklDOiA5MywgOTQsIDk1ICYKPiA5OCBzaG91 bGQgdXNlIFZTSUYpLgo+IAo+IFRoaXMgcGF0Y2ggdHJ5IHRvIHJldmlzZSB0aGF0LCB3aGVuIHRo ZSBzaW5rIHN1cHBvcnQgSERNSSAyLjAsIGRybV9tYXRjaF9oZG1pX21vZGUoKQo+IHNob3VsZCBh bHNvIHRha2UgYXNwZWN0IHJhdGlvIGludG8gY29uc2lkZXJhdGlvbi4KPiBCdXQgZm9yIGVhc3kg cmVhZGluZywgSSBhZGQgYW5vdGhlciBmdW5jdGlvbiAiZHJtX21hdGNoX2hkbWlfMV80X21vZGUi IHRvIGRvIHNvLgoKU2VlbXMgcmF0aGVyIGNvbnZvbHV0ZWQuIEkgdGhpbmsgd2Ugc2hvdWxkIGp1 c3QgYWRkIHRoZSBhc3BlY3QgcmF0aW9zCnRvIGVkaWRfNGtfbW9kZXNbXS4gT3IgaXMgdGhlcmUg c29tZSBwcm9ibGVtIHdpdGggdGhhdCBhcHByb2FjaD8KCj4gCj4gPiBUaGUgc2FtZSBzaXR1YXRp b24gb2NjdXJzIGluIGRybV9oZG1pX3ZlbmRvcl9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUK PiA+IGFuZCBzaG91bGQgc2V0IEhETUlfVklDIHdoZW4gdGhlIG1vZGUgaXMgb25lIGRlZmluZWQg aW4gSERNSSAxLjRiIDRLCj4gPiBtb2Rlcy4KPiAKPiA+IFllcywgYW5kIHdlIGRvIHRoYXQuICJ2 aWMgPSBkcm1fbWF0Y2hfaGRtaV9tb2RlKG1vZGUpOyIKPiAKPiA+IEFwYXJ0IGZyb20gYWRkaW5n IHRoZSBhc3BlY3QgcmF0aW9zIEkgZG9uJ3QgcmVhbGx5IHVuZGVyc3RhbmQgd2hhdAo+ID4geW91 J3JlIHRyeWluZyB0byBhY2hpZXZlIGhlcmUuCj4gCj4gRm9yIEhETUkgMi4wIHNpbmssIGRybV9t YXRjaF9oZG1pX21vZGUoKSBzaG91bGQgYWxzbyB0YWtlIGFzcGVjdCByYXRpbyBpbnRvIGNvbnNp ZGVyYXRpb24uCj4gT25jZSBhZ2FpbiwgdmVyeSBhcHByZWNpYXRlIGZvciB5b3VyIHRpbWUuCj4g Cj4gPiAtLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYyB8IDk1ICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKy0tCj4gPiAgMSBmaWxlIGNoYW5nZWQsIDkyIGluc2Vy dGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCj4gPgo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9kcm1fZWRpZC5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMKPiA+IGluZGV4IDY0 OWNmZDhiNDIwMC4uMGZlYTliZjRlYzY3IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2RybV9lZGlkLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jCj4gPiBAQCAt MTMwNiw2ICsxMzA2LDM3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSBl ZGlkXzRrX21vZGVzW10gPSB7Cj4gPiAgICAgICAgICAudnJlZnJlc2ggPSAyNCwgfSwKPiA+ICB9 Owo+ID4KPiA+ICsvKgo+ID4gKyAqIDRrIG1vZGVzIG9mIEhETUkgMS40IGRlZmluZWQgaW4gSERN SSAyLjAuIEluZGV4IHVzaW5nIHRoZSBWSUMuCj4gPiArICovCj4gPiArc3RhdGljIGNvbnN0IHN0 cnVjdCBkcm1fZGlzcGxheV9tb2RlIGhkbWlfMV80X2VkaWRfNGtfbW9kZXNbXSA9IHsKPiA+ICsg ICAgIC8qIDAgLSBkdW1teSwgVklDcyBzdGFydCBhdCAxICovCj4gPiArICAgICB7IH0sCj4gPiAr ICAgICAvKiAxIC0gMzg0MHgyMTYwQDMwSHogKi8KPiA+ICsgICAgIHsgRFJNX01PREUoIjM4NDB4 MjE2MCIsIERSTV9NT0RFX1RZUEVfRFJJVkVSLCAyOTcwMDAsCj4gPiArICAgICAgICAgICAgICAg IDM4NDAsIDQwMTYsIDQxMDQsIDQ0MDAsIDAsCj4gPiArICAgICAgICAgICAgICAgIDIxNjAsIDIx NjgsIDIxNzgsIDIyNTAsIDAsCj4gPiArICAgICAgICAgICAgICAgIERSTV9NT0RFX0ZMQUdfUEhT WU5DIHwgRFJNX01PREVfRkxBR19QVlNZTkMpLAo+ID4gKyAgICAgICAudnJlZnJlc2ggPSAzMCwg LnBpY3R1cmVfYXNwZWN0X3JhdGlvID0gSERNSV9QSUNUVVJFX0FTUEVDVF8xNl85LCB9LAo+ID4g KyAgICAgLyogMiAtIDM4NDB4MjE2MEAyNUh6ICovCj4gPiArICAgICB7IERSTV9NT0RFKCIzODQw eDIxNjAiLCBEUk1fTU9ERV9UWVBFX0RSSVZFUiwgMjk3MDAwLAo+ID4gKyAgICAgICAgICAgICAg ICAzODQwLCA0ODk2LCA0OTg0LCA1MjgwLCAwLAo+ID4gKyAgICAgICAgICAgICAgICAyMTYwLCAy MTY4LCAyMTc4LCAyMjUwLCAwLAo+ID4gKyAgICAgICAgICAgICAgICBEUk1fTU9ERV9GTEFHX1BI U1lOQyB8IERSTV9NT0RFX0ZMQUdfUFZTWU5DKSwKPiA+ICsgICAgICAgLnZyZWZyZXNoID0gMjUs IC5waWN0dXJlX2FzcGVjdF9yYXRpbyA9IEhETUlfUElDVFVSRV9BU1BFQ1RfMTZfOSwgfSwKPiA+ ICsgICAgIC8qIDMgLSAzODQweDIxNjBAMjRIeiAqLwo+ID4gKyAgICAgeyBEUk1fTU9ERSgiMzg0 MHgyMTYwIiwgRFJNX01PREVfVFlQRV9EUklWRVIsIDI5NzAwMCwKPiA+ICsgICAgICAgICAgICAg ICAgMzg0MCwgNTExNiwgNTIwNCwgNTUwMCwgMCwKPiA+ICsgICAgICAgICAgICAgICAgMjE2MCwg MjE2OCwgMjE3OCwgMjI1MCwgMCwKPiA+ICsgICAgICAgICAgICAgICAgRFJNX01PREVfRkxBR19Q SFNZTkMgfCBEUk1fTU9ERV9GTEFHX1BWU1lOQyksCj4gPiArICAgICAgIC52cmVmcmVzaCA9IDI0 LCAucGljdHVyZV9hc3BlY3RfcmF0aW8gPSBIRE1JX1BJQ1RVUkVfQVNQRUNUXzE2XzksIH0sCj4g PiArICAgICAvKiA0IC0gNDA5NngyMTYwQDI0SHogKFNNUFRFKSAqLwo+ID4gKyAgICAgeyBEUk1f TU9ERSgiNDA5NngyMTYwIiwgRFJNX01PREVfVFlQRV9EUklWRVIsIDI5NzAwMCwKPiA+ICsgICAg ICAgICAgICAgICAgNDA5NiwgNTExNiwgNTIwNCwgNTUwMCwgMCwKPiA+ICsgICAgICAgICAgICAg ICAgMjE2MCwgMjE2OCwgMjE3OCwgMjI1MCwgMCwKPiA+ICsgICAgICAgICAgICAgICAgRFJNX01P REVfRkxBR19QSFNZTkMgfCBEUk1fTU9ERV9GTEFHX1BWU1lOQyksCj4gPiArICAgICAgIC52cmVm cmVzaCA9IDI0LCAucGljdHVyZV9hc3BlY3RfcmF0aW8gPSBIRE1JX1BJQ1RVUkVfQVNQRUNUXzI1 Nl8xMzUsIH0sCj4gPiArfTsKPiA+ICAvKioqIEREQyBmZXRjaCBhbmQgYmxvY2sgdmFsaWRhdGlv biAqKiovCj4gPgo+ID4gIHN0YXRpYyBjb25zdCB1OCBlZGlkX2hlYWRlcltdID0gewo+ID4gQEAg LTMwNjEsNiArMzA5MiwxOSBAQCBoZG1pX21vZGVfYWx0ZXJuYXRlX2Nsb2NrKGNvbnN0IHN0cnVj dCBkcm1fZGlzcGxheV9tb2RlICpoZG1pX21vZGUpCj4gPiAgICAgICAgcmV0dXJuIGNlYV9tb2Rl X2FsdGVybmF0ZV9jbG9jayhoZG1pX21vZGUpOwo+ID4gIH0KPiA+Cj4gPiArLyoKPiA+ICsgKiBD YWxjdWxhdGUgdGhlIGFsdGVybmF0ZSBjbG9jayBmb3IgSERNSSBtb2RlcyAodGhvc2UgZnJvbSB0 aGUgSERNSSB2ZW5kb3IKPiA+ICsgKiBzcGVjaWZpYyBibG9jaykuCj4gPiArICoKPiA+ICsgKiBJ dCdzIGFsbW9zdCBsaWtlIGhkbWlfbW9kZV9hbHRlcm5hdGVfY2xvY2soKSwgYnV0IG5vIGV4Y2Vw dGlvbiBmb3IgVklDIDQgbW9kZS4KPiA+ICsgKiBUaGVyZSBpcyBhbiBhbHRlcm5hdGUgY2xvY2sg KDIzLjk4SHopIG9mIFZJQyA0IG1vZGUgKDQwOTZ4MjE2MEAyNEh6KSBpbiBIRE1JIDIuMAo+ID4g KyAqLwo+ID4gK3N0YXRpYyB1bnNpZ25lZCBpbnQKPiA+ICtoZG1pXzFfNF9tb2RlX2FsdGVybmF0 ZV9jbG9jayhjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqaGRtaV9tb2RlKQo+ID4gK3sK PiA+ICsgICAgIHJldHVybiBjZWFfbW9kZV9hbHRlcm5hdGVfY2xvY2soaGRtaV9tb2RlKTsKPiA+ ICt9Cj4gPiArCj4gPiAgc3RhdGljIHU4IGRybV9tYXRjaF9oZG1pX21vZGVfY2xvY2tfdG9sZXJh bmNlKGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICp0b19tYXRjaCwKPiA+ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBjbG9ja190 b2xlcmFuY2UpCj4gPiAgewo+ID4gQEAgLTMxMjEsMTEgKzMxNjUsNTMgQEAgc3RhdGljIHU4IGRy bV9tYXRjaF9oZG1pX21vZGUoY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKnRvX21hdGNo KQo+ID4gICAgICAgIHJldHVybiAwOwo+ID4gIH0KPiA+Cj4gPiArLyoKPiA+ICsgKiBkcm1fbWF0 Y2hfaGRtaV8xXzRfbW9kZSAtIGxvb2sgZm9yIGEgSERNSSAxLjQgbW9kZSBtYXRjaGluZyBnaXZl biBtb2RlCj4gPiArICogQHRvX21hdGNoOiBkaXNwbGF5IG1vZGUKPiA+ICsgKgo+ID4gKyAqIEFu IEhETUkgbW9kZSBpcyBvbmUgZGVmaW5lZCBpbiB0aGUgSERNSSB2ZW5kb3Igc3BlY2lmaWMgYmxv Y2suCj4gPiArICogSW4gSERNSSAyLjAsIG9ubHkgZmV3IDRrIHJlc29sdXRpb25zIHdpdGggc3Bl Y2lmaWMgYXNwZWN0IHJhdGlvIHNob3VsZAo+ID4gKyAqIHV0aWxpemUgSDE0YiBWU0lGLgo+ID4g KyAqCj4gPiArICogUmV0dXJucyB0aGUgSERNSSBWaWRlbyBJRCAoVklDKSBvZiB0aGUgbW9kZSBv ciAwIGlmIGl0IGlzbid0IG9uZS4KPiA+ICsgKi8KPiA+ICtzdGF0aWMgdTggZHJtX21hdGNoX2hk bWlfMV80X21vZGUoY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKnRvX21hdGNoKQo+ID4g K3sKPiA+ICsgICAgIHVuc2lnbmVkIGludCBtYXRjaF9mbGFncyA9IERSTV9NT0RFX01BVENIX1RJ TUlOR1MgfCBEUk1fTU9ERV9NQVRDSF9GTEFHUzsKPiA+ICsgICAgIHU4IHZpYzsKPiA+ICsKPiA+ ICsgICAgIGlmICghdG9fbWF0Y2gtPmNsb2NrKQo+ID4gKyAgICAgICAgICAgICByZXR1cm4gMDsK PiA+ICsKPiA+ICsgICAgIGlmICh0b19tYXRjaC0+cGljdHVyZV9hc3BlY3RfcmF0aW8pCj4gPiAr ICAgICAgICAgICAgIG1hdGNoX2ZsYWdzIHw9IERSTV9NT0RFX01BVENIX0FTUEVDVF9SQVRJTzsK PiA+ICsKPiA+ICsgICAgIGZvciAodmljID0gMTsgdmljIDwgQVJSQVlfU0laRShoZG1pXzFfNF9l ZGlkXzRrX21vZGVzKTsgdmljKyspIHsKPiA+ICsgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKmhkbWlfMV80X21vZGUgPSAmaGRtaV8xXzRfZWRpZF80a19tb2Rlc1t2 aWNdOwo+ID4gKyAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgY2xvY2sxLCBjbG9jazI7Cj4gPiAr Cj4gPiArICAgICAgICAgICAgIC8qIE1ha2Ugc3VyZSB0byBhbHNvIG1hdGNoIGFsdGVybmF0ZSBj bG9ja3MgKi8KPiA+ICsgICAgICAgICAgICAgY2xvY2sxID0gaGRtaV8xXzRfbW9kZS0+Y2xvY2s7 Cj4gPiArICAgICAgICAgICAgIGNsb2NrMiA9IGhkbWlfMV80X21vZGVfYWx0ZXJuYXRlX2Nsb2Nr KGhkbWlfMV80X21vZGUpOwo+ID4gKwo+ID4gKyAgICAgICAgICAgICBpZiAoKEtIWjJQSUNPUyh0 b19tYXRjaC0+Y2xvY2spID09IEtIWjJQSUNPUyhjbG9jazEpIHx8Cj4gPiArICAgICAgICAgICAg ICAgICAgS0haMlBJQ09TKHRvX21hdGNoLT5jbG9jaykgPT0gS0haMlBJQ09TKGNsb2NrMikpICYm Cj4gPiArICAgICAgICAgICAgICAgICBkcm1fbW9kZV9tYXRjaCh0b19tYXRjaCwgaGRtaV8xXzRf bW9kZSwgbWF0Y2hfZmxhZ3MpKQo+ID4gKyAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2aWM7 Cj4gPiArICAgICB9Cj4gPiArICAgICByZXR1cm4gMDsKPiA+ICt9Cj4gPiArCj4gPiAgc3RhdGlj IGJvb2wgZHJtX3ZhbGlkX2hkbWlfdmljKHU4IHZpYykKPiA+ICB7Cj4gPiAgICAgICAgcmV0dXJu IHZpYyA+IDAgJiYgdmljIDwgQVJSQVlfU0laRShlZGlkXzRrX21vZGVzKTsKPiA+ICB9Cj4gPgo+ ID4gK3N0YXRpYyBib29sIGRybV92YWxpZF9oZG1pXzFfNF92aWModTggdmljKQo+ID4gK3sKPiA+ ICsgICAgIHJldHVybiB2aWMgPiAwICYmIHZpYyA8IEFSUkFZX1NJWkUoaGRtaV8xXzRfZWRpZF80 a19tb2Rlcyk7Cj4gPiArfQo+ID4gKwo+ID4gIHN0YXRpYyBpbnQKPiA+ICBhZGRfYWx0ZXJuYXRl X2NlYV9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBzdHJ1Y3QgZWRpZCAq ZWRpZCkKPiA+ICB7Cj4gPiBAQCAtNDg5NCwxMCArNDk4MCwxMiBAQCBkcm1faGRtaV9hdmlfaW5m b2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKHN0cnVjdCBoZG1pX2F2aV9pbmZvZnJhbWUgKmZyYW1l LAo+ID4gICAgICAgICAqIEhETUkgMS40YiA0SyBtb2Rlcwo+ID4gICAgICAgICAqLwo+ID4gICAg ICAgIGlmIChmcmFtZS0+dmlkZW9fY29kZSkgewo+ID4gLSAgICAgICAgICAgICB1OCB2ZW5kb3Jf aWZfdmljID0gZHJtX21hdGNoX2hkbWlfbW9kZShtb2RlKTsKPiA+ICsgICAgICAgICAgICAgdTgg dmVuZG9yX2lmX3ZpYyA9IGlzX2hkbWkyX3NpbmsoY29ubmVjdG9yKSA/Cj4gPiArICAgICAgICAg ICAgICAgICAgICAgZHJtX21hdGNoX2hkbWlfMV80X21vZGUobW9kZSkgOiBkcm1fbWF0Y2hfaGRt aV9tb2RlKG1vZGUpOwo+ID4gICAgICAgICAgICAgICAgYm9vbCBpc19zM2QgPSBtb2RlLT5mbGFn cyAmIERSTV9NT0RFX0ZMQUdfM0RfTUFTSzsKPiA+Cj4gPiAtICAgICAgICAgICAgIGlmIChkcm1f dmFsaWRfaGRtaV92aWModmVuZG9yX2lmX3ZpYykgJiYgIWlzX3MzZCkKPiA+ICsgICAgICAgICAg ICAgaWYgKCFpc19zM2QgJiYgaXNfaGRtaTJfc2luayhjb25uZWN0b3IpID8KPiA+ICsgICAgICAg ICAgICAgICAgICAgICBkcm1fdmFsaWRfaGRtaV8xXzRfdmljKHZlbmRvcl9pZl92aWMpIDogZHJt X3ZhbGlkX2hkbWlfdmljKHZlbmRvcl9pZl92aWMpKQo+ID4gICAgICAgICAgICAgICAgICAgICAg ICBmcmFtZS0+dmlkZW9fY29kZSA9IDA7Cj4gPiAgICAgICAgfQo+ID4KPiA+IEBAIC01MTI1LDcg KzUyMTMsOCBAQCBkcm1faGRtaV92ZW5kb3JfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKHN0 cnVjdCBoZG1pX3ZlbmRvcl9pbmZvZnJhbWUgKmZyYW1lLAo+ID4gICAgICAgIGlmICghaGFzX2hk bWlfaW5mb2ZyYW1lKQo+ID4gICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4gPgo+ID4g LSAgICAgdmljID0gZHJtX21hdGNoX2hkbWlfbW9kZShtb2RlKTsKPiA+ICsgICAgIHZpYyA9IGlz X2hkbWkyX3NpbmsoY29ubmVjdG9yKSA/Cj4gPiArICAgICAgICAgICAgICAgICAgICAgZHJtX21h dGNoX2hkbWlfMV80X21vZGUobW9kZSkgOiBkcm1fbWF0Y2hfaGRtaV9tb2RlKG1vZGUpOwo+ID4g ICAgICAgIHMzZF9mbGFncyA9IG1vZGUtPmZsYWdzICYgRFJNX01PREVfRkxBR18zRF9NQVNLOwo+ ID4KPiA+ICAgICAgICAvKgo+ID4gLS0KPiA+IDIuMTcuMQo+ID4KPiA+IF9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiBkcmktZGV2ZWwgbWFpbGluZyBs aXN0Cj4gPiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiBodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo+IAo+IC0tCj4gVmls bGUgU3lyasOkbMOkCj4gSW50ZWwKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcg bGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs