[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20221003070726.086890033@linuxfoundation.org>
Date: Mon, 3 Oct 2022 09:11:01 +0200
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-kernel@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
stable@...r.kernel.org,
Francesco Dolcini <francesco.dolcini@...adex.com>,
Philippe Schenker <philippe.schenker@...adex.com>,
Adrien Grassein <adrien.grassein@...il.com>,
Neil Armstrong <neil.armstrong@...aro.org>,
Sasha Levin <sashal@...nel.org>
Subject: [PATCH 5.19 065/101] drm/bridge: lt8912b: fix corrupted image output
From: Francesco Dolcini <francesco.dolcini@...adex.com>
[ Upstream commit 051ad2788d35ca07aec8402542e5d38429f2426a ]
Correct I2C address for the register list in lt8912_write_lvds_config(),
these registers are on the first I2C address (0x48), the current
function is just writing garbage to the wrong registers and this creates
multiple issues (artifacts and output completely corrupted) on some HDMI
displays.
Correct I2C address comes from Lontium documentation and it is the one
used on other out-of-tree LT8912B drivers [1].
[1] https://github.com/boundarydevices/linux/blob/boundary-imx_5.10.x_2.0.0/drivers/video/lt8912.c#L296
Fixes: 30e2ae943c26 ("drm/bridge: Introduce LT8912B DSI to HDMI bridge")
Signed-off-by: Francesco Dolcini <francesco.dolcini@...adex.com>
Signed-off-by: Philippe Schenker <philippe.schenker@...adex.com>
Acked-by: Adrien Grassein <adrien.grassein@...il.com>
Signed-off-by: Neil Armstrong <neil.armstrong@...aro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20220922124306.34729-4-dev@pschenker.ch
Signed-off-by: Sasha Levin <sashal@...nel.org>
---
drivers/gpu/drm/bridge/lontium-lt8912b.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/bridge/lontium-lt8912b.c b/drivers/gpu/drm/bridge/lontium-lt8912b.c
index bab3772c8407..167cd7d85dbb 100644
--- a/drivers/gpu/drm/bridge/lontium-lt8912b.c
+++ b/drivers/gpu/drm/bridge/lontium-lt8912b.c
@@ -186,7 +186,7 @@ static int lt8912_write_lvds_config(struct lt8912 *lt)
{0x03, 0xff},
};
- return regmap_multi_reg_write(lt->regmap[I2C_CEC_DSI], seq, ARRAY_SIZE(seq));
+ return regmap_multi_reg_write(lt->regmap[I2C_MAIN], seq, ARRAY_SIZE(seq));
};
static inline struct lt8912 *bridge_to_lt8912(struct drm_bridge *b)
--
2.35.1
Powered by blists - more mailing lists