From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 1/2] drm/edid: Add aspect ratios to HDMI 4K modes Date: Fri, 15 Nov 2019 21:22:01 +0200 Message-ID: <20191115192201.GK1208@intel.com> References: <20191112075307.12574-1-Wayne.Lin@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20191112075307.12574-1-Wayne.Lin-5C7GfCeVMHo@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: Wayne Lin Cc: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBOb3YgMTIsIDIwMTkgYXQgMDM6NTM6MDZQTSArMDgwMCwgV2F5bmUgTGluIHdyb3Rl Ogo+IFtXaHldCj4gSERNSSAyLjAgYWRkcyBhc3BlY3QgcmF0aW8gYXR0cmlidXRlIHRvIGRpc3Rp bmd1aXNoIGRpZmZlcmVudAo+IDRrIG1vZGVzLiBBY2NvcmRpbmcgdG8gQXBwZW5kaXggRSBvZiBI RE1JIDIuMCBzcGVjLCBzb3VyY2Ugc2hvdWxkCj4gdXNlIFZTSUYgdG8gaW5kaWNhdGUgdmlkZW8g bW9kZSBvbmx5IHdoZW4gdGhlIG1vZGUgaXMgb25lIGRlZmluZWQKPiBpbiBIRE1JIDEuNGIgNEsg bW9kZXMuIE90aGVyd2lzZSwgdXNlIEFWSSBpbmZvZnJhbWVzIHRvIGNvbnZleSBWSUMuCj4gCj4g Q3VycmVudCBjb2RlIGRvZXNuJ3QgdGFrZSBhc3BlY3QgcmF0aW8gaW50byBjb25zaWRlcmF0aW9u IHdoaWxlCj4gY29uc3RydWN0aW5nIGF2aSBpbmZvZnJhbWUuIFNob3VsZCBtb2RpZnkgdGhhdC4K PiAKPiBbSG93XQo+IEluaGVyaXQgVmlsbGUgU3lyasOkbMOkJ3Mgd29yawo+ICJkcm0vZWRpZDog UHJlcCBmb3IgSERNSSBWSUMgYXNwZWN0IHJhdGlvIiBhdAo+IGh0dHBzOi8vcGF0Y2h3b3JrLmtl cm5lbC5vcmcvcGF0Y2gvMTExNzQ2MzkvCj4gCj4gQWRkIHBpY3R1cmVfYXNwZWN0X3JhdGlvIGF0 dHJpYnV0ZXMgdG8gZWRpZF80a19tb2Rlc1tdIGFuZAo+IGNvbnN0cnVjdCBWSUMgYW5kIEhETUlf VklDIGJ5IHRha2luZyBhc3BlY3QgcmF0aW8gaW50bwo+IGNvbnNpZGVyYXRpb24uCj4gCj4gU2ln bmVkLW9mZi1ieTogV2F5bmUgTGluIDxXYXluZS5MaW5AYW1kLmNvbT4KPiAtLS0KPiAgZHJpdmVy cy9ncHUvZHJtL2RybV9lZGlkLmMgfCA0NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0t LS0tLS0tLQo+ICAxIGZpbGUgY2hhbmdlZCwgMzUgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25z KC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jIGIvZHJpdmVy cy9ncHUvZHJtL2RybV9lZGlkLmMKPiBpbmRleCA3N2EzOWZjNzYwNDUuLmZjZDdhZTI5MDQ5ZCAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9kcm1fZWRpZC5jCj4gQEAgLTEyODgsMjUgKzEyODgsMjUgQEAgc3RhdGljIGNvbnN0 IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlIGVkaWRfNGtfbW9kZXNbXSA9IHsKPiAgCQkgICAzODQw LCA0MDE2LCA0MTA0LCA0NDAwLCAwLAo+ICAJCSAgIDIxNjAsIDIxNjgsIDIxNzgsIDIyNTAsIDAs Cj4gIAkJICAgRFJNX01PREVfRkxBR19QSFNZTkMgfCBEUk1fTU9ERV9GTEFHX1BWU1lOQyksCj4g LQkgIC52cmVmcmVzaCA9IDMwLCB9LAo+ICsJICAudnJlZnJlc2ggPSAzMCwgLnBpY3R1cmVfYXNw ZWN0X3JhdGlvID0gSERNSV9QSUNUVVJFX0FTUEVDVF8xNl85LCB9LAo+ICAJLyogMiAtIDM4NDB4 MjE2MEAyNUh6ICovCj4gIAl7IERSTV9NT0RFKCIzODQweDIxNjAiLCBEUk1fTU9ERV9UWVBFX0RS SVZFUiwgMjk3MDAwLAo+ICAJCSAgIDM4NDAsIDQ4OTYsIDQ5ODQsIDUyODAsIDAsCj4gIAkJICAg MjE2MCwgMjE2OCwgMjE3OCwgMjI1MCwgMCwKPiAgCQkgICBEUk1fTU9ERV9GTEFHX1BIU1lOQyB8 IERSTV9NT0RFX0ZMQUdfUFZTWU5DKSwKPiAtCSAgLnZyZWZyZXNoID0gMjUsIH0sCj4gKwkgIC52 cmVmcmVzaCA9IDI1LCAucGljdHVyZV9hc3BlY3RfcmF0aW8gPSBIRE1JX1BJQ1RVUkVfQVNQRUNU XzE2XzksIH0sCj4gIAkvKiAzIC0gMzg0MHgyMTYwQDI0SHogKi8KPiAgCXsgRFJNX01PREUoIjM4 NDB4MjE2MCIsIERSTV9NT0RFX1RZUEVfRFJJVkVSLCAyOTcwMDAsCj4gIAkJICAgMzg0MCwgNTEx NiwgNTIwNCwgNTUwMCwgMCwKPiAgCQkgICAyMTYwLCAyMTY4LCAyMTc4LCAyMjUwLCAwLAo+ICAJ CSAgIERSTV9NT0RFX0ZMQUdfUEhTWU5DIHwgRFJNX01PREVfRkxBR19QVlNZTkMpLAo+IC0JICAu dnJlZnJlc2ggPSAyNCwgfSwKPiArCSAgLnZyZWZyZXNoID0gMjQsIC5waWN0dXJlX2FzcGVjdF9y YXRpbyA9IEhETUlfUElDVFVSRV9BU1BFQ1RfMTZfOSwgfSwKPiAgCS8qIDQgLSA0MDk2eDIxNjBA MjRIeiAoU01QVEUpICovCj4gIAl7IERSTV9NT0RFKCI0MDk2eDIxNjAiLCBEUk1fTU9ERV9UWVBF X0RSSVZFUiwgMjk3MDAwLAo+ICAJCSAgIDQwOTYsIDUxMTYsIDUyMDQsIDU1MDAsIDAsCj4gIAkJ ICAgMjE2MCwgMjE2OCwgMjE3OCwgMjI1MCwgMCwKPiAgCQkgICBEUk1fTU9ERV9GTEFHX1BIU1lO QyB8IERSTV9NT0RFX0ZMQUdfUFZTWU5DKSwKPiAtCSAgLnZyZWZyZXNoID0gMjQsIH0sCj4gKwkg IC52cmVmcmVzaCA9IDI0LCBIRE1JX1BJQ1RVUkVfQVNQRUNUXzI1Nl8xMzV9LAogICAgICAgICAg ICAgICAgICAgICAgICAgXiAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KTWlzc2luZyBuYW1l ZCBpbml0aWFsaXplci4gICAgICAgICAgICAgICAgIE1pc3NpbmcgIiwgIgoKPiAgfTsKPiAgCj4g IC8qKiogRERDIGZldGNoIGFuZCBibG9jayB2YWxpZGF0aW9uICoqKi8KPiBAQCAtMzExMCw2ICsz MTEwLDExIEBAIHN0YXRpYyBlbnVtIGhkbWlfcGljdHVyZV9hc3BlY3QgZHJtX2dldF9jZWFfYXNw ZWN0X3JhdGlvKGNvbnN0IHU4IHZpZGVvX2NvZGUpCj4gIAlyZXR1cm4gZWRpZF9jZWFfbW9kZXNb dmlkZW9fY29kZV0ucGljdHVyZV9hc3BlY3RfcmF0aW87Cj4gIH0KPiAgCj4gK3N0YXRpYyBlbnVt IGhkbWlfcGljdHVyZV9hc3BlY3QgZHJtX2dldF9oZG1pX2FzcGVjdF9yYXRpbyhjb25zdCB1OCB2 aWRlb19jb2RlKQo+ICt7Cj4gKwlyZXR1cm4gZWRpZF80a19tb2Rlc1t2aWRlb19jb2RlXS5waWN0 dXJlX2FzcGVjdF9yYXRpbzsKPiArfQo+ICsKPiAgLyoKPiAgICogQ2FsY3VsYXRlIHRoZSBhbHRl cm5hdGUgY2xvY2sgZm9yIEhETUkgbW9kZXMgKHRob3NlIGZyb20gdGhlIEhETUkgdmVuZG9yCj4g ICAqIHNwZWNpZmljIGJsb2NrKS4KPiBAQCAtMzEzNiw2ICszMTQxLDkgQEAgc3RhdGljIHU4IGRy bV9tYXRjaF9oZG1pX21vZGVfY2xvY2tfdG9sZXJhbmNlKGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxh eV9tb2RlICp0b18KPiAgCWlmICghdG9fbWF0Y2gtPmNsb2NrKQo+ICAJCXJldHVybiAwOwo+ICAK PiArCWlmICh0b19tYXRjaC0+cGljdHVyZV9hc3BlY3RfcmF0aW8pCj4gKwkJbWF0Y2hfZmxhZ3Mg fD0gRFJNX01PREVfTUFUQ0hfQVNQRUNUX1JBVElPOwo+ICsKPiAgCWZvciAodmljID0gMTsgdmlj IDwgQVJSQVlfU0laRShlZGlkXzRrX21vZGVzKTsgdmljKyspIHsKPiAgCQljb25zdCBzdHJ1Y3Qg ZHJtX2Rpc3BsYXlfbW9kZSAqaGRtaV9tb2RlID0gJmVkaWRfNGtfbW9kZXNbdmljXTsKPiAgCQl1 bnNpZ25lZCBpbnQgY2xvY2sxLCBjbG9jazI7Cj4gQEAgLTMxNzEsNiArMzE3OSw5IEBAIHN0YXRp YyB1OCBkcm1fbWF0Y2hfaGRtaV9tb2RlKGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICp0 b19tYXRjaCkKPiAgCWlmICghdG9fbWF0Y2gtPmNsb2NrKQo+ICAJCXJldHVybiAwOwo+ICAKPiAr CWlmICh0b19tYXRjaC0+cGljdHVyZV9hc3BlY3RfcmF0aW8pCj4gKwkJbWF0Y2hfZmxhZ3MgfD0g RFJNX01PREVfTUFUQ0hfQVNQRUNUX1JBVElPOwo+ICsKPiAgCWZvciAodmljID0gMTsgdmljIDwg QVJSQVlfU0laRShlZGlkXzRrX21vZGVzKTsgdmljKyspIHsKPiAgCQljb25zdCBzdHJ1Y3QgZHJt X2Rpc3BsYXlfbW9kZSAqaGRtaV9tb2RlID0gJmVkaWRfNGtfbW9kZXNbdmljXTsKPiAgCQl1bnNp Z25lZCBpbnQgY2xvY2sxLCBjbG9jazI7Cj4gQEAgLTUxMTgsNiArNTEyOSw3IEBAIGRybV9oZG1p X2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoc3RydWN0IGhkbWlfYXZpX2luZm9mcmFt ZSAqZnJhbWUsCj4gIAkJCQkJIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ ICB7Cj4gIAllbnVtIGhkbWlfcGljdHVyZV9hc3BlY3QgcGljdHVyZV9hc3BlY3Q7Cj4gKwl1OCB2 aWMsIGhkbWlfdmljOwo+ICAJaW50IGVycjsKPiAgCj4gIAlpZiAoIWZyYW1lIHx8ICFtb2RlKQo+ IEBAIC01MTMwLDcgKzUxNDIsOCBAQCBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxh eV9tb2RlKHN0cnVjdCBoZG1pX2F2aV9pbmZvZnJhbWUgKmZyYW1lLAo+ICAJaWYgKG1vZGUtPmZs YWdzICYgRFJNX01PREVfRkxBR19EQkxDTEspCj4gIAkJZnJhbWUtPnBpeGVsX3JlcGVhdCA9IDE7 Cj4gIAo+IC0JZnJhbWUtPnZpZGVvX2NvZGUgPSBkcm1fbW9kZV9jZWFfdmljKGNvbm5lY3Rvciwg bW9kZSk7Cj4gKwl2aWMgPSBkcm1fbW9kZV9jZWFfdmljKGNvbm5lY3RvciwgbW9kZSk7Cj4gKwlo ZG1pX3ZpYyA9IGRybV9tb2RlX2hkbWlfdmljKGNvbm5lY3RvciwgbW9kZSk7Cj4gIAo+ICAJZnJh bWUtPnBpY3R1cmVfYXNwZWN0ID0gSERNSV9QSUNUVVJFX0FTUEVDVF9OT05FOwo+ICAKPiBAQCAt NTE0NCwxMSArNTE1NywxNSBAQCBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9t b2RlKHN0cnVjdCBoZG1pX2F2aV9pbmZvZnJhbWUgKmZyYW1lLAo+ICAKPiAgCS8qCj4gIAkgKiBQ b3B1bGF0ZSBwaWN0dXJlIGFzcGVjdCByYXRpbyBmcm9tIGVpdGhlcgo+IC0JICogdXNlciBpbnB1 dCAoaWYgc3BlY2lmaWVkKSBvciBmcm9tIHRoZSBDRUEgbW9kZSBsaXN0Lgo+ICsJICogdXNlciBp bnB1dCAoaWYgc3BlY2lmaWVkKSBvciBmcm9tIHRoZSBDRUEvSERNSSBtb2RlIGxpc3RzLgo+ICAJ ICovCj4gIAlwaWN0dXJlX2FzcGVjdCA9IG1vZGUtPnBpY3R1cmVfYXNwZWN0X3JhdGlvOwo+IC0J aWYgKHBpY3R1cmVfYXNwZWN0ID09IEhETUlfUElDVFVSRV9BU1BFQ1RfTk9ORSkKPiAtCQlwaWN0 dXJlX2FzcGVjdCA9IGRybV9nZXRfY2VhX2FzcGVjdF9yYXRpbyhmcmFtZS0+dmlkZW9fY29kZSk7 Cj4gKwlpZiAocGljdHVyZV9hc3BlY3QgPT0gSERNSV9QSUNUVVJFX0FTUEVDVF9OT05FKSB7Cj4g KwkJaWYgKHZpYykKPiArCQkJcGljdHVyZV9hc3BlY3QgPSBkcm1fZ2V0X2NlYV9hc3BlY3RfcmF0 aW8odmljKTsKPiArCQllbHNlIGlmIChoZG1pX3ZpYykKPiArCQkJcGljdHVyZV9hc3BlY3QgPSBk cm1fZ2V0X2hkbWlfYXNwZWN0X3JhdGlvKGhkbWlfdmljKTsKPiArCX0KPiAgCj4gIAkvKgo+ICAJ ICogVGhlIGluZm9mcmFtZSBjYW4ndCBjb252ZXkgYW55dGhpbmcgYnV0IG5vbmUsIDQ6Mwo+IEBA IC01MTU2LDEyICs1MTczLDIwIEBAIGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5 X21vZGUoc3RydWN0IGhkbWlfYXZpX2luZm9mcmFtZSAqZnJhbWUsCj4gIAkgKiB3ZSBjYW4gb25s eSBzYXRpc2Z5IGl0IGJ5IHNwZWNpZnlpbmcgdGhlIHJpZ2h0IFZJQy4KPiAgCSAqLwo+ICAJaWYg KHBpY3R1cmVfYXNwZWN0ID4gSERNSV9QSUNUVVJFX0FTUEVDVF8xNl85KSB7Cj4gLQkJaWYgKHBp Y3R1cmVfYXNwZWN0ICE9Cj4gLQkJICAgIGRybV9nZXRfY2VhX2FzcGVjdF9yYXRpbyhmcmFtZS0+ dmlkZW9fY29kZSkpCj4gKwkJaWYgKHZpYykgewo+ICsJCQlpZiAocGljdHVyZV9hc3BlY3QgIT0g ZHJtX2dldF9jZWFfYXNwZWN0X3JhdGlvKHZpYykpCj4gKwkJCQlyZXR1cm4gLUVJTlZBTDsKPiAr CQl9IGVsc2UgaWYgKGhkbWlfdmljKSB7Cj4gKwkJCWlmIChwaWN0dXJlX2FzcGVjdCAhPSBkcm1f Z2V0X2hkbWlfYXNwZWN0X3JhdGlvKGhkbWlfdmljKSkKPiArCQkJCXJldHVybiAtRUlOVkFMOwo+ ICsJCX0gZWxzZSB7Cj4gIAkJCXJldHVybiAtRUlOVkFMOwo+ICsJCX0KPiArCj4gIAkJcGljdHVy ZV9hc3BlY3QgPSBIRE1JX1BJQ1RVUkVfQVNQRUNUX05PTkU7Cj4gIAl9Cj4gIAo+ICsJZnJhbWUt PnZpZGVvX2NvZGUgPSB2aWM7Cj4gIAlmcmFtZS0+cGljdHVyZV9hc3BlY3QgPSBwaWN0dXJlX2Fz cGVjdDsKPiAgCWZyYW1lLT5hY3RpdmVfYXNwZWN0ID0gSERNSV9BQ1RJVkVfQVNQRUNUX1BJQ1RV UkU7Cj4gIAlmcmFtZS0+c2Nhbl9tb2RlID0gSERNSV9TQ0FOX01PREVfVU5ERVJTQ0FOOwo+IC0t IAo+IDIuMTcuMQoKLS0gClZpbGxlIFN5cmrDpGzDpApJbnRlbApfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2FtZC1nZng= 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, 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 034F3C43215 for ; Fri, 15 Nov 2019 19:22:08 +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 D8179206D9 for ; Fri, 15 Nov 2019 19:22:07 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D8179206D9 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id B954C6E7AC; Fri, 15 Nov 2019 19:22:06 +0000 (UTC) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id A77DF6E7A2; Fri, 15 Nov 2019 19:22:05 +0000 (UTC) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 15 Nov 2019 11:22:04 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,309,1569308400"; d="scan'208";a="257845663" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.174]) by FMSMGA003.fm.intel.com with SMTP; 15 Nov 2019 11:22:01 -0800 Received: by stinkbox (sSMTP sendmail emulation); Fri, 15 Nov 2019 21:22:01 +0200 Date: Fri, 15 Nov 2019 21:22:01 +0200 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= To: Wayne Lin Subject: Re: [PATCH 1/2] drm/edid: Add aspect ratios to HDMI 4K modes Message-ID: <20191115192201.GK1208@intel.com> References: <20191112075307.12574-1-Wayne.Lin@amd.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20191112075307.12574-1-Wayne.Lin@amd.com> User-Agent: Mutt/1.10.1 (2018-07-13) X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Message-ID: <20191115192201.NzRvxJyZh_ySPseDlmgrKj7x6Yo-JoQC6UDm3sTXrlE@z> T24gVHVlLCBOb3YgMTIsIDIwMTkgYXQgMDM6NTM6MDZQTSArMDgwMCwgV2F5bmUgTGluIHdyb3Rl Ogo+IFtXaHldCj4gSERNSSAyLjAgYWRkcyBhc3BlY3QgcmF0aW8gYXR0cmlidXRlIHRvIGRpc3Rp bmd1aXNoIGRpZmZlcmVudAo+IDRrIG1vZGVzLiBBY2NvcmRpbmcgdG8gQXBwZW5kaXggRSBvZiBI RE1JIDIuMCBzcGVjLCBzb3VyY2Ugc2hvdWxkCj4gdXNlIFZTSUYgdG8gaW5kaWNhdGUgdmlkZW8g bW9kZSBvbmx5IHdoZW4gdGhlIG1vZGUgaXMgb25lIGRlZmluZWQKPiBpbiBIRE1JIDEuNGIgNEsg bW9kZXMuIE90aGVyd2lzZSwgdXNlIEFWSSBpbmZvZnJhbWVzIHRvIGNvbnZleSBWSUMuCj4gCj4g Q3VycmVudCBjb2RlIGRvZXNuJ3QgdGFrZSBhc3BlY3QgcmF0aW8gaW50byBjb25zaWRlcmF0aW9u IHdoaWxlCj4gY29uc3RydWN0aW5nIGF2aSBpbmZvZnJhbWUuIFNob3VsZCBtb2RpZnkgdGhhdC4K PiAKPiBbSG93XQo+IEluaGVyaXQgVmlsbGUgU3lyasOkbMOkJ3Mgd29yawo+ICJkcm0vZWRpZDog UHJlcCBmb3IgSERNSSBWSUMgYXNwZWN0IHJhdGlvIiBhdAo+IGh0dHBzOi8vcGF0Y2h3b3JrLmtl cm5lbC5vcmcvcGF0Y2gvMTExNzQ2MzkvCj4gCj4gQWRkIHBpY3R1cmVfYXNwZWN0X3JhdGlvIGF0 dHJpYnV0ZXMgdG8gZWRpZF80a19tb2Rlc1tdIGFuZAo+IGNvbnN0cnVjdCBWSUMgYW5kIEhETUlf VklDIGJ5IHRha2luZyBhc3BlY3QgcmF0aW8gaW50bwo+IGNvbnNpZGVyYXRpb24uCj4gCj4gU2ln bmVkLW9mZi1ieTogV2F5bmUgTGluIDxXYXluZS5MaW5AYW1kLmNvbT4KPiAtLS0KPiAgZHJpdmVy cy9ncHUvZHJtL2RybV9lZGlkLmMgfCA0NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0t LS0tLS0tLQo+ICAxIGZpbGUgY2hhbmdlZCwgMzUgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25z KC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jIGIvZHJpdmVy cy9ncHUvZHJtL2RybV9lZGlkLmMKPiBpbmRleCA3N2EzOWZjNzYwNDUuLmZjZDdhZTI5MDQ5ZCAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9kcm1fZWRpZC5jCj4gQEAgLTEyODgsMjUgKzEyODgsMjUgQEAgc3RhdGljIGNvbnN0 IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlIGVkaWRfNGtfbW9kZXNbXSA9IHsKPiAgCQkgICAzODQw LCA0MDE2LCA0MTA0LCA0NDAwLCAwLAo+ICAJCSAgIDIxNjAsIDIxNjgsIDIxNzgsIDIyNTAsIDAs Cj4gIAkJICAgRFJNX01PREVfRkxBR19QSFNZTkMgfCBEUk1fTU9ERV9GTEFHX1BWU1lOQyksCj4g LQkgIC52cmVmcmVzaCA9IDMwLCB9LAo+ICsJICAudnJlZnJlc2ggPSAzMCwgLnBpY3R1cmVfYXNw ZWN0X3JhdGlvID0gSERNSV9QSUNUVVJFX0FTUEVDVF8xNl85LCB9LAo+ICAJLyogMiAtIDM4NDB4 MjE2MEAyNUh6ICovCj4gIAl7IERSTV9NT0RFKCIzODQweDIxNjAiLCBEUk1fTU9ERV9UWVBFX0RS SVZFUiwgMjk3MDAwLAo+ICAJCSAgIDM4NDAsIDQ4OTYsIDQ5ODQsIDUyODAsIDAsCj4gIAkJICAg MjE2MCwgMjE2OCwgMjE3OCwgMjI1MCwgMCwKPiAgCQkgICBEUk1fTU9ERV9GTEFHX1BIU1lOQyB8 IERSTV9NT0RFX0ZMQUdfUFZTWU5DKSwKPiAtCSAgLnZyZWZyZXNoID0gMjUsIH0sCj4gKwkgIC52 cmVmcmVzaCA9IDI1LCAucGljdHVyZV9hc3BlY3RfcmF0aW8gPSBIRE1JX1BJQ1RVUkVfQVNQRUNU XzE2XzksIH0sCj4gIAkvKiAzIC0gMzg0MHgyMTYwQDI0SHogKi8KPiAgCXsgRFJNX01PREUoIjM4 NDB4MjE2MCIsIERSTV9NT0RFX1RZUEVfRFJJVkVSLCAyOTcwMDAsCj4gIAkJICAgMzg0MCwgNTEx NiwgNTIwNCwgNTUwMCwgMCwKPiAgCQkgICAyMTYwLCAyMTY4LCAyMTc4LCAyMjUwLCAwLAo+ICAJ CSAgIERSTV9NT0RFX0ZMQUdfUEhTWU5DIHwgRFJNX01PREVfRkxBR19QVlNZTkMpLAo+IC0JICAu dnJlZnJlc2ggPSAyNCwgfSwKPiArCSAgLnZyZWZyZXNoID0gMjQsIC5waWN0dXJlX2FzcGVjdF9y YXRpbyA9IEhETUlfUElDVFVSRV9BU1BFQ1RfMTZfOSwgfSwKPiAgCS8qIDQgLSA0MDk2eDIxNjBA MjRIeiAoU01QVEUpICovCj4gIAl7IERSTV9NT0RFKCI0MDk2eDIxNjAiLCBEUk1fTU9ERV9UWVBF X0RSSVZFUiwgMjk3MDAwLAo+ICAJCSAgIDQwOTYsIDUxMTYsIDUyMDQsIDU1MDAsIDAsCj4gIAkJ ICAgMjE2MCwgMjE2OCwgMjE3OCwgMjI1MCwgMCwKPiAgCQkgICBEUk1fTU9ERV9GTEFHX1BIU1lO QyB8IERSTV9NT0RFX0ZMQUdfUFZTWU5DKSwKPiAtCSAgLnZyZWZyZXNoID0gMjQsIH0sCj4gKwkg IC52cmVmcmVzaCA9IDI0LCBIRE1JX1BJQ1RVUkVfQVNQRUNUXzI1Nl8xMzV9LAogICAgICAgICAg ICAgICAgICAgICAgICAgXiAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KTWlzc2luZyBuYW1l ZCBpbml0aWFsaXplci4gICAgICAgICAgICAgICAgIE1pc3NpbmcgIiwgIgoKPiAgfTsKPiAgCj4g IC8qKiogRERDIGZldGNoIGFuZCBibG9jayB2YWxpZGF0aW9uICoqKi8KPiBAQCAtMzExMCw2ICsz MTEwLDExIEBAIHN0YXRpYyBlbnVtIGhkbWlfcGljdHVyZV9hc3BlY3QgZHJtX2dldF9jZWFfYXNw ZWN0X3JhdGlvKGNvbnN0IHU4IHZpZGVvX2NvZGUpCj4gIAlyZXR1cm4gZWRpZF9jZWFfbW9kZXNb dmlkZW9fY29kZV0ucGljdHVyZV9hc3BlY3RfcmF0aW87Cj4gIH0KPiAgCj4gK3N0YXRpYyBlbnVt IGhkbWlfcGljdHVyZV9hc3BlY3QgZHJtX2dldF9oZG1pX2FzcGVjdF9yYXRpbyhjb25zdCB1OCB2 aWRlb19jb2RlKQo+ICt7Cj4gKwlyZXR1cm4gZWRpZF80a19tb2Rlc1t2aWRlb19jb2RlXS5waWN0 dXJlX2FzcGVjdF9yYXRpbzsKPiArfQo+ICsKPiAgLyoKPiAgICogQ2FsY3VsYXRlIHRoZSBhbHRl cm5hdGUgY2xvY2sgZm9yIEhETUkgbW9kZXMgKHRob3NlIGZyb20gdGhlIEhETUkgdmVuZG9yCj4g ICAqIHNwZWNpZmljIGJsb2NrKS4KPiBAQCAtMzEzNiw2ICszMTQxLDkgQEAgc3RhdGljIHU4IGRy bV9tYXRjaF9oZG1pX21vZGVfY2xvY2tfdG9sZXJhbmNlKGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxh eV9tb2RlICp0b18KPiAgCWlmICghdG9fbWF0Y2gtPmNsb2NrKQo+ICAJCXJldHVybiAwOwo+ICAK PiArCWlmICh0b19tYXRjaC0+cGljdHVyZV9hc3BlY3RfcmF0aW8pCj4gKwkJbWF0Y2hfZmxhZ3Mg fD0gRFJNX01PREVfTUFUQ0hfQVNQRUNUX1JBVElPOwo+ICsKPiAgCWZvciAodmljID0gMTsgdmlj IDwgQVJSQVlfU0laRShlZGlkXzRrX21vZGVzKTsgdmljKyspIHsKPiAgCQljb25zdCBzdHJ1Y3Qg ZHJtX2Rpc3BsYXlfbW9kZSAqaGRtaV9tb2RlID0gJmVkaWRfNGtfbW9kZXNbdmljXTsKPiAgCQl1 bnNpZ25lZCBpbnQgY2xvY2sxLCBjbG9jazI7Cj4gQEAgLTMxNzEsNiArMzE3OSw5IEBAIHN0YXRp YyB1OCBkcm1fbWF0Y2hfaGRtaV9tb2RlKGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICp0 b19tYXRjaCkKPiAgCWlmICghdG9fbWF0Y2gtPmNsb2NrKQo+ICAJCXJldHVybiAwOwo+ICAKPiAr CWlmICh0b19tYXRjaC0+cGljdHVyZV9hc3BlY3RfcmF0aW8pCj4gKwkJbWF0Y2hfZmxhZ3MgfD0g RFJNX01PREVfTUFUQ0hfQVNQRUNUX1JBVElPOwo+ICsKPiAgCWZvciAodmljID0gMTsgdmljIDwg QVJSQVlfU0laRShlZGlkXzRrX21vZGVzKTsgdmljKyspIHsKPiAgCQljb25zdCBzdHJ1Y3QgZHJt X2Rpc3BsYXlfbW9kZSAqaGRtaV9tb2RlID0gJmVkaWRfNGtfbW9kZXNbdmljXTsKPiAgCQl1bnNp Z25lZCBpbnQgY2xvY2sxLCBjbG9jazI7Cj4gQEAgLTUxMTgsNiArNTEyOSw3IEBAIGRybV9oZG1p X2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoc3RydWN0IGhkbWlfYXZpX2luZm9mcmFt ZSAqZnJhbWUsCj4gIAkJCQkJIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ ICB7Cj4gIAllbnVtIGhkbWlfcGljdHVyZV9hc3BlY3QgcGljdHVyZV9hc3BlY3Q7Cj4gKwl1OCB2 aWMsIGhkbWlfdmljOwo+ICAJaW50IGVycjsKPiAgCj4gIAlpZiAoIWZyYW1lIHx8ICFtb2RlKQo+ IEBAIC01MTMwLDcgKzUxNDIsOCBAQCBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxh eV9tb2RlKHN0cnVjdCBoZG1pX2F2aV9pbmZvZnJhbWUgKmZyYW1lLAo+ICAJaWYgKG1vZGUtPmZs YWdzICYgRFJNX01PREVfRkxBR19EQkxDTEspCj4gIAkJZnJhbWUtPnBpeGVsX3JlcGVhdCA9IDE7 Cj4gIAo+IC0JZnJhbWUtPnZpZGVvX2NvZGUgPSBkcm1fbW9kZV9jZWFfdmljKGNvbm5lY3Rvciwg bW9kZSk7Cj4gKwl2aWMgPSBkcm1fbW9kZV9jZWFfdmljKGNvbm5lY3RvciwgbW9kZSk7Cj4gKwlo ZG1pX3ZpYyA9IGRybV9tb2RlX2hkbWlfdmljKGNvbm5lY3RvciwgbW9kZSk7Cj4gIAo+ICAJZnJh bWUtPnBpY3R1cmVfYXNwZWN0ID0gSERNSV9QSUNUVVJFX0FTUEVDVF9OT05FOwo+ICAKPiBAQCAt NTE0NCwxMSArNTE1NywxNSBAQCBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9t b2RlKHN0cnVjdCBoZG1pX2F2aV9pbmZvZnJhbWUgKmZyYW1lLAo+ICAKPiAgCS8qCj4gIAkgKiBQ b3B1bGF0ZSBwaWN0dXJlIGFzcGVjdCByYXRpbyBmcm9tIGVpdGhlcgo+IC0JICogdXNlciBpbnB1 dCAoaWYgc3BlY2lmaWVkKSBvciBmcm9tIHRoZSBDRUEgbW9kZSBsaXN0Lgo+ICsJICogdXNlciBp bnB1dCAoaWYgc3BlY2lmaWVkKSBvciBmcm9tIHRoZSBDRUEvSERNSSBtb2RlIGxpc3RzLgo+ICAJ ICovCj4gIAlwaWN0dXJlX2FzcGVjdCA9IG1vZGUtPnBpY3R1cmVfYXNwZWN0X3JhdGlvOwo+IC0J aWYgKHBpY3R1cmVfYXNwZWN0ID09IEhETUlfUElDVFVSRV9BU1BFQ1RfTk9ORSkKPiAtCQlwaWN0 dXJlX2FzcGVjdCA9IGRybV9nZXRfY2VhX2FzcGVjdF9yYXRpbyhmcmFtZS0+dmlkZW9fY29kZSk7 Cj4gKwlpZiAocGljdHVyZV9hc3BlY3QgPT0gSERNSV9QSUNUVVJFX0FTUEVDVF9OT05FKSB7Cj4g KwkJaWYgKHZpYykKPiArCQkJcGljdHVyZV9hc3BlY3QgPSBkcm1fZ2V0X2NlYV9hc3BlY3RfcmF0 aW8odmljKTsKPiArCQllbHNlIGlmIChoZG1pX3ZpYykKPiArCQkJcGljdHVyZV9hc3BlY3QgPSBk cm1fZ2V0X2hkbWlfYXNwZWN0X3JhdGlvKGhkbWlfdmljKTsKPiArCX0KPiAgCj4gIAkvKgo+ICAJ ICogVGhlIGluZm9mcmFtZSBjYW4ndCBjb252ZXkgYW55dGhpbmcgYnV0IG5vbmUsIDQ6Mwo+IEBA IC01MTU2LDEyICs1MTczLDIwIEBAIGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5 X21vZGUoc3RydWN0IGhkbWlfYXZpX2luZm9mcmFtZSAqZnJhbWUsCj4gIAkgKiB3ZSBjYW4gb25s eSBzYXRpc2Z5IGl0IGJ5IHNwZWNpZnlpbmcgdGhlIHJpZ2h0IFZJQy4KPiAgCSAqLwo+ICAJaWYg KHBpY3R1cmVfYXNwZWN0ID4gSERNSV9QSUNUVVJFX0FTUEVDVF8xNl85KSB7Cj4gLQkJaWYgKHBp Y3R1cmVfYXNwZWN0ICE9Cj4gLQkJICAgIGRybV9nZXRfY2VhX2FzcGVjdF9yYXRpbyhmcmFtZS0+ dmlkZW9fY29kZSkpCj4gKwkJaWYgKHZpYykgewo+ICsJCQlpZiAocGljdHVyZV9hc3BlY3QgIT0g ZHJtX2dldF9jZWFfYXNwZWN0X3JhdGlvKHZpYykpCj4gKwkJCQlyZXR1cm4gLUVJTlZBTDsKPiAr CQl9IGVsc2UgaWYgKGhkbWlfdmljKSB7Cj4gKwkJCWlmIChwaWN0dXJlX2FzcGVjdCAhPSBkcm1f Z2V0X2hkbWlfYXNwZWN0X3JhdGlvKGhkbWlfdmljKSkKPiArCQkJCXJldHVybiAtRUlOVkFMOwo+ ICsJCX0gZWxzZSB7Cj4gIAkJCXJldHVybiAtRUlOVkFMOwo+ICsJCX0KPiArCj4gIAkJcGljdHVy ZV9hc3BlY3QgPSBIRE1JX1BJQ1RVUkVfQVNQRUNUX05PTkU7Cj4gIAl9Cj4gIAo+ICsJZnJhbWUt PnZpZGVvX2NvZGUgPSB2aWM7Cj4gIAlmcmFtZS0+cGljdHVyZV9hc3BlY3QgPSBwaWN0dXJlX2Fz cGVjdDsKPiAgCWZyYW1lLT5hY3RpdmVfYXNwZWN0ID0gSERNSV9BQ1RJVkVfQVNQRUNUX1BJQ1RV UkU7Cj4gIAlmcmFtZS0+c2Nhbl9tb2RlID0gSERNSV9TQ0FOX01PREVfVU5ERVJTQ0FOOwo+IC0t IAo+IDIuMTcuMQoKLS0gClZpbGxlIFN5cmrDpGzDpApJbnRlbApfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1k ZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=