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 7ef8fe5abc12..c0b182d1374e 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;