From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: Re: [Intel-gfx] [PATCH] drm/dp: Add function to parse EDID descriptors for adaptive sync limits Date: Thu, 24 Oct 2019 10:31:37 -0700 Message-ID: <20191024173137.GC11507@intel.com> References: <20191024000041.7391-1-manasi.d.navare@intel.com> <20191024103106.GA2825247@ulmo> <20191024113400.GX1208@intel.com> <20191024135441.GE2924027@ulmo> <20191024142032.GB1208@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: <20191024142032.GB1208@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Cc: intel-gfx@lists.freedesktop.org, Thierry Reding , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBPY3QgMjQsIDIwMTkgYXQgMDU6MjA6MzJQTSArMDMwMCwgVmlsbGUgU3lyasOkbMOk IHdyb3RlOgo+IE9uIFRodSwgT2N0IDI0LCAyMDE5IGF0IDAzOjU0OjQxUE0gKzAyMDAsIFRoaWVy cnkgUmVkaW5nIHdyb3RlOgo+ID4gT24gVGh1LCBPY3QgMjQsIDIwMTkgYXQgMDI6MzQ6MDBQTSAr MDMwMCwgVmlsbGUgU3lyasOkbMOkIHdyb3RlOgo+ID4gPiBPbiBUaHUsIE9jdCAyNCwgMjAxOSBh dCAxMjozMTowNlBNICswMjAwLCBUaGllcnJ5IFJlZGluZyB3cm90ZToKPiA+ID4gPiBPbiBXZWQs IE9jdCAyMywgMjAxOSBhdCAwNTowMDo0MVBNIC0wNzAwLCBNYW5hc2kgTmF2YXJlIHdyb3RlOgo+ ID4gPiA+ID4gQWRhcHRpdmUgU3luYyBpcyBhIFZFU0EgZmVhdHVyZSBzbyBhZGQgYSBEUk0gY29y ZSBoZWxwZXIgdG8gcGFyc2UKPiA+ID4gPiA+IHRoZSBFRElEJ3MgZGV0YWlsZWQgZGVzY3JpdG9y cyB0byBvYnRhaW4gdGhlIGFkYXB0aXZlIHN5bmMgbW9uaXRvciByYW5nZS4KPiA+ID4gPiA+IFN0 b3JlIHRoaXMgaW5mbyBhcyBwYXJ0IGZvIGRybV9kaXNwbGF5X2luZm8gc28gaXQgY2FuIGJlIHVz ZWQKPiA+ID4gPiA+IGFjcm9zcyBhbGwgZHJpdmVycy4KPiA+ID4gPiA+IFRoaXMgcGFydCBvZiB0 aGUgY29kZSBpcyBzdHJpcHBlZCBvdXQgb2YgYW1kZ3B1J3MgZnVuY3Rpb24KPiA+ID4gPiA+IGFt ZGdwdV9kbV91cGRhdGVfZnJlZXN5bmNfY2FwcygpIHRvIG1ha2UgaXQgZ2VuZXJpYyBhbmQgYmUg dXNlZAo+ID4gPiA+ID4gYWNyb3NzIGFsbCBEUk0gZHJpdmVycwo+ID4gPiA+ID4gCj4gPiA+ID4g PiBDYzogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiA+ ID4gPiA+IENjOiBIYXJyeSBXZW50bGFuZCA8aGFycnkud2VudGxhbmRAYW1kLmNvbT4KPiA+ID4g PiA+IENjOiBDbGludG9uIEEgVGF5bG9yIDxjbGludG9uLmEudGF5bG9yQGludGVsLmNvbT4KPiA+ ID4gPiA+IFNpZ25lZC1vZmYtYnk6IE1hbmFzaSBOYXZhcmUgPG1hbmFzaS5kLm5hdmFyZUBpbnRl bC5jb20+Cj4gPiA+ID4gPiAtLS0KPiA+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQu YyAgfCA0OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gPiA+ID4gPiAg aW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oIHwgMjUgKysrKysrKysrKysrKysrKysrKwo+ID4g PiA+ID4gIGluY2x1ZGUvZHJtL2RybV9lZGlkLmggICAgICB8ICAyICsrCj4gPiA+ID4gPiAgMyBm aWxlcyBjaGFuZ2VkLCA3NiBpbnNlcnRpb25zKCspCj4gPiA+ID4gPiAKPiA+ID4gPiA+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f ZWRpZC5jCj4gPiA+ID4gPiBpbmRleCA0NzRhYzA0ZDU2MDAuLjk3ZGQxMjAwNzczZSAxMDA2NDQK PiA+ID4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jCj4gPiA+ID4gPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYwo+ID4gPiA+ID4gQEAgLTQ3MDcsNiArNDcwNyw1 MiBAQCBzdGF0aWMgdm9pZCBkcm1fcGFyc2VfY2VhX2V4dChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yLAo+ID4gPiA+ID4gIAl9Cj4gPiA+ID4gPiAgfQo+ID4gPiA+ID4gIAo+ID4gPiA+ ID4gK3ZvaWQgZHJtX2dldF9hZGFwdGl2ZV9zeW5jX2xpbWl0cyhzdHJ1Y3QgZHJtX2Nvbm5lY3Rv ciAqY29ubmVjdG9yLAo+ID4gPiA+ID4gKwkJCQkgIGNvbnN0IHN0cnVjdCBlZGlkICplZGlkKQo+ ID4gPiA+ID4gK3sKPiA+ID4gPiA+ICsJc3RydWN0IGRybV9kaXNwbGF5X2luZm8gKmluZm8gPSAm Y29ubmVjdG9yLT5kaXNwbGF5X2luZm87Cj4gPiA+ID4gPiArCWNvbnN0IHN0cnVjdCBkZXRhaWxl ZF90aW1pbmcgKnRpbWluZzsKPiA+ID4gPiA+ICsJY29uc3Qgc3RydWN0IGRldGFpbGVkX25vbl9w aXhlbCAqZGF0YTsKPiA+ID4gPiA+ICsJY29uc3Qgc3RydWN0IGRldGFpbGVkX2RhdGFfbW9uaXRv cl9yYW5nZSAqcmFuZ2U7Cj4gPiA+ID4gPiArCWludCBpOwo+ID4gPiA+IAo+ID4gPiA+IFRoaXMg Y2FuIGJlIHVuc2lnbmVkIGludC4KPiA+ID4gCj4gPiA+IFBsZWFzZSBuby4gQSBsb29wIGl0ZXJh dG9yIGNhbGxlZCAnaScgc2hvdWxkIGFsd2F5cyBiZSBhIG5vcm1hbCBzaWduZWQgaW50Lgo+ID4g Cj4gPiBXaGF0PyBXaGVyZSdzIHRoYXQgcnVsZSB3cml0dGVuIGRvd24/IEluIG15IGV4cGVyaWVu Y2UgaXQncyBhbHdheXMKPiA+IGJldHRlciB0byB1c2UgYXMgcmVzdHJpY3RpdmUgYSB0eXBlIGFz IHBvc3NpYmxlLiBJdCdzIHJlYWxseSBhbm5veWluZwo+ID4gd2hlbiBHQ0Mgc3VkZGVubHkgc3Rh cnRzIGNvbXBsYWluaW5nIGFib3V0IGNvbXBhcmlzb24gYmV0d2VlbiBzaWduZWQgYW5kCj4gPiB1 bnNpZ25lZC4gU28gaWYgYSB2YXJpYWJsZSBjYW4gbmV2ZXIgY29udGFpbiBhIHNpZ25lZCB2YWx1 ZSwgd2h5IHJpc2sKPiA+IHRoZSBhbWJpZ3VpdHk/IFRoZSB2YWx1ZSBnb2VzIGZyb20gMCB0byA0 LCB0aGUgc2lnbiBiaXQgaXMgdXNlbGVzcy4KPiAKPiBEdW5ubyBpZiBpdCdzIHJlYWxseSB3cml0 dGVuIGRvd24gYW55d2hlcmUuIEl0J3MganVzdCBzb21ldGhpbmcKPiBleHBlcmllbmNlIGhhcyB0 YXVnaHQuIElJUkMgdGhlcmUncyBhbHNvIGEgcmFudCBmcm9tIExpbnVzIGFib3V0IHRoaXMKPiBz b21ld2hlcmUuIEhtLCBjYW4ndCBmaW5kIHRoYXQgb25lIHJpZ2h0IG5vdywgYnV0IEFuZHJldyBN b3J0b24gYWxzbwo+IHNlZW1zIHRvIGFncmVlOiBodHRwczovL2x3bi5uZXQvQXJ0aWNsZXMvMzA5 Mjc5Lwo+IEFoLCBoZXJlIGlzIG9uZSBMaW51cyByYW50IGFib3V0IHVuc2lnbmVkIGFycmF5IGlu ZGV4ZXM6Cj4gaHR0cHM6Ly95YXJjaGl2ZS5uZXQvY29tcC9saW51eC9nY2MuaHRtbAo+IAo+IE15 IG9waW5pb246IHVuc2lnbmVkIGlzIGFuIHZlcnkgKmRhbmdlcm91cyoga2V5d29yZCBpbiBDIHRo YXQgZGVtYW5kcwo+IHlvdXIgcmVzcGVjdC4gWW91IHNob3VsZCBuZXZlciB1c2UgaXQgd2l0aG91 dCB0aGlua2luZyBmaXJzdCB3aGF0IHRoZQo+IHJhbWlmaWNhdGlvbnMgYXJlLiBZb3UgYWx3YXlz IGhhdmUgdG8gaGF2ZSB0aGUgcHJvbW90aW9uIHJ1bGVzIGNsZWFyIAo+IGluIHlvdSBtaW5kIHdo ZW4geW91IGRvIGFueSBraW5kIG9mIGFyaXRobWV0aWMgd2l0aCA+PSB1bnNpZ25lZCBpbnQKPiB0 eXBlLiBBbmQgY29tbW9uIGlkaW9tcyBzdWNoIGFzICdpbnQgaScgc2hvdWxkIGJlIHJlc3BlY3Rl ZCBzbyBhcyB0bwo+IG5vdCBjYXVzZSB1bmV4cGVjdGVkIGhhaXIgbG9zcyB0byBvdGhlciBkZXZl bG9wZXJzIHdoZW4gdGhleSBkZWNpZGUKPiB0byBtYWtlIHRoZSBsb29wIGl0ZXJhdGUgYmFja3dh cmRzLgo+IAo+ID4gCj4gPiA+ID4gPiArCS8qCj4gPiA+ID4gPiArCSAqIFJlc3RyaWN0IEFkYXB0 aXZlIFN5bmMgb25seSBmb3IgZHAgYW5kIGVkcAo+ID4gPiA+ID4gKwkgKi8KPiA+ID4gPiA+ICsJ aWYgKGNvbm5lY3Rvci0+Y29ubmVjdG9yX3R5cGUgIT0gRFJNX01PREVfQ09OTkVDVE9SX0Rpc3Bs YXlQb3J0ICYmCj4gPiA+ID4gPiArCSAgICBjb25uZWN0b3ItPmNvbm5lY3Rvcl90eXBlICE9IERS TV9NT0RFX0NPTk5FQ1RPUl9lRFApCj4gPiA+ID4gPiArCQlyZXR1cm47Cj4gPiA+ID4gPiArCj4g PiA+ID4gPiArCWlmIChlZGlkLT52ZXJzaW9uIDw9IDEgJiYgIShlZGlkLT52ZXJzaW9uID09IDEg JiYgZWRpZC0+cmV2aXNpb24gPiAxKSkKPiA+ID4gPiA+ICsJCXJldHVybjsKPiA+ID4gPiA+ICsK PiA+ID4gPiA+ICsJZm9yIChpID0gMDsgaSA8IDQ7IGkrKykgewo+ID4gPiA+ID4gKwkJdGltaW5n ICA9ICZlZGlkLT5kZXRhaWxlZF90aW1pbmdzW2ldOwo+ID4gPiA+ID4gKwkJZGF0YSAgICA9ICZ0 aW1pbmctPmRhdGEub3RoZXJfZGF0YTsKPiA+ID4gPiA+ICsJCXJhbmdlICAgPSAmZGF0YS0+ZGF0 YS5yYW5nZTsKPiA+ID4gPiA+ICsJCS8qCj4gPiA+ID4gPiArCQkgKiBDaGVjayBpZiBtb25pdG9y IGhhcyBjb250aW51b3VzIGZyZXF1ZW5jeSBtb2RlCj4gPiA+ID4gPiArCQkgKi8KPiA+ID4gPiA+ ICsJCWlmIChkYXRhLT50eXBlICE9IEVESURfREVUQUlMX01PTklUT1JfUkFOR0UpCj4gPiA+ID4g PiArCQkJY29udGludWU7Cj4gPiA+ID4gPiArCQkvKgo+ID4gPiA+ID4gKwkJICogQ2hlY2sgZm9y IGZsYWcgcmFuZ2UgbGltaXRzIG9ubHkuIElmIGZsYWcgPT0gMSB0aGVuCj4gPiA+ID4gPiArCQkg KiBubyBhZGRpdGlvbmFsIHRpbWluZyBpbmZvcm1hdGlvbiBwcm92aWRlZC4KPiA+ID4gPiA+ICsJ CSAqIERlZmF1bHQgR1RGLCBHVEYgU2Vjb25kYXJ5IGN1cnZlIGFuZCBDVlQgYXJlIG5vdAo+ID4g PiA+ID4gKwkJICogc3VwcG9ydGVkCj4gPiA+ID4gPiArCQkgKi8KPiA+ID4gPiA+ICsJCWlmIChy YW5nZS0+ZmxhZ3MgIT0gMSkKPiA+ID4gPiA+ICsJCQljb250aW51ZTsKPiA+ID4gPiA+ICsKPiA+ ID4gPiA+ICsJCWluZm8tPmFkYXB0aXZlX3N5bmMubWluX3ZmcmVxID0gcmFuZ2UtPm1pbl92ZnJl cTsKPiA+ID4gPiA+ICsJCWluZm8tPmFkYXB0aXZlX3N5bmMubWF4X3ZmcmVxID0gcmFuZ2UtPm1h eF92ZnJlcTsKPiA+ID4gPiA+ICsJCWluZm8tPmFkYXB0aXZlX3N5bmMucGl4ZWxfY2xvY2tfbWh6 ID0KPiA+ID4gPiA+ICsJCQlyYW5nZS0+cGl4ZWxfY2xvY2tfbWh6ICogMTA7Cj4gPiA+ID4gPiAr CQlicmVhazsKPiA+ID4gPiA+ICsJfQo+ID4gPiA+ID4gK30KPiA+ID4gPiA+ICtFWFBPUlRfU1lN Qk9MKGRybV9nZXRfYWRhcHRpdmVfc3luY19saW1pdHMpOwo+ID4gPiA+ID4gKwo+ID4gPiA+ID4g IC8qIEEgY29ubmVjdG9yIGhhcyBubyBFRElEIGluZm9ybWF0aW9uLCBzbyB3ZSd2ZSBnb3Qgbm8g RURJRCB0byBjb21wdXRlIHF1aXJrcyBmcm9tLiBSZXNldAo+ID4gPiA+ID4gICAqIGFsbCBvZiB0 aGUgdmFsdWVzIHdoaWNoIHdvdWxkIGhhdmUgYmVlbiBzZXQgZnJvbSBFRElECj4gPiA+ID4gPiAg ICovCj4gPiA+ID4gPiBAQCAtNDcyOCw2ICs0Nzc0LDcgQEAgZHJtX3Jlc2V0X2Rpc3BsYXlfaW5m byhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ID4gPiA+ID4gIAltZW1zZXQoJmlu Zm8tPmhkbWksIDAsIHNpemVvZihpbmZvLT5oZG1pKSk7Cj4gPiA+ID4gPiAgCj4gPiA+ID4gPiAg CWluZm8tPm5vbl9kZXNrdG9wID0gMDsKPiA+ID4gPiA+ICsJbWVtc2V0KCZpbmZvLT5hZGFwdGl2 ZV9zeW5jLCAwLCBzaXplb2YoaW5mby0+YWRhcHRpdmVfc3luYykpOwo+ID4gPiA+ID4gIH0KPiA+ ID4gPiA+ICAKPiA+ID4gPiA+ICB1MzIgZHJtX2FkZF9kaXNwbGF5X2luZm8oc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3RvciwgY29uc3Qgc3RydWN0IGVkaWQgKmVkaWQpCj4gPiA+ID4gPiBA QCAtNDc0Myw2ICs0NzkwLDggQEAgdTMyIGRybV9hZGRfZGlzcGxheV9pbmZvKHN0cnVjdCBkcm1f Y29ubmVjdG9yICpjb25uZWN0b3IsIGNvbnN0IHN0cnVjdCBlZGlkICplZGkKPiA+ID4gPiA+ICAK PiA+ID4gPiA+ICAJaW5mby0+bm9uX2Rlc2t0b3AgPSAhIShxdWlya3MgJiBFRElEX1FVSVJLX05P Tl9ERVNLVE9QKTsKPiA+ID4gPiA+ICAKPiA+ID4gPiA+ICsJZHJtX2dldF9hZGFwdGl2ZV9zeW5j X2xpbWl0cyhjb25uZWN0b3IsIGVkaWQpOwo+ID4gPiA+ID4gKwo+ID4gPiA+ID4gIAlEUk1fREVC VUdfS01TKCJub25fZGVza3RvcCBzZXQgdG8gJWRcbiIsIGluZm8tPm5vbl9kZXNrdG9wKTsKPiA+ ID4gPiA+ICAKPiA+ID4gPiA+ICAJaWYgKGVkaWQtPnJldmlzaW9uIDwgMykKPiA+ID4gPiA+IGRp ZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmggYi9pbmNsdWRlL2RybS9kcm1f Y29ubmVjdG9yLmgKPiA+ID4gPiA+IGluZGV4IDVmOGMzMzg5ZDQ2Zi4uYTI3YTg0MjcwZDhkIDEw MDY0NAo+ID4gPiA+ID4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCj4gPiA+ID4g PiArKysgYi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKPiA+ID4gPiA+IEBAIC0yNTQsNiAr MjU0LDI2IEBAIGVudW0gZHJtX3BhbmVsX29yaWVudGF0aW9uIHsKPiA+ID4gPiA+ICAJRFJNX01P REVfUEFORUxfT1JJRU5UQVRJT05fUklHSFRfVVAsCj4gPiA+ID4gPiAgfTsKPiA+ID4gPiA+ICAK PiA+ID4gPiA+ICsvKioKPiA+ID4gPiA+ICsgKiBzdHJ1Y3QgZHJtX2FkYXB0aXZlX3N5bmNfaW5m byAtIFBhbmVsJ3MgQWRhcHRpdmUgU3luYyBjYXBhYmlsaXRpZXMgZm9yCj4gPiA+ID4gPiArICog JmRybV9kaXNwbGF5X2luZm8KPiA+ID4gPiA+ICsgKgo+ID4gPiA+ID4gKyAqIFRoaXMgc3RydWN0 IGlzIHVzZWQgdG8gc3RvcmUgYSBQYW5lbCdzIEFkYXB0aXZlIFN5bmMgY2FwYWJpbGl0aWVzCj4g PiA+ID4gPiArICogYXMgcGFyc2VkIGZyb20gRURJRCdzIGRldGFpbGVkIG1vbml0b3IgcmFuZ2Ug ZGVzY3JpcHRvciBibG9jay4KPiA+ID4gPiA+ICsgKgo+ID4gPiA+ID4gKyAqIEBtaW5fdmZyZXE6 IFRoaXMgaXMgdGhlIG1pbiBzdXBwb3J0ZWQgcmVmcmVzaCByYXRlIGluIEh6IGZyb20KPiA+ID4g PiA+ICsgKiAgICAgICAgICAgICBFRElEJ3MgZGV0YWlsZWQgbW9uaXRvciByYW5nZS4KPiA+ID4g PiA+ICsgKiBAbWF4X3ZmcmVxOiBUaGlzIGlzIHRoZSBtYXggc3VwcG9ydGVkIHJlZnJlc2ggcmF0 ZSBpbiBIeiBmcm9tCj4gPiA+ID4gPiArICogICAgICAgICAgICAgRURJRCdzIGRldGFpbGVkIG1v bml0b3IgcmFuZ2UKPiA+ID4gPiA+ICsgKiBAcGl4ZWxfY2xvY2tfbWh6OiBUaGlzIGlzIHRoZSBk b3RjbG9jayBpbiBNSHogZnJvbQo+ID4gPiA+ID4gKyAqICAgICAgICAgICAgICAgICAgIEVESUQn cyBkZXRhaWxlZCBtb25pdG9yIHJhbmdlCj4gPiA+ID4gPiArICovCj4gPiA+ID4gPiArc3RydWN0 IGRybV9hZGFwdGl2ZV9zeW5jX2luZm8gewo+ID4gPiA+ID4gKwlpbnQgbWluX3ZmcmVxOwo+ID4g PiA+ID4gKwlpbnQgbWF4X3ZmcmVxOwo+ID4gPiA+ID4gKwlpbnQgcGl4ZWxfY2xvY2tfbWh6Owo+ ID4gPiA+IAo+ID4gPiA+IEFueSByZWFzb24gd2h5IHRoZXNlIGNhbid0IGJlIHVuc2lnbmVkPyBB bHNvLCBkb2VzIGl0IHBlcmhhcHMgbWFrZSBzZW5zZQo+ID4gPiA+IHRvIHN0b3JlIHRoZSBwaXhl bCBjbG9jayBhcyBrSHogbGlrZSB3ZSBkbyBldmVyeXdoZXJlIGVsc2U/Cj4gPiA+IAo+ID4gPiBB eWUsIGFsbCB0eXBpY2FsIGNsb2NrIGZyZXF1ZW5jaWVzIHNob3VsZCBiZSBpbiBraHouCj4gPiA+ IAo+ID4gPiBBbHNvIHRoZSB2ZnJlcXMgYXJlIG9ubHkgdTggaW4gdGhlIEVESUQsIHNvIGNhbiBi ZSB1OCBoZXJlIGFzIHdlbGwuCj4gPiAKPiA+IE5vdCBpZiB5b3Ugc3RvcmUgdGhlbSBpbiBrSHos IHRoZXkgY2FuJ3QuCj4gCj4gSU1PIHRob3NlIGNhbiBzdGF5IGluIEh6LiBUaGF0J3Mgd2hhdCBk cm1fbW9kZV92cmVmcmVzaCgpIGdpdmVzIHlvdSBhcyB3ZWxsLgoKQW5kIGkga2VwdCB0aGVtIGlu IGh6IGZvciBtaW4gYW5kIG1heCBhbmQgTWh6IGZvciBwaXhlbCBjbG9jayBmcm9tIHRoZSBkZXRh aWxlZF9kYXRhX21vbml0b3JfcmFuZ2Ugc3RydWN0ClNvIGNoYW5nZSB0aGVzZSBhbGwgdG8gdTg/ CgpNYW5hc2kKCj4gCj4gLS0gCj4gVmlsbGUgU3lyasOkbMOkCj4gSW50ZWwKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlz dApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4FC20CA9EAF for ; Thu, 24 Oct 2019 17:29:18 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 2C4962166E for ; Thu, 24 Oct 2019 17:29:18 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2C4962166E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 9E5616E59D; Thu, 24 Oct 2019 17:29:17 +0000 (UTC) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id BCBB06E59D; Thu, 24 Oct 2019 17:29:16 +0000 (UTC) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 24 Oct 2019 10:29:15 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,225,1569308400"; d="scan'208";a="197182572" Received: from labuser-z97x-ud5h.jf.intel.com (HELO intel.com) ([10.54.75.49]) by fmsmga008.fm.intel.com with ESMTP; 24 Oct 2019 10:29:15 -0700 Date: Thu, 24 Oct 2019 10:31:37 -0700 From: Manasi Navare To: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Message-ID: <20191024173137.GC11507@intel.com> References: <20191024000041.7391-1-manasi.d.navare@intel.com> <20191024103106.GA2825247@ulmo> <20191024113400.GX1208@intel.com> <20191024135441.GE2924027@ulmo> <20191024142032.GB1208@intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20191024142032.GB1208@intel.com> User-Agent: Mutt/1.5.24 (2015-08-30) Subject: Re: [Intel-gfx] [PATCH] drm/dp: Add function to parse EDID descriptors for adaptive sync limits X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: intel-gfx@lists.freedesktop.org, Harry Wentland , dri-devel@lists.freedesktop.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Message-ID: <20191024173137.zDeJ6Og2_sTm9CEh1e115MApSteXgmX7UcS1EcYkwv0@z> T24gVGh1LCBPY3QgMjQsIDIwMTkgYXQgMDU6MjA6MzJQTSArMDMwMCwgVmlsbGUgU3lyasOkbMOk IHdyb3RlOgo+IE9uIFRodSwgT2N0IDI0LCAyMDE5IGF0IDAzOjU0OjQxUE0gKzAyMDAsIFRoaWVy cnkgUmVkaW5nIHdyb3RlOgo+ID4gT24gVGh1LCBPY3QgMjQsIDIwMTkgYXQgMDI6MzQ6MDBQTSAr MDMwMCwgVmlsbGUgU3lyasOkbMOkIHdyb3RlOgo+ID4gPiBPbiBUaHUsIE9jdCAyNCwgMjAxOSBh dCAxMjozMTowNlBNICswMjAwLCBUaGllcnJ5IFJlZGluZyB3cm90ZToKPiA+ID4gPiBPbiBXZWQs IE9jdCAyMywgMjAxOSBhdCAwNTowMDo0MVBNIC0wNzAwLCBNYW5hc2kgTmF2YXJlIHdyb3RlOgo+ ID4gPiA+ID4gQWRhcHRpdmUgU3luYyBpcyBhIFZFU0EgZmVhdHVyZSBzbyBhZGQgYSBEUk0gY29y ZSBoZWxwZXIgdG8gcGFyc2UKPiA+ID4gPiA+IHRoZSBFRElEJ3MgZGV0YWlsZWQgZGVzY3JpdG9y cyB0byBvYnRhaW4gdGhlIGFkYXB0aXZlIHN5bmMgbW9uaXRvciByYW5nZS4KPiA+ID4gPiA+IFN0 b3JlIHRoaXMgaW5mbyBhcyBwYXJ0IGZvIGRybV9kaXNwbGF5X2luZm8gc28gaXQgY2FuIGJlIHVz ZWQKPiA+ID4gPiA+IGFjcm9zcyBhbGwgZHJpdmVycy4KPiA+ID4gPiA+IFRoaXMgcGFydCBvZiB0 aGUgY29kZSBpcyBzdHJpcHBlZCBvdXQgb2YgYW1kZ3B1J3MgZnVuY3Rpb24KPiA+ID4gPiA+IGFt ZGdwdV9kbV91cGRhdGVfZnJlZXN5bmNfY2FwcygpIHRvIG1ha2UgaXQgZ2VuZXJpYyBhbmQgYmUg dXNlZAo+ID4gPiA+ID4gYWNyb3NzIGFsbCBEUk0gZHJpdmVycwo+ID4gPiA+ID4gCj4gPiA+ID4g PiBDYzogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiA+ ID4gPiA+IENjOiBIYXJyeSBXZW50bGFuZCA8aGFycnkud2VudGxhbmRAYW1kLmNvbT4KPiA+ID4g PiA+IENjOiBDbGludG9uIEEgVGF5bG9yIDxjbGludG9uLmEudGF5bG9yQGludGVsLmNvbT4KPiA+ ID4gPiA+IFNpZ25lZC1vZmYtYnk6IE1hbmFzaSBOYXZhcmUgPG1hbmFzaS5kLm5hdmFyZUBpbnRl bC5jb20+Cj4gPiA+ID4gPiAtLS0KPiA+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQu YyAgfCA0OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gPiA+ID4gPiAg aW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oIHwgMjUgKysrKysrKysrKysrKysrKysrKwo+ID4g PiA+ID4gIGluY2x1ZGUvZHJtL2RybV9lZGlkLmggICAgICB8ICAyICsrCj4gPiA+ID4gPiAgMyBm aWxlcyBjaGFuZ2VkLCA3NiBpbnNlcnRpb25zKCspCj4gPiA+ID4gPiAKPiA+ID4gPiA+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f ZWRpZC5jCj4gPiA+ID4gPiBpbmRleCA0NzRhYzA0ZDU2MDAuLjk3ZGQxMjAwNzczZSAxMDA2NDQK PiA+ID4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jCj4gPiA+ID4gPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYwo+ID4gPiA+ID4gQEAgLTQ3MDcsNiArNDcwNyw1 MiBAQCBzdGF0aWMgdm9pZCBkcm1fcGFyc2VfY2VhX2V4dChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yLAo+ID4gPiA+ID4gIAl9Cj4gPiA+ID4gPiAgfQo+ID4gPiA+ID4gIAo+ID4gPiA+ ID4gK3ZvaWQgZHJtX2dldF9hZGFwdGl2ZV9zeW5jX2xpbWl0cyhzdHJ1Y3QgZHJtX2Nvbm5lY3Rv ciAqY29ubmVjdG9yLAo+ID4gPiA+ID4gKwkJCQkgIGNvbnN0IHN0cnVjdCBlZGlkICplZGlkKQo+ ID4gPiA+ID4gK3sKPiA+ID4gPiA+ICsJc3RydWN0IGRybV9kaXNwbGF5X2luZm8gKmluZm8gPSAm Y29ubmVjdG9yLT5kaXNwbGF5X2luZm87Cj4gPiA+ID4gPiArCWNvbnN0IHN0cnVjdCBkZXRhaWxl ZF90aW1pbmcgKnRpbWluZzsKPiA+ID4gPiA+ICsJY29uc3Qgc3RydWN0IGRldGFpbGVkX25vbl9w aXhlbCAqZGF0YTsKPiA+ID4gPiA+ICsJY29uc3Qgc3RydWN0IGRldGFpbGVkX2RhdGFfbW9uaXRv cl9yYW5nZSAqcmFuZ2U7Cj4gPiA+ID4gPiArCWludCBpOwo+ID4gPiA+IAo+ID4gPiA+IFRoaXMg Y2FuIGJlIHVuc2lnbmVkIGludC4KPiA+ID4gCj4gPiA+IFBsZWFzZSBuby4gQSBsb29wIGl0ZXJh dG9yIGNhbGxlZCAnaScgc2hvdWxkIGFsd2F5cyBiZSBhIG5vcm1hbCBzaWduZWQgaW50Lgo+ID4g Cj4gPiBXaGF0PyBXaGVyZSdzIHRoYXQgcnVsZSB3cml0dGVuIGRvd24/IEluIG15IGV4cGVyaWVu Y2UgaXQncyBhbHdheXMKPiA+IGJldHRlciB0byB1c2UgYXMgcmVzdHJpY3RpdmUgYSB0eXBlIGFz IHBvc3NpYmxlLiBJdCdzIHJlYWxseSBhbm5veWluZwo+ID4gd2hlbiBHQ0Mgc3VkZGVubHkgc3Rh cnRzIGNvbXBsYWluaW5nIGFib3V0IGNvbXBhcmlzb24gYmV0d2VlbiBzaWduZWQgYW5kCj4gPiB1 bnNpZ25lZC4gU28gaWYgYSB2YXJpYWJsZSBjYW4gbmV2ZXIgY29udGFpbiBhIHNpZ25lZCB2YWx1 ZSwgd2h5IHJpc2sKPiA+IHRoZSBhbWJpZ3VpdHk/IFRoZSB2YWx1ZSBnb2VzIGZyb20gMCB0byA0 LCB0aGUgc2lnbiBiaXQgaXMgdXNlbGVzcy4KPiAKPiBEdW5ubyBpZiBpdCdzIHJlYWxseSB3cml0 dGVuIGRvd24gYW55d2hlcmUuIEl0J3MganVzdCBzb21ldGhpbmcKPiBleHBlcmllbmNlIGhhcyB0 YXVnaHQuIElJUkMgdGhlcmUncyBhbHNvIGEgcmFudCBmcm9tIExpbnVzIGFib3V0IHRoaXMKPiBz b21ld2hlcmUuIEhtLCBjYW4ndCBmaW5kIHRoYXQgb25lIHJpZ2h0IG5vdywgYnV0IEFuZHJldyBN b3J0b24gYWxzbwo+IHNlZW1zIHRvIGFncmVlOiBodHRwczovL2x3bi5uZXQvQXJ0aWNsZXMvMzA5 Mjc5Lwo+IEFoLCBoZXJlIGlzIG9uZSBMaW51cyByYW50IGFib3V0IHVuc2lnbmVkIGFycmF5IGlu ZGV4ZXM6Cj4gaHR0cHM6Ly95YXJjaGl2ZS5uZXQvY29tcC9saW51eC9nY2MuaHRtbAo+IAo+IE15 IG9waW5pb246IHVuc2lnbmVkIGlzIGFuIHZlcnkgKmRhbmdlcm91cyoga2V5d29yZCBpbiBDIHRo YXQgZGVtYW5kcwo+IHlvdXIgcmVzcGVjdC4gWW91IHNob3VsZCBuZXZlciB1c2UgaXQgd2l0aG91 dCB0aGlua2luZyBmaXJzdCB3aGF0IHRoZQo+IHJhbWlmaWNhdGlvbnMgYXJlLiBZb3UgYWx3YXlz IGhhdmUgdG8gaGF2ZSB0aGUgcHJvbW90aW9uIHJ1bGVzIGNsZWFyIAo+IGluIHlvdSBtaW5kIHdo ZW4geW91IGRvIGFueSBraW5kIG9mIGFyaXRobWV0aWMgd2l0aCA+PSB1bnNpZ25lZCBpbnQKPiB0 eXBlLiBBbmQgY29tbW9uIGlkaW9tcyBzdWNoIGFzICdpbnQgaScgc2hvdWxkIGJlIHJlc3BlY3Rl ZCBzbyBhcyB0bwo+IG5vdCBjYXVzZSB1bmV4cGVjdGVkIGhhaXIgbG9zcyB0byBvdGhlciBkZXZl bG9wZXJzIHdoZW4gdGhleSBkZWNpZGUKPiB0byBtYWtlIHRoZSBsb29wIGl0ZXJhdGUgYmFja3dh cmRzLgo+IAo+ID4gCj4gPiA+ID4gPiArCS8qCj4gPiA+ID4gPiArCSAqIFJlc3RyaWN0IEFkYXB0 aXZlIFN5bmMgb25seSBmb3IgZHAgYW5kIGVkcAo+ID4gPiA+ID4gKwkgKi8KPiA+ID4gPiA+ICsJ aWYgKGNvbm5lY3Rvci0+Y29ubmVjdG9yX3R5cGUgIT0gRFJNX01PREVfQ09OTkVDVE9SX0Rpc3Bs YXlQb3J0ICYmCj4gPiA+ID4gPiArCSAgICBjb25uZWN0b3ItPmNvbm5lY3Rvcl90eXBlICE9IERS TV9NT0RFX0NPTk5FQ1RPUl9lRFApCj4gPiA+ID4gPiArCQlyZXR1cm47Cj4gPiA+ID4gPiArCj4g PiA+ID4gPiArCWlmIChlZGlkLT52ZXJzaW9uIDw9IDEgJiYgIShlZGlkLT52ZXJzaW9uID09IDEg JiYgZWRpZC0+cmV2aXNpb24gPiAxKSkKPiA+ID4gPiA+ICsJCXJldHVybjsKPiA+ID4gPiA+ICsK PiA+ID4gPiA+ICsJZm9yIChpID0gMDsgaSA8IDQ7IGkrKykgewo+ID4gPiA+ID4gKwkJdGltaW5n ICA9ICZlZGlkLT5kZXRhaWxlZF90aW1pbmdzW2ldOwo+ID4gPiA+ID4gKwkJZGF0YSAgICA9ICZ0 aW1pbmctPmRhdGEub3RoZXJfZGF0YTsKPiA+ID4gPiA+ICsJCXJhbmdlICAgPSAmZGF0YS0+ZGF0 YS5yYW5nZTsKPiA+ID4gPiA+ICsJCS8qCj4gPiA+ID4gPiArCQkgKiBDaGVjayBpZiBtb25pdG9y IGhhcyBjb250aW51b3VzIGZyZXF1ZW5jeSBtb2RlCj4gPiA+ID4gPiArCQkgKi8KPiA+ID4gPiA+ ICsJCWlmIChkYXRhLT50eXBlICE9IEVESURfREVUQUlMX01PTklUT1JfUkFOR0UpCj4gPiA+ID4g PiArCQkJY29udGludWU7Cj4gPiA+ID4gPiArCQkvKgo+ID4gPiA+ID4gKwkJICogQ2hlY2sgZm9y IGZsYWcgcmFuZ2UgbGltaXRzIG9ubHkuIElmIGZsYWcgPT0gMSB0aGVuCj4gPiA+ID4gPiArCQkg KiBubyBhZGRpdGlvbmFsIHRpbWluZyBpbmZvcm1hdGlvbiBwcm92aWRlZC4KPiA+ID4gPiA+ICsJ CSAqIERlZmF1bHQgR1RGLCBHVEYgU2Vjb25kYXJ5IGN1cnZlIGFuZCBDVlQgYXJlIG5vdAo+ID4g PiA+ID4gKwkJICogc3VwcG9ydGVkCj4gPiA+ID4gPiArCQkgKi8KPiA+ID4gPiA+ICsJCWlmIChy YW5nZS0+ZmxhZ3MgIT0gMSkKPiA+ID4gPiA+ICsJCQljb250aW51ZTsKPiA+ID4gPiA+ICsKPiA+ ID4gPiA+ICsJCWluZm8tPmFkYXB0aXZlX3N5bmMubWluX3ZmcmVxID0gcmFuZ2UtPm1pbl92ZnJl cTsKPiA+ID4gPiA+ICsJCWluZm8tPmFkYXB0aXZlX3N5bmMubWF4X3ZmcmVxID0gcmFuZ2UtPm1h eF92ZnJlcTsKPiA+ID4gPiA+ICsJCWluZm8tPmFkYXB0aXZlX3N5bmMucGl4ZWxfY2xvY2tfbWh6 ID0KPiA+ID4gPiA+ICsJCQlyYW5nZS0+cGl4ZWxfY2xvY2tfbWh6ICogMTA7Cj4gPiA+ID4gPiAr CQlicmVhazsKPiA+ID4gPiA+ICsJfQo+ID4gPiA+ID4gK30KPiA+ID4gPiA+ICtFWFBPUlRfU1lN Qk9MKGRybV9nZXRfYWRhcHRpdmVfc3luY19saW1pdHMpOwo+ID4gPiA+ID4gKwo+ID4gPiA+ID4g IC8qIEEgY29ubmVjdG9yIGhhcyBubyBFRElEIGluZm9ybWF0aW9uLCBzbyB3ZSd2ZSBnb3Qgbm8g RURJRCB0byBjb21wdXRlIHF1aXJrcyBmcm9tLiBSZXNldAo+ID4gPiA+ID4gICAqIGFsbCBvZiB0 aGUgdmFsdWVzIHdoaWNoIHdvdWxkIGhhdmUgYmVlbiBzZXQgZnJvbSBFRElECj4gPiA+ID4gPiAg ICovCj4gPiA+ID4gPiBAQCAtNDcyOCw2ICs0Nzc0LDcgQEAgZHJtX3Jlc2V0X2Rpc3BsYXlfaW5m byhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ID4gPiA+ID4gIAltZW1zZXQoJmlu Zm8tPmhkbWksIDAsIHNpemVvZihpbmZvLT5oZG1pKSk7Cj4gPiA+ID4gPiAgCj4gPiA+ID4gPiAg CWluZm8tPm5vbl9kZXNrdG9wID0gMDsKPiA+ID4gPiA+ICsJbWVtc2V0KCZpbmZvLT5hZGFwdGl2 ZV9zeW5jLCAwLCBzaXplb2YoaW5mby0+YWRhcHRpdmVfc3luYykpOwo+ID4gPiA+ID4gIH0KPiA+ ID4gPiA+ICAKPiA+ID4gPiA+ICB1MzIgZHJtX2FkZF9kaXNwbGF5X2luZm8oc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3RvciwgY29uc3Qgc3RydWN0IGVkaWQgKmVkaWQpCj4gPiA+ID4gPiBA QCAtNDc0Myw2ICs0NzkwLDggQEAgdTMyIGRybV9hZGRfZGlzcGxheV9pbmZvKHN0cnVjdCBkcm1f Y29ubmVjdG9yICpjb25uZWN0b3IsIGNvbnN0IHN0cnVjdCBlZGlkICplZGkKPiA+ID4gPiA+ICAK PiA+ID4gPiA+ICAJaW5mby0+bm9uX2Rlc2t0b3AgPSAhIShxdWlya3MgJiBFRElEX1FVSVJLX05P Tl9ERVNLVE9QKTsKPiA+ID4gPiA+ICAKPiA+ID4gPiA+ICsJZHJtX2dldF9hZGFwdGl2ZV9zeW5j X2xpbWl0cyhjb25uZWN0b3IsIGVkaWQpOwo+ID4gPiA+ID4gKwo+ID4gPiA+ID4gIAlEUk1fREVC VUdfS01TKCJub25fZGVza3RvcCBzZXQgdG8gJWRcbiIsIGluZm8tPm5vbl9kZXNrdG9wKTsKPiA+ ID4gPiA+ICAKPiA+ID4gPiA+ICAJaWYgKGVkaWQtPnJldmlzaW9uIDwgMykKPiA+ID4gPiA+IGRp ZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmggYi9pbmNsdWRlL2RybS9kcm1f Y29ubmVjdG9yLmgKPiA+ID4gPiA+IGluZGV4IDVmOGMzMzg5ZDQ2Zi4uYTI3YTg0MjcwZDhkIDEw MDY0NAo+ID4gPiA+ID4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCj4gPiA+ID4g PiArKysgYi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKPiA+ID4gPiA+IEBAIC0yNTQsNiAr MjU0LDI2IEBAIGVudW0gZHJtX3BhbmVsX29yaWVudGF0aW9uIHsKPiA+ID4gPiA+ICAJRFJNX01P REVfUEFORUxfT1JJRU5UQVRJT05fUklHSFRfVVAsCj4gPiA+ID4gPiAgfTsKPiA+ID4gPiA+ICAK PiA+ID4gPiA+ICsvKioKPiA+ID4gPiA+ICsgKiBzdHJ1Y3QgZHJtX2FkYXB0aXZlX3N5bmNfaW5m byAtIFBhbmVsJ3MgQWRhcHRpdmUgU3luYyBjYXBhYmlsaXRpZXMgZm9yCj4gPiA+ID4gPiArICog JmRybV9kaXNwbGF5X2luZm8KPiA+ID4gPiA+ICsgKgo+ID4gPiA+ID4gKyAqIFRoaXMgc3RydWN0 IGlzIHVzZWQgdG8gc3RvcmUgYSBQYW5lbCdzIEFkYXB0aXZlIFN5bmMgY2FwYWJpbGl0aWVzCj4g PiA+ID4gPiArICogYXMgcGFyc2VkIGZyb20gRURJRCdzIGRldGFpbGVkIG1vbml0b3IgcmFuZ2Ug ZGVzY3JpcHRvciBibG9jay4KPiA+ID4gPiA+ICsgKgo+ID4gPiA+ID4gKyAqIEBtaW5fdmZyZXE6 IFRoaXMgaXMgdGhlIG1pbiBzdXBwb3J0ZWQgcmVmcmVzaCByYXRlIGluIEh6IGZyb20KPiA+ID4g PiA+ICsgKiAgICAgICAgICAgICBFRElEJ3MgZGV0YWlsZWQgbW9uaXRvciByYW5nZS4KPiA+ID4g PiA+ICsgKiBAbWF4X3ZmcmVxOiBUaGlzIGlzIHRoZSBtYXggc3VwcG9ydGVkIHJlZnJlc2ggcmF0 ZSBpbiBIeiBmcm9tCj4gPiA+ID4gPiArICogICAgICAgICAgICAgRURJRCdzIGRldGFpbGVkIG1v bml0b3IgcmFuZ2UKPiA+ID4gPiA+ICsgKiBAcGl4ZWxfY2xvY2tfbWh6OiBUaGlzIGlzIHRoZSBk b3RjbG9jayBpbiBNSHogZnJvbQo+ID4gPiA+ID4gKyAqICAgICAgICAgICAgICAgICAgIEVESUQn cyBkZXRhaWxlZCBtb25pdG9yIHJhbmdlCj4gPiA+ID4gPiArICovCj4gPiA+ID4gPiArc3RydWN0 IGRybV9hZGFwdGl2ZV9zeW5jX2luZm8gewo+ID4gPiA+ID4gKwlpbnQgbWluX3ZmcmVxOwo+ID4g PiA+ID4gKwlpbnQgbWF4X3ZmcmVxOwo+ID4gPiA+ID4gKwlpbnQgcGl4ZWxfY2xvY2tfbWh6Owo+ ID4gPiA+IAo+ID4gPiA+IEFueSByZWFzb24gd2h5IHRoZXNlIGNhbid0IGJlIHVuc2lnbmVkPyBB bHNvLCBkb2VzIGl0IHBlcmhhcHMgbWFrZSBzZW5zZQo+ID4gPiA+IHRvIHN0b3JlIHRoZSBwaXhl bCBjbG9jayBhcyBrSHogbGlrZSB3ZSBkbyBldmVyeXdoZXJlIGVsc2U/Cj4gPiA+IAo+ID4gPiBB eWUsIGFsbCB0eXBpY2FsIGNsb2NrIGZyZXF1ZW5jaWVzIHNob3VsZCBiZSBpbiBraHouCj4gPiA+ IAo+ID4gPiBBbHNvIHRoZSB2ZnJlcXMgYXJlIG9ubHkgdTggaW4gdGhlIEVESUQsIHNvIGNhbiBi ZSB1OCBoZXJlIGFzIHdlbGwuCj4gPiAKPiA+IE5vdCBpZiB5b3Ugc3RvcmUgdGhlbSBpbiBrSHos IHRoZXkgY2FuJ3QuCj4gCj4gSU1PIHRob3NlIGNhbiBzdGF5IGluIEh6LiBUaGF0J3Mgd2hhdCBk cm1fbW9kZV92cmVmcmVzaCgpIGdpdmVzIHlvdSBhcyB3ZWxsLgoKQW5kIGkga2VwdCB0aGVtIGlu IGh6IGZvciBtaW4gYW5kIG1heCBhbmQgTWh6IGZvciBwaXhlbCBjbG9jayBmcm9tIHRoZSBkZXRh aWxlZF9kYXRhX21vbml0b3JfcmFuZ2Ugc3RydWN0ClNvIGNoYW5nZSB0aGVzZSBhbGwgdG8gdTg/ CgpNYW5hc2kKCj4gCj4gLS0gCj4gVmlsbGUgU3lyasOkbMOkCj4gSW50ZWwKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4