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