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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 48B42C433EF for ; Tue, 8 Feb 2022 21:30:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:References: Message-ID:Date:Subject:CC:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=iAVeKKtguwWw8XxyIVfbGqL1mNhZg5wZG9P9SCWTu3Q=; b=xL0/E2ZCRjA0BD fp3HfDeVWnV/Cg+K2sdVP/EptqWsrsUzEEV+LnKvTXHWtPZ/A78lpQ4XCTCcFRwIIBqMgFq9TccFn QBfJHiNhAhPf0Bd+1VC0F7PJ7Qo8ElIcrnKZHuceZbdPP9GM8R+KaG50surXm5iz7TeLJL0TnsGBu gqMfPItju81HhRoIG0mhxIpCfEnP9y6YqnFVgEmXa5E9yQaqMizLkAn7+6oPylpQbyasnTPjH49fN ubSS8WYa1s6l9jFLPD5MweB3u6tdmgqgrU6QSklfaYJLxVqbhHL8wAxE4v8Uxjkz8NqVWPZFdi2DJ COcUSggVMJu4/hkh3DnQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nHY2R-00Fbui-DA; Tue, 08 Feb 2022 21:28:39 +0000 Received: from mx3.securetransport.de ([116.203.31.6]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nHY2N-00Fbu7-10 for linux-arm-kernel@lists.infradead.org; Tue, 08 Feb 2022 21:28:37 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dh-electronics.com; s=dhelectronicscom; t=1644355666; bh=zZIzS25fvVz+cTiQnyf23vG5rNt9OYdstegtagXQcrQ=; h=From:To:CC:Subject:Date:References:In-Reply-To:From; b=DN0dLWea0IjpVC2EtqtOttNzVANXnJWq3iQ2zmz9edGq1J7VXdD1SxTLlxtEXlFzA vZoI9OuMe/OLobp/LJFvXC/N71DatVGVqLo73rAVH+52o8U5LkvuhP2xFKAVcDFwEn yp9STvUc3/uT0tkTD72QfqmmKtnlUqvyZvHJCUEFyi/uRvlzBZy/z9qOnisehvSV0h OqMnva2kvWqv4dVto9tmjbK1yGziRcyCEr9LivSTzPH/p1D5DLKtYMfZvMGaS99DUq WTTOW6KvYaajDnJX4j29SkkRbpb9mAIDHwmMDlnFCubGj7eP6gakjvqQY6ZCCVPznf bjeHE5+Y6pNew== X-secureTransport-forwarded: yes From: Christoph Niedermaier Complaints-To: abuse@cubewerk.de To: Laurent Pinchart CC: "dri-devel@lists.freedesktop.org" , "Marek MV. Vasut" , Sam Ravnborg , "Maxime Ripard" , Philipp Zabel , "David Airlie" , Daniel Vetter , Shawn Guo , Sascha Hauer , "Pengutronix Kernel Team" , Fabio Estevam , "NXP Linux Team" , "linux-arm-kernel@lists.infradead.org" Subject: RE: [RFC][PATCH] Revert "drm/panel-simple: drop use of data-mapping property" Thread-Topic: [RFC][PATCH] Revert "drm/panel-simple: drop use of data-mapping property" Thread-Index: AQHYF1wNP59QmGTIpEaZdSyAMfHN4ayA3pOAgAkEMsA= Date: Tue, 8 Feb 2022 21:27:17 +0000 Message-ID: <4a2f4707c03d4509aa5f3a388cbfbe04@dh-electronics.com> References: <20220201110717.3585-1-cniedermaier@dh-electronics.com> In-Reply-To: Accept-Language: de-DE, en-US Content-Language: de-DE X-MS-Has-Attach: X-MS-TNEF-Correlator: MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220208_132835_522895_3A8E5CEB X-CRM114-Status: GOOD ( 26.90 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Laurent Pinchart [mailto:laurent.pinchart@ideasonboard.com] Sent: Thursday, February 3, 2022 12:46 AM > > Hi Christoph, > Hi Laurent, > On Tue, Feb 01, 2022 at 12:07:17PM +0100, Christoph Niedermaier wrote: >> Without the data-mapping devicetree property my display won't >> work properly. It is flickering, because the bus flags won't >> be assigned without a defined bus format by the imx parallel >> display driver. There was a discussion about the removal [1] >> and an agreement that a better solution is needed, but it is >> missing so far. So what would be the better approach? >> >> [1] https://patchwork.freedesktop.org/patch/357659/?series=74705&rev=1 >> >> This reverts commit d021d751c14752a0266865700f6f212fab40a18c. >> >> Signed-off-by: Christoph Niedermaier >> Cc: Marek Vasut >> Cc: Sam Ravnborg >> Cc: Laurent Pinchart >> Cc: Maxime Ripard >> Cc: Philipp Zabel >> Cc: David Airlie >> Cc: Daniel Vetter >> Cc: Shawn Guo >> Cc: Sascha Hauer >> Cc: Pengutronix Kernel Team >> Cc: Fabio Estevam >> Cc: NXP Linux Team >> Cc: linux-arm-kernel@lists.infradead.org >> To: dri-devel@lists.freedesktop.org >> --- >> drivers/gpu/drm/panel/panel-simple.c | 11 +++++++++++ >> 1 file changed, 11 insertions(+) >> >> diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c >> index 3c08f9827acf..2c683d94a3f3 100644 >> --- a/drivers/gpu/drm/panel/panel-simple.c >> +++ b/drivers/gpu/drm/panel/panel-simple.c >> @@ -453,6 +453,7 @@ static int panel_dpi_probe(struct device *dev, >> struct panel_desc *desc; >> unsigned int bus_flags; >> struct videomode vm; >> + const char *mapping; >> int ret; >> >> np = dev->of_node; >> @@ -477,6 +478,16 @@ static int panel_dpi_probe(struct device *dev, >> of_property_read_u32(np, "width-mm", &desc->size.width); >> of_property_read_u32(np, "height-mm", &desc->size.height); >> >> + of_property_read_string(np, "data-mapping", &mapping); >> + if (!strcmp(mapping, "rgb24")) >> + desc->bus_format = MEDIA_BUS_FMT_RGB888_1X24; >> + else if (!strcmp(mapping, "rgb565")) >> + desc->bus_format = MEDIA_BUS_FMT_RGB565_1X16; >> + else if (!strcmp(mapping, "bgr666")) >> + desc->bus_format = MEDIA_BUS_FMT_RGB666_1X18; >> + else if (!strcmp(mapping, "lvds666")) >> + desc->bus_format = MEDIA_BUS_FMT_RGB666_1X24_CPADHI; > > You're right that there's an issue, but a revert isn't the right option. > The commit you're reverting never made it in a stable release, because > it was deemed to not be a good enough option. > > First of all, any attempt to fix this should include an update to the DT > binding. Second, as this is about DPI panels, the LVDS option should be > dropped. Finally, I've shared some initial thoughts in [1], maybe you > can reply to that e-mail to continue the discussion there ? According to your thoughts in [1] you mean that the bus format should be build out of the devicetree properties bus-width and data-shift. It would be possible for evenly structured busses like RGB888_1X24 and RGB666_1X18, but what about a bus like RGB565_1X16, where each color has different bus width. Also the order of the colors should be defined to differ between busses like RGB888_1X24 and GBR888_1X24. Are there any ideas how can this be covered? > > [1] https://lore.kernel.org/all/20200303185531.GJ11333@pendragon.ideasonboard.com/ > >> + >> /* Extract bus_flags from display_timing */ >> bus_flags = 0; >> vm.flags = timing->flags; > Regards Christoph _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel 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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id BECB8C433EF for ; Wed, 9 Feb 2022 08:39:58 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id E12B710E2B8; Wed, 9 Feb 2022 08:39:56 +0000 (UTC) Received: from mx3.securetransport.de (mx3.securetransport.de [IPv6:2a01:4f8:c0c:92be::1]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0FA0610E1E3 for ; Tue, 8 Feb 2022 21:28:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dh-electronics.com; s=dhelectronicscom; t=1644355666; bh=zZIzS25fvVz+cTiQnyf23vG5rNt9OYdstegtagXQcrQ=; h=From:To:CC:Subject:Date:References:In-Reply-To:From; b=DN0dLWea0IjpVC2EtqtOttNzVANXnJWq3iQ2zmz9edGq1J7VXdD1SxTLlxtEXlFzA vZoI9OuMe/OLobp/LJFvXC/N71DatVGVqLo73rAVH+52o8U5LkvuhP2xFKAVcDFwEn yp9STvUc3/uT0tkTD72QfqmmKtnlUqvyZvHJCUEFyi/uRvlzBZy/z9qOnisehvSV0h OqMnva2kvWqv4dVto9tmjbK1yGziRcyCEr9LivSTzPH/p1D5DLKtYMfZvMGaS99DUq WTTOW6KvYaajDnJX4j29SkkRbpb9mAIDHwmMDlnFCubGj7eP6gakjvqQY6ZCCVPznf bjeHE5+Y6pNew== X-secureTransport-forwarded: yes From: Christoph Niedermaier Complaints-To: abuse@cubewerk.de To: Laurent Pinchart Subject: RE: [RFC][PATCH] Revert "drm/panel-simple: drop use of data-mapping property" Thread-Topic: [RFC][PATCH] Revert "drm/panel-simple: drop use of data-mapping property" Thread-Index: AQHYF1wNP59QmGTIpEaZdSyAMfHN4ayA3pOAgAkEMsA= Date: Tue, 8 Feb 2022 21:27:17 +0000 Message-ID: <4a2f4707c03d4509aa5f3a388cbfbe04@dh-electronics.com> References: <20220201110717.3585-1-cniedermaier@dh-electronics.com> In-Reply-To: Accept-Language: de-DE, en-US Content-Language: de-DE X-MS-Has-Attach: X-MS-TNEF-Correlator: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-Mailman-Approved-At: Wed, 09 Feb 2022 08:39:54 +0000 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: "Marek MV. Vasut" , David Airlie , Shawn Guo , Sascha Hauer , "dri-devel@lists.freedesktop.org" , Sam Ravnborg , Pengutronix Kernel Team , "linux-arm-kernel@lists.infradead.org" , NXP Linux Team Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" RnJvbTogTGF1cmVudCBQaW5jaGFydCBbbWFpbHRvOmxhdXJlbnQucGluY2hhcnRAaWRlYXNvbmJv YXJkLmNvbV0NClNlbnQ6IFRodXJzZGF5LCBGZWJydWFyeSAzLCAyMDIyIDEyOjQ2IEFNDQo+IA0K PiBIaSBDaHJpc3RvcGgsDQo+IA0KDQpIaSBMYXVyZW50LA0KDQo+IE9uIFR1ZSwgRmViIDAxLCAy MDIyIGF0IDEyOjA3OjE3UE0gKzAxMDAsIENocmlzdG9waCBOaWVkZXJtYWllciB3cm90ZToNCj4+ IFdpdGhvdXQgdGhlIGRhdGEtbWFwcGluZyBkZXZpY2V0cmVlIHByb3BlcnR5IG15IGRpc3BsYXkg d29uJ3QNCj4+IHdvcmsgcHJvcGVybHkuIEl0IGlzIGZsaWNrZXJpbmcsIGJlY2F1c2UgdGhlIGJ1 cyBmbGFncyB3b24ndA0KPj4gYmUgYXNzaWduZWQgd2l0aG91dCBhIGRlZmluZWQgYnVzIGZvcm1h dCBieSB0aGUgaW14IHBhcmFsbGVsDQo+PiBkaXNwbGF5IGRyaXZlci4gVGhlcmUgd2FzIGEgZGlz Y3Vzc2lvbiBhYm91dCB0aGUgcmVtb3ZhbCBbMV0NCj4+IGFuZCBhbiBhZ3JlZW1lbnQgdGhhdCBh IGJldHRlciBzb2x1dGlvbiBpcyBuZWVkZWQsIGJ1dCBpdCBpcw0KPj4gbWlzc2luZyBzbyBmYXIu IFNvIHdoYXQgd291bGQgYmUgdGhlIGJldHRlciBhcHByb2FjaD8NCj4+DQo+PiBbMV0gaHR0cHM6 Ly9wYXRjaHdvcmsuZnJlZWRlc2t0b3Aub3JnL3BhdGNoLzM1NzY1OS8/c2VyaWVzPTc0NzA1JnJl dj0xDQo+Pg0KPj4gVGhpcyByZXZlcnRzIGNvbW1pdCBkMDIxZDc1MWMxNDc1MmEwMjY2ODY1NzAw ZjZmMjEyZmFiNDBhMThjLg0KPj4NCj4+IFNpZ25lZC1vZmYtYnk6IENocmlzdG9waCBOaWVkZXJt YWllciA8Y25pZWRlcm1haWVyQGRoLWVsZWN0cm9uaWNzLmNvbT4NCj4+IENjOiBNYXJlayBWYXN1 dCA8bWFyZXhAZGVueC5kZT4NCj4+IENjOiBTYW0gUmF2bmJvcmcgPHNhbUByYXZuYm9yZy5vcmc+ DQo+PiBDYzogTGF1cmVudCBQaW5jaGFydCA8bGF1cmVudC5waW5jaGFydEBpZGVhc29uYm9hcmQu Y29tPg0KPj4gQ2M6IE1heGltZSBSaXBhcmQgPG1yaXBhcmRAa2VybmVsLm9yZz4NCj4+IENjOiBQ aGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPg0KPj4gQ2M6IERhdmlkIEFpcmxp ZSA8YWlybGllZEBsaW51eC5pZT4NCj4+IENjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWxAZmZ3bGwu Y2g+DQo+PiBDYzogU2hhd24gR3VvIDxzaGF3bmd1b0BrZXJuZWwub3JnPg0KPj4gQ2M6IFNhc2No YSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4NCj4+IENjOiBQZW5ndXRyb25peCBLZXJu ZWwgVGVhbSA8a2VybmVsQHBlbmd1dHJvbml4LmRlPg0KPj4gQ2M6IEZhYmlvIEVzdGV2YW0gPGZl c3RldmFtQGdtYWlsLmNvbT4NCj4+IENjOiBOWFAgTGludXggVGVhbSA8bGludXgtaW14QG54cC5j b20+DQo+PiBDYzogbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnDQo+PiBUbzog ZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZw0KPj4gLS0tDQo+PiAgZHJpdmVycy9ncHUv ZHJtL3BhbmVsL3BhbmVsLXNpbXBsZS5jIHwgMTEgKysrKysrKysrKysNCj4+ICAxIGZpbGUgY2hh bmdlZCwgMTEgaW5zZXJ0aW9ucygrKQ0KPj4NCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vcGFuZWwvcGFuZWwtc2ltcGxlLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2lt cGxlLmMNCj4+IGluZGV4IDNjMDhmOTgyN2FjZi4uMmM2ODNkOTRhM2YzIDEwMDY0NA0KPj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNpbXBsZS5jDQo+PiArKysgYi9kcml2ZXJz L2dwdS9kcm0vcGFuZWwvcGFuZWwtc2ltcGxlLmMNCj4+IEBAIC00NTMsNiArNDUzLDcgQEAgc3Rh dGljIGludCBwYW5lbF9kcGlfcHJvYmUoc3RydWN0IGRldmljZSAqZGV2LA0KPj4gICAgICAgc3Ry dWN0IHBhbmVsX2Rlc2MgKmRlc2M7DQo+PiAgICAgICB1bnNpZ25lZCBpbnQgYnVzX2ZsYWdzOw0K Pj4gICAgICAgc3RydWN0IHZpZGVvbW9kZSB2bTsNCj4+ICsgICAgIGNvbnN0IGNoYXIgKm1hcHBp bmc7DQo+PiAgICAgICBpbnQgcmV0Ow0KPj4NCj4+ICAgICAgIG5wID0gZGV2LT5vZl9ub2RlOw0K Pj4gQEAgLTQ3Nyw2ICs0NzgsMTYgQEAgc3RhdGljIGludCBwYW5lbF9kcGlfcHJvYmUoc3RydWN0 IGRldmljZSAqZGV2LA0KPj4gICAgICAgb2ZfcHJvcGVydHlfcmVhZF91MzIobnAsICJ3aWR0aC1t bSIsICZkZXNjLT5zaXplLndpZHRoKTsNCj4+ICAgICAgIG9mX3Byb3BlcnR5X3JlYWRfdTMyKG5w LCAiaGVpZ2h0LW1tIiwgJmRlc2MtPnNpemUuaGVpZ2h0KTsNCj4+DQo+PiArICAgICBvZl9wcm9w ZXJ0eV9yZWFkX3N0cmluZyhucCwgImRhdGEtbWFwcGluZyIsICZtYXBwaW5nKTsNCj4+ICsgICAg IGlmICghc3RyY21wKG1hcHBpbmcsICJyZ2IyNCIpKQ0KPj4gKyAgICAgICAgICAgICBkZXNjLT5i dXNfZm9ybWF0ID0gTUVESUFfQlVTX0ZNVF9SR0I4ODhfMVgyNDsNCj4+ICsgICAgIGVsc2UgaWYg KCFzdHJjbXAobWFwcGluZywgInJnYjU2NSIpKQ0KPj4gKyAgICAgICAgICAgICBkZXNjLT5idXNf Zm9ybWF0ID0gTUVESUFfQlVTX0ZNVF9SR0I1NjVfMVgxNjsNCj4+ICsgICAgIGVsc2UgaWYgKCFz dHJjbXAobWFwcGluZywgImJncjY2NiIpKQ0KPj4gKyAgICAgICAgICAgICBkZXNjLT5idXNfZm9y bWF0ID0gTUVESUFfQlVTX0ZNVF9SR0I2NjZfMVgxODsNCj4+ICsgICAgIGVsc2UgaWYgKCFzdHJj bXAobWFwcGluZywgImx2ZHM2NjYiKSkNCj4+ICsgICAgICAgICAgICAgZGVzYy0+YnVzX2Zvcm1h dCA9IE1FRElBX0JVU19GTVRfUkdCNjY2XzFYMjRfQ1BBREhJOw0KPiANCj4gWW91J3JlIHJpZ2h0 IHRoYXQgdGhlcmUncyBhbiBpc3N1ZSwgYnV0IGEgcmV2ZXJ0IGlzbid0IHRoZSByaWdodCBvcHRp b24uDQo+IFRoZSBjb21taXQgeW91J3JlIHJldmVydGluZyBuZXZlciBtYWRlIGl0IGluIGEgc3Rh YmxlIHJlbGVhc2UsIGJlY2F1c2UNCj4gaXQgd2FzIGRlZW1lZCB0byBub3QgYmUgYSBnb29kIGVu b3VnaCBvcHRpb24uDQo+IA0KPiBGaXJzdCBvZiBhbGwsIGFueSBhdHRlbXB0IHRvIGZpeCB0aGlz IHNob3VsZCBpbmNsdWRlIGFuIHVwZGF0ZSB0byB0aGUgRFQNCj4gYmluZGluZy4gU2Vjb25kLCBh cyB0aGlzIGlzIGFib3V0IERQSSBwYW5lbHMsIHRoZSBMVkRTIG9wdGlvbiBzaG91bGQgYmUNCj4g ZHJvcHBlZC4gRmluYWxseSwgSSd2ZSBzaGFyZWQgc29tZSBpbml0aWFsIHRob3VnaHRzIGluIFsx XSwgbWF5YmUgeW91DQo+IGNhbiByZXBseSB0byB0aGF0IGUtbWFpbCB0byBjb250aW51ZSB0aGUg ZGlzY3Vzc2lvbiB0aGVyZSA/DQoNCkFjY29yZGluZyB0byB5b3VyIHRob3VnaHRzIGluIFsxXSB5 b3UgbWVhbiB0aGF0IHRoZSBidXMgZm9ybWF0IHNob3VsZCBiZQ0KYnVpbGQgb3V0IG9mIHRoZSBk ZXZpY2V0cmVlIHByb3BlcnRpZXMgYnVzLXdpZHRoIGFuZCBkYXRhLXNoaWZ0LiBJdCB3b3VsZA0K YmUgcG9zc2libGUgZm9yIGV2ZW5seSBzdHJ1Y3R1cmVkIGJ1c3NlcyBsaWtlIFJHQjg4OF8xWDI0 IGFuZCBSR0I2NjZfMVgxOCwNCmJ1dCB3aGF0IGFib3V0IGEgYnVzIGxpa2UgUkdCNTY1XzFYMTYs IHdoZXJlIGVhY2ggY29sb3IgaGFzIGRpZmZlcmVudA0KYnVzIHdpZHRoLiBBbHNvIHRoZSBvcmRl ciBvZiB0aGUgY29sb3JzIHNob3VsZCBiZSBkZWZpbmVkIHRvIGRpZmZlcg0KYmV0d2VlbiBidXNz ZXMgbGlrZSBSR0I4ODhfMVgyNCBhbmQgR0JSODg4XzFYMjQuDQpBcmUgdGhlcmUgYW55IGlkZWFz IGhvdyBjYW4gdGhpcyBiZSBjb3ZlcmVkPw0KDQo+IA0KPiBbMV0gaHR0cHM6Ly9sb3JlLmtlcm5l bC5vcmcvYWxsLzIwMjAwMzAzMTg1NTMxLkdKMTEzMzNAcGVuZHJhZ29uLmlkZWFzb25ib2FyZC5j b20vDQo+IA0KPj4gKw0KPj4gICAgICAgLyogRXh0cmFjdCBidXNfZmxhZ3MgZnJvbSBkaXNwbGF5 X3RpbWluZyAqLw0KPj4gICAgICAgYnVzX2ZsYWdzID0gMDsNCj4+ICAgICAgIHZtLmZsYWdzID0g dGltaW5nLT5mbGFnczsNCj4gDQoNCg0KUmVnYXJkcw0KQ2hyaXN0b3BoDQo=