From: John Stultz jstultz@google.com
[ Upstream commit 649eb3828fb22e829e222ebd83f4e11dc503a565 ]
In commit 19cf41b64e3b ("lontium-lt9611: check a different register bit for HDMI sensing"), the bit flag used to detect HDMI cable connect was switched from BIT(2) to BIT(0) to improve compatibility with some monitors that didn't seem to set BIT(2).
However, with that change, I've seen occasional issues where the detection failed, because BIT(2) was set, but not BIT(0).
Unfortunately, as I understand it, the bits and their function was never clearly documented. So lets instead check both (BIT(2) | BIT(0)) when checking the register.
Cc: Yongqin Liu yongqin.liu@linaro.org Cc: Amit Pundir amit.pundir@linaro.org Cc: Peter Collingbourne pcc@google.com Cc: Vinod Koul vkoul@kernel.org Cc: Bjorn Andersson bjorn.andersson@linaro.org Cc: Robert Foss robert.foss@linaro.org Cc: kernel-team@android.com Fixes: 19cf41b64e3b ("lontium-lt9611: check a different register bit for HDMI sensing") Signed-off-by: John Stultz jstultz@google.com Reviewed-by: Robert Foss robert.foss@linaro.org Signed-off-by: Robert Foss robert.foss@linaro.org Link: https://patchwork.freedesktop.org/patch/msgid/20220511012612.3297577-2-jstul... Signed-off-by: Sasha Levin sashal@kernel.org --- drivers/gpu/drm/bridge/lontium-lt9611.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/bridge/lontium-lt9611.c b/drivers/gpu/drm/bridge/lontium-lt9611.c index 63df2e8a8abc..21d1e1465981 100644 --- a/drivers/gpu/drm/bridge/lontium-lt9611.c +++ b/drivers/gpu/drm/bridge/lontium-lt9611.c @@ -586,7 +586,7 @@ lt9611_connector_detect(struct drm_connector *connector, bool force) int connected = 0;
regmap_read(lt9611->regmap, 0x825e, ®_val); - connected = (reg_val & BIT(0)); + connected = (reg_val & (BIT(2) | BIT(0)));
lt9611->status = connected ? connector_status_connected : connector_status_disconnected;