]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blame - queue-4.19/drm-imx-parallel-display-remove-bus-flags-check-in-imx_pd_bridge_atomic_check.patch
drop queue-4.19/drm-imx-pd-use-bus-format-flags-provided-by-the-brid.patch
[thirdparty/kernel/stable-queue.git] / queue-4.19 / drm-imx-parallel-display-remove-bus-flags-check-in-imx_pd_bridge_atomic_check.patch
CommitLineData
4f9c6fcc
GKH
1From 6061806a863e8b65b109eb06a280041cc7525442 Mon Sep 17 00:00:00 2001
2From: Christoph Niedermaier <cniedermaier@dh-electronics.com>
3Date: Tue, 1 Feb 2022 12:36:43 +0100
4Subject: drm/imx: parallel-display: Remove bus flags check in imx_pd_bridge_atomic_check()
5
6From: Christoph Niedermaier <cniedermaier@dh-electronics.com>
7
8commit 6061806a863e8b65b109eb06a280041cc7525442 upstream.
9
10If display timings were read from the devicetree using
11of_get_display_timing() and pixelclk-active is defined
12there, the flag DISPLAY_FLAGS_SYNC_POSEDGE/NEGEDGE is
13automatically generated. Through the function
14drm_bus_flags_from_videomode() e.g. called in the
15panel-simple driver this flag got into the bus flags,
16but then in imx_pd_bridge_atomic_check() the bus flag
17check failed and will not initialize the display. The
18original commit fe141cedc433 does not explain why this
19check was introduced. So remove the bus flags check,
20because it stops the initialization of the display with
21valid bus flags.
22
23Fixes: fe141cedc433 ("drm/imx: pd: Use bus format/flags provided by the bridge when available")
24Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
25Cc: Marek Vasut <marex@denx.de>
26Cc: Boris Brezillon <boris.brezillon@collabora.com>
27Cc: Philipp Zabel <p.zabel@pengutronix.de>
28Cc: David Airlie <airlied@linux.ie>
29Cc: Daniel Vetter <daniel@ffwll.ch>
30Cc: Shawn Guo <shawnguo@kernel.org>
31Cc: Sascha Hauer <s.hauer@pengutronix.de>
32Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
33Cc: Fabio Estevam <festevam@gmail.com>
34Cc: NXP Linux Team <linux-imx@nxp.com>
35Cc: linux-arm-kernel@lists.infradead.org
36To: dri-devel@lists.freedesktop.org
37Tested-by: Max Krummenacher <max.krummenacher@toradex.com>
38Acked-by: Boris Brezillon <boris.brezillon@collabora.com>
39Signed-off-by: Marek Vasut <marex@denx.de>
40Link: https://patchwork.freedesktop.org/patch/msgid/20220201113643.4638-1-cniedermaier@dh-electronics.com
41Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
42Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
43---
44 drivers/gpu/drm/imx/parallel-display.c | 8 --------
45 1 file changed, 8 deletions(-)
46
47--- a/drivers/gpu/drm/imx/parallel-display.c
48+++ b/drivers/gpu/drm/imx/parallel-display.c
49@@ -235,14 +235,6 @@ static int imx_pd_bridge_atomic_check(st
50 if (!imx_pd_format_supported(bus_fmt))
51 return -EINVAL;
52
53- if (bus_flags &
54- ~(DRM_BUS_FLAG_DE_LOW | DRM_BUS_FLAG_DE_HIGH |
55- DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE |
56- DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE)) {
57- dev_warn(imxpd->dev, "invalid bus_flags (%x)\n", bus_flags);
58- return -EINVAL;
59- }
60-
61 bridge_state->output_bus_cfg.flags = bus_flags;
62 bridge_state->input_bus_cfg.flags = bus_flags;
63 imx_crtc_state->bus_flags = bus_flags;