Commit 1dbc790b authored by Liu Ying's avatar Liu Ying Committed by Neil Armstrong
Browse files

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: 463db5c2 ("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: default avatarLiu Ying <victor.liu@nxp.com>
Reviewed-by: default avatarMarek Vasut <marex@denx.de>
Signed-off-by: default avatarNeil Armstrong <narmstrong@baylibre.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220701065634.4027537-4-victor.liu@nxp.com
parent 57ef278e
Loading
Loading
Loading
Loading
+0 −17
Original line number Diff line number Diff line
@@ -74,22 +74,6 @@ static int fsl_ldb_attach(struct drm_bridge *bridge,
				 bridge, flags);
}

static int fsl_ldb_atomic_check(struct drm_bridge *bridge,
				struct drm_bridge_state *bridge_state,
				struct drm_crtc_state *crtc_state,
				struct drm_connector_state *conn_state)
{
	/* Invert DE signal polarity. */
	bridge_state->input_bus_cfg.flags &= ~(DRM_BUS_FLAG_DE_LOW |
					       DRM_BUS_FLAG_DE_HIGH);
	if (bridge_state->output_bus_cfg.flags & DRM_BUS_FLAG_DE_LOW)
		bridge_state->input_bus_cfg.flags |= DRM_BUS_FLAG_DE_HIGH;
	else if (bridge_state->output_bus_cfg.flags & DRM_BUS_FLAG_DE_HIGH)
		bridge_state->input_bus_cfg.flags |= DRM_BUS_FLAG_DE_LOW;

	return 0;
}

static void fsl_ldb_atomic_enable(struct drm_bridge *bridge,
				  struct drm_bridge_state *old_bridge_state)
{
@@ -241,7 +225,6 @@ fsl_ldb_mode_valid(struct drm_bridge *bridge,

static const struct drm_bridge_funcs funcs = {
	.attach = fsl_ldb_attach,
	.atomic_check = fsl_ldb_atomic_check,
	.atomic_enable = fsl_ldb_atomic_enable,
	.atomic_disable = fsl_ldb_atomic_disable,
	.atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state,