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=-13.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham 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 4B3F8C11F65 for ; Wed, 30 Jun 2021 11:36:23 +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 06D6C61468 for ; Wed, 30 Jun 2021 11:36:22 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 06D6C61468 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 CB1246E992; Wed, 30 Jun 2021 11:36:18 +0000 (UTC) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id C54A46E0F2; Wed, 30 Jun 2021 11:36:16 +0000 (UTC) X-IronPort-AV: E=McAfee;i="6200,9189,10030"; a="205323835" X-IronPort-AV: E=Sophos;i="5.83,311,1616482800"; d="scan'208";a="205323835" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Jun 2021 04:36:15 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,311,1616482800"; d="scan'208";a="558269236" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by orsmga004.jf.intel.com with ESMTP; 30 Jun 2021 04:36:15 -0700 Received: from bgsmsx603.gar.corp.intel.com (10.109.78.82) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Wed, 30 Jun 2021 04:36:14 -0700 Received: from bgsmsx604.gar.corp.intel.com (10.67.234.6) by BGSMSX603.gar.corp.intel.com (10.109.78.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Wed, 30 Jun 2021 17:06:12 +0530 Received: from bgsmsx604.gar.corp.intel.com ([10.67.234.6]) by BGSMSX604.gar.corp.intel.com ([10.67.234.6]) with mapi id 15.01.2242.008; Wed, 30 Jun 2021 17:06:12 +0530 From: "Shankar, Uma" To: Harry Wentland , "intel-gfx@lists.freedesktop.org" , "dri-devel@lists.freedesktop.org" Thread-Topic: [PATCH 04/21] drm/i915/xelpd: Define Degamma Lut range struct for HDR planes Thread-Index: AQHXVs8kUUeAmGLzREqUBbFHfmv9YqspVtkAgAM8z2A= Date: Wed, 30 Jun 2021 11:36:11 +0000 Message-ID: References: <20210601105218.29185-1-uma.shankar@intel.com> <20210601105218.29185-5-uma.shankar@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 x-originating-ip: [10.22.254.132] MIME-Version: 1.0 Subject: Re: [Intel-gfx] [PATCH 04/21] drm/i915/xelpd: Define Degamma Lut range struct for HDR planes X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" > -----Original Message----- > From: dri-devel On Behalf Of Harry > Wentland > Sent: Monday, June 28, 2021 8:45 PM > To: Shankar, Uma ; intel-gfx@lists.freedesktop.org; dri- > devel@lists.freedesktop.org > Cc: Modem, Bhanuprakash > Subject: Re: [PATCH 04/21] drm/i915/xelpd: Define Degamma Lut range struct for > HDR planes > > On 2021-06-01 6:52 a.m., Uma Shankar wrote: > > Define the structure with XE_LPD degamma lut ranges. HDR and SDR > > planes have different capabilities, implemented respective structure > > for the HDR planes. > > > > Signed-off-by: Uma Shankar > > --- > > drivers/gpu/drm/i915/display/intel_color.c | 52 > > ++++++++++++++++++++++ > > 1 file changed, 52 insertions(+) > > > > diff --git a/drivers/gpu/drm/i915/display/intel_color.c > > b/drivers/gpu/drm/i915/display/intel_color.c > > index dab892d2251b..c735d06a6b54 100644 > > --- a/drivers/gpu/drm/i915/display/intel_color.c > > +++ b/drivers/gpu/drm/i915/display/intel_color.c > > @@ -2093,6 +2093,58 @@ static void icl_read_luts(struct intel_crtc_state > *crtc_state) > > } > > } > > > > + /* FIXME input bpc? */ > > +__maybe_unused > > +static const struct drm_color_lut_range d13_degamma_hdr[] = { > > + /* segment 1 */ > > + { > > + .flags = (DRM_MODE_LUT_GAMMA | > > Why are these using DRM_MODE_LUT_GAMMA and not > DRM_MODE_LUT_DEGAMMA when the lut_type for this LUT is > LUT_TYPE_DEGAMMA? Thanks Harry for the comments. Yeah this is an oversight, will fix this. > > > > + DRM_MODE_LUT_REFLECT_NEGATIVE | > > + DRM_MODE_LUT_INTERPOLATE | > > + DRM_MODE_LUT_NON_DECREASING), > > + .count = 128, > > + .input_bpc = 24, .output_bpc = 16, > > Why do we need more than 16 bpc for LUT? FP16 is enough to represent HDR in > linear space. Wouldn't 16 bpc be enough? Pipe sometimes works internally on higher precision (just to take care of rounding etc.), later the extra data gets dropped at the end of the pipe. So from source side you are right, 16bpc is enough but the lut precision can go higher. > > > + .start = 0, .end = (1 << 24) - 1, > > + .min = 0, .max = (1 << 24) - 1, > > + }, > > + /* segment 2 */ > > + { > > + .flags = (DRM_MODE_LUT_GAMMA | > > + DRM_MODE_LUT_REFLECT_NEGATIVE | > > + DRM_MODE_LUT_INTERPOLATE | > > + DRM_MODE_LUT_REUSE_LAST | > > + DRM_MODE_LUT_NON_DECREASING), > > + .count = 1, > > + .input_bpc = 24, .output_bpc = 16, > > + .start = (1 << 24) - 1, .end = 1 << 24, > > + .min = 0, .max = (1 << 27) - 1, > > How can max be 1 << 27 if input_bpc is 24? This is to take care of > 1.0 section. 1.0 to 3.0 and 3.0 to 7.0. So we have 3.24 format for Lut to take care of this. Also, I have an action to update the series with UAPI doc and new naming for the property. My apologies for being late on that one. Will update and send that out soon. Thanks & Regards, Uma Shankar > > Harry > > > + }, > > + /* Segment 3 */ > > + { > > + .flags = (DRM_MODE_LUT_GAMMA | > > + DRM_MODE_LUT_REFLECT_NEGATIVE | > > + DRM_MODE_LUT_INTERPOLATE | > > + DRM_MODE_LUT_REUSE_LAST | > > + DRM_MODE_LUT_NON_DECREASING), > > + .count = 1, > > + .input_bpc = 24, .output_bpc = 16, > > + .start = 1 << 24, .end = 3 << 24, > > + .min = 0, .max = (1 << 27) - 1, > > + }, > > + /* Segment 4 */ > > + { > > + .flags = (DRM_MODE_LUT_GAMMA | > > + DRM_MODE_LUT_REFLECT_NEGATIVE | > > + DRM_MODE_LUT_INTERPOLATE | > > + DRM_MODE_LUT_REUSE_LAST | > > + DRM_MODE_LUT_NON_DECREASING), > > + .count = 1, > > + .input_bpc = 24, .output_bpc = 16, > > + .start = 3 << 24, .end = 7 << 24, > > + .min = 0, .max = (1 << 27) - 1, > > + }, > > +}; > > + > > void intel_color_init(struct intel_crtc *crtc) > > { > > struct drm_i915_private *dev_priv = to_i915(crtc->base.dev); > > _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx 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=-13.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham 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 60747C11F65 for ; Wed, 30 Jun 2021 11:36:19 +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 B01AE61468 for ; Wed, 30 Jun 2021 11:36:18 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B01AE61468 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=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 D3D7B6E0F2; Wed, 30 Jun 2021 11:36:17 +0000 (UTC) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id C54A46E0F2; Wed, 30 Jun 2021 11:36:16 +0000 (UTC) X-IronPort-AV: E=McAfee;i="6200,9189,10030"; a="205323835" X-IronPort-AV: E=Sophos;i="5.83,311,1616482800"; d="scan'208";a="205323835" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Jun 2021 04:36:15 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,311,1616482800"; d="scan'208";a="558269236" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by orsmga004.jf.intel.com with ESMTP; 30 Jun 2021 04:36:15 -0700 Received: from bgsmsx603.gar.corp.intel.com (10.109.78.82) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Wed, 30 Jun 2021 04:36:14 -0700 Received: from bgsmsx604.gar.corp.intel.com (10.67.234.6) by BGSMSX603.gar.corp.intel.com (10.109.78.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Wed, 30 Jun 2021 17:06:12 +0530 Received: from bgsmsx604.gar.corp.intel.com ([10.67.234.6]) by BGSMSX604.gar.corp.intel.com ([10.67.234.6]) with mapi id 15.01.2242.008; Wed, 30 Jun 2021 17:06:12 +0530 From: "Shankar, Uma" To: Harry Wentland , "intel-gfx@lists.freedesktop.org" , "dri-devel@lists.freedesktop.org" Subject: RE: [PATCH 04/21] drm/i915/xelpd: Define Degamma Lut range struct for HDR planes Thread-Topic: [PATCH 04/21] drm/i915/xelpd: Define Degamma Lut range struct for HDR planes Thread-Index: AQHXVs8kUUeAmGLzREqUBbFHfmv9YqspVtkAgAM8z2A= Date: Wed, 30 Jun 2021 11:36:11 +0000 Message-ID: References: <20210601105218.29185-1-uma.shankar@intel.com> <20210601105218.29185-5-uma.shankar@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 x-originating-ip: [10.22.254.132] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Modem, Bhanuprakash" Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZHJpLWRldmVsIDxkcmkt ZGV2ZWwtYm91bmNlc0BsaXN0cy5mcmVlZGVza3RvcC5vcmc+IE9uIEJlaGFsZiBPZiBIYXJyeQ0K PiBXZW50bGFuZA0KPiBTZW50OiBNb25kYXksIEp1bmUgMjgsIDIwMjEgODo0NSBQTQ0KPiBUbzog U2hhbmthciwgVW1hIDx1bWEuc2hhbmthckBpbnRlbC5jb20+OyBpbnRlbC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnOyBkcmktDQo+IGRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZw0KPiBDYzog TW9kZW0sIEJoYW51cHJha2FzaCA8YmhhbnVwcmFrYXNoLm1vZGVtQGludGVsLmNvbT4NCj4gU3Vi amVjdDogUmU6IFtQQVRDSCAwNC8yMV0gZHJtL2k5MTUveGVscGQ6IERlZmluZSBEZWdhbW1hIEx1 dCByYW5nZSBzdHJ1Y3QgZm9yDQo+IEhEUiBwbGFuZXMNCj4gDQo+IE9uIDIwMjEtMDYtMDEgNjo1 MiBhLm0uLCBVbWEgU2hhbmthciB3cm90ZToNCj4gPiBEZWZpbmUgdGhlIHN0cnVjdHVyZSB3aXRo IFhFX0xQRCBkZWdhbW1hIGx1dCByYW5nZXMuIEhEUiBhbmQgU0RSDQo+ID4gcGxhbmVzIGhhdmUg ZGlmZmVyZW50IGNhcGFiaWxpdGllcywgaW1wbGVtZW50ZWQgcmVzcGVjdGl2ZSBzdHJ1Y3R1cmUN Cj4gPiBmb3IgdGhlIEhEUiBwbGFuZXMuDQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBVbWEgU2hh bmthciA8dW1hLnNoYW5rYXJAaW50ZWwuY29tPg0KPiA+IC0tLQ0KPiA+ICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX2NvbG9yLmMgfCA1Mg0KPiA+ICsrKysrKysrKysrKysrKysr KysrKysNCj4gPiAgMSBmaWxlIGNoYW5nZWQsIDUyIGluc2VydGlvbnMoKykNCj4gPg0KPiA+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2NvbG9yLmMNCj4g PiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY29sb3IuYw0KPiA+IGluZGV4 IGRhYjg5MmQyMjUxYi4uYzczNWQwNmE2YjU0IDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY29sb3IuYw0KPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfY29sb3IuYw0KPiA+IEBAIC0yMDkzLDYgKzIwOTMsNTggQEAg c3RhdGljIHZvaWQgaWNsX3JlYWRfbHV0cyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZQ0KPiAqY3J0 Y19zdGF0ZSkNCj4gPiAgCX0NCj4gPiAgfQ0KPiA+DQo+ID4gKyAvKiBGSVhNRSBpbnB1dCBicGM/ ICovDQo+ID4gK19fbWF5YmVfdW51c2VkDQo+ID4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Nv bG9yX2x1dF9yYW5nZSBkMTNfZGVnYW1tYV9oZHJbXSA9IHsNCj4gPiArCS8qIHNlZ21lbnQgMSAq Lw0KPiA+ICsJew0KPiA+ICsJCS5mbGFncyA9IChEUk1fTU9ERV9MVVRfR0FNTUEgfA0KPiANCj4g V2h5IGFyZSB0aGVzZSB1c2luZyBEUk1fTU9ERV9MVVRfR0FNTUEgYW5kIG5vdA0KPiBEUk1fTU9E RV9MVVRfREVHQU1NQSB3aGVuIHRoZSBsdXRfdHlwZSBmb3IgdGhpcyBMVVQgaXMNCj4gTFVUX1RZ UEVfREVHQU1NQT8NCg0KVGhhbmtzIEhhcnJ5IGZvciB0aGUgY29tbWVudHMuDQoNClllYWggdGhp cyBpcyBhbiBvdmVyc2lnaHQsIHdpbGwgZml4IHRoaXMuDQo+IA0KPiANCj4gPiArCQkJICBEUk1f TU9ERV9MVVRfUkVGTEVDVF9ORUdBVElWRSB8DQo+ID4gKwkJCSAgRFJNX01PREVfTFVUX0lOVEVS UE9MQVRFIHwNCj4gPiArCQkJICBEUk1fTU9ERV9MVVRfTk9OX0RFQ1JFQVNJTkcpLA0KPiA+ICsJ CS5jb3VudCA9IDEyOCwNCj4gPiArCQkuaW5wdXRfYnBjID0gMjQsIC5vdXRwdXRfYnBjID0gMTYs DQo+IA0KPiBXaHkgZG8gd2UgbmVlZCBtb3JlIHRoYW4gMTYgYnBjIGZvciBMVVQ/IEZQMTYgaXMg ZW5vdWdoIHRvIHJlcHJlc2VudCBIRFIgaW4NCj4gbGluZWFyIHNwYWNlLiBXb3VsZG4ndCAxNiBi cGMgYmUgZW5vdWdoPw0KDQpQaXBlIHNvbWV0aW1lcyB3b3JrcyBpbnRlcm5hbGx5IG9uIGhpZ2hl ciBwcmVjaXNpb24gKGp1c3QgdG8gdGFrZSBjYXJlIG9mIHJvdW5kaW5nIGV0Yy4pLCBsYXRlciB0 aGUNCmV4dHJhIGRhdGEgZ2V0cyBkcm9wcGVkIGF0IHRoZSBlbmQgb2YgdGhlIHBpcGUuIFNvIGZy b20gc291cmNlIHNpZGUgeW91IGFyZSByaWdodCwgMTZicGMgaXMgZW5vdWdoDQpidXQgdGhlIGx1 dCBwcmVjaXNpb24gY2FuIGdvIGhpZ2hlci4NCg0KPiANCj4gPiArCQkuc3RhcnQgPSAwLCAuZW5k ID0gKDEgPDwgMjQpIC0gMSwNCj4gPiArCQkubWluID0gMCwgLm1heCA9ICgxIDw8IDI0KSAtIDEs DQo+ID4gKwl9LA0KPiA+ICsJLyogc2VnbWVudCAyICovDQo+ID4gKwl7DQo+ID4gKwkJLmZsYWdz ID0gKERSTV9NT0RFX0xVVF9HQU1NQSB8DQo+ID4gKwkJCSAgRFJNX01PREVfTFVUX1JFRkxFQ1Rf TkVHQVRJVkUgfA0KPiA+ICsJCQkgIERSTV9NT0RFX0xVVF9JTlRFUlBPTEFURSB8DQo+ID4gKwkJ CSAgRFJNX01PREVfTFVUX1JFVVNFX0xBU1QgfA0KPiA+ICsJCQkgIERSTV9NT0RFX0xVVF9OT05f REVDUkVBU0lORyksDQo+ID4gKwkJLmNvdW50ID0gMSwNCj4gPiArCQkuaW5wdXRfYnBjID0gMjQs IC5vdXRwdXRfYnBjID0gMTYsDQo+ID4gKwkJLnN0YXJ0ID0gKDEgPDwgMjQpIC0gMSwgLmVuZCA9 IDEgPDwgMjQsDQo+ID4gKwkJLm1pbiA9IDAsIC5tYXggPSAoMSA8PCAyNykgLSAxLA0KPiANCj4g SG93IGNhbiBtYXggYmUgMSA8PCAyNyBpZiBpbnB1dF9icGMgaXMgMjQ/DQoNClRoaXMgaXMgdG8g dGFrZSBjYXJlIG9mID4gMS4wIHNlY3Rpb24uIDEuMCB0byAzLjAgYW5kIDMuMCB0byA3LjAuDQpT byB3ZSBoYXZlIDMuMjQgZm9ybWF0IGZvciBMdXQgdG8gdGFrZSBjYXJlIG9mIHRoaXMuIA0KDQpB bHNvLCBJIGhhdmUgYW4gYWN0aW9uIHRvIHVwZGF0ZSB0aGUgc2VyaWVzIHdpdGggVUFQSSBkb2Mg YW5kIG5ldyBuYW1pbmcgZm9yIHRoZSBwcm9wZXJ0eS4NCk15IGFwb2xvZ2llcyBmb3IgYmVpbmcg bGF0ZSBvbiB0aGF0IG9uZS4gV2lsbCB1cGRhdGUgYW5kIHNlbmQgdGhhdCBvdXQgc29vbi4NCg0K VGhhbmtzICYgUmVnYXJkcywNClVtYSBTaGFua2FyDQo+IA0KPiBIYXJyeQ0KPiANCj4gPiArCX0s DQo+ID4gKwkvKiBTZWdtZW50IDMgKi8NCj4gPiArCXsNCj4gPiArCQkuZmxhZ3MgPSAoRFJNX01P REVfTFVUX0dBTU1BIHwNCj4gPiArCQkJICBEUk1fTU9ERV9MVVRfUkVGTEVDVF9ORUdBVElWRSB8 DQo+ID4gKwkJCSAgRFJNX01PREVfTFVUX0lOVEVSUE9MQVRFIHwNCj4gPiArCQkJICBEUk1fTU9E RV9MVVRfUkVVU0VfTEFTVCB8DQo+ID4gKwkJCSAgRFJNX01PREVfTFVUX05PTl9ERUNSRUFTSU5H KSwNCj4gPiArCQkuY291bnQgPSAxLA0KPiA+ICsJCS5pbnB1dF9icGMgPSAyNCwgLm91dHB1dF9i cGMgPSAxNiwNCj4gPiArCQkuc3RhcnQgPSAxIDw8IDI0LCAuZW5kID0gMyA8PCAyNCwNCj4gPiAr CQkubWluID0gMCwgLm1heCA9ICgxIDw8IDI3KSAtIDEsDQo+ID4gKwl9LA0KPiA+ICsJLyogU2Vn bWVudCA0ICovDQo+ID4gKwl7DQo+ID4gKwkJLmZsYWdzID0gKERSTV9NT0RFX0xVVF9HQU1NQSB8 DQo+ID4gKwkJCSAgRFJNX01PREVfTFVUX1JFRkxFQ1RfTkVHQVRJVkUgfA0KPiA+ICsJCQkgIERS TV9NT0RFX0xVVF9JTlRFUlBPTEFURSB8DQo+ID4gKwkJCSAgRFJNX01PREVfTFVUX1JFVVNFX0xB U1QgfA0KPiA+ICsJCQkgIERSTV9NT0RFX0xVVF9OT05fREVDUkVBU0lORyksDQo+ID4gKwkJLmNv dW50ID0gMSwNCj4gPiArCQkuaW5wdXRfYnBjID0gMjQsIC5vdXRwdXRfYnBjID0gMTYsDQo+ID4g KwkJLnN0YXJ0ID0gMyA8PCAyNCwgLmVuZCA9IDcgPDwgMjQsDQo+ID4gKwkJLm1pbiA9IDAsIC5t YXggPSAoMSA8PCAyNykgLSAxLA0KPiA+ICsJfSwNCj4gPiArfTsNCj4gPiArDQo+ID4gIHZvaWQg aW50ZWxfY29sb3JfaW5pdChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykNCj4gPiAgew0KPiA+ICAJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRl dik7DQo+ID4NCg0K