Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/bridge: fsl-ldb: Drop DE signal polarity inversion

It's unnecessary to invert input data enable signal polarity
according to the output one. Let's drop the inversion.
Since ->atomic_check() does nothing more than the inversion,
it can be dropped entirely as well.

Without this patch, 'koe,tx26d202vm0bwa' LVDS panel connected
with i.MX8MP EVK board does not show any data on screen.

Fixes: 463db5c2ed4a ("drm: bridge: ldb: Implement simple Freescale i.MX8MP LDB bridge")
Cc: Andrzej Hajda <andrzej.hajda@intel.com>
Cc: Neil Armstrong <narmstrong@baylibre.com>
Cc: Robert Foss <robert.foss@linaro.org>
Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
Cc: Jonas Karlman <jonas@kwiboo.se>
Cc: Jernej Skrabec <jernej.skrabec@gmail.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Marek Vasut <marex@denx.de>
Cc: NXP Linux Team <linux-imx@nxp.com>
Signed-off-by: Liu Ying <victor.liu@nxp.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220701065634.4027537-4-victor.liu@nxp.com

authored by

Liu Ying and committed by
Neil Armstrong
1dbc790b 57ef278e

-17
-17
drivers/gpu/drm/bridge/fsl-ldb.c
··· 74 74 bridge, flags); 75 75 } 76 76 77 - static int fsl_ldb_atomic_check(struct drm_bridge *bridge, 78 - struct drm_bridge_state *bridge_state, 79 - struct drm_crtc_state *crtc_state, 80 - struct drm_connector_state *conn_state) 81 - { 82 - /* Invert DE signal polarity. */ 83 - bridge_state->input_bus_cfg.flags &= ~(DRM_BUS_FLAG_DE_LOW | 84 - DRM_BUS_FLAG_DE_HIGH); 85 - if (bridge_state->output_bus_cfg.flags & DRM_BUS_FLAG_DE_LOW) 86 - bridge_state->input_bus_cfg.flags |= DRM_BUS_FLAG_DE_HIGH; 87 - else if (bridge_state->output_bus_cfg.flags & DRM_BUS_FLAG_DE_HIGH) 88 - bridge_state->input_bus_cfg.flags |= DRM_BUS_FLAG_DE_LOW; 89 - 90 - return 0; 91 - } 92 - 93 77 static void fsl_ldb_atomic_enable(struct drm_bridge *bridge, 94 78 struct drm_bridge_state *old_bridge_state) 95 79 { ··· 225 241 226 242 static const struct drm_bridge_funcs funcs = { 227 243 .attach = fsl_ldb_attach, 228 - .atomic_check = fsl_ldb_atomic_check, 229 244 .atomic_enable = fsl_ldb_atomic_enable, 230 245 .atomic_disable = fsl_ldb_atomic_disable, 231 246 .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state,