This patch refines the connection status testing both bits RXSENS and
HPD of the CEC register giving the connection level.

Signed-off-by: Jean-Francois Moine <moinejf at free.fr>
---
 drivers/gpu/drm/i2c/tda998x_drv.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c 
b/drivers/gpu/drm/i2c/tda998x_drv.c
index 013a67c..ea7d1b4 100644
--- a/drivers/gpu/drm/i2c/tda998x_drv.c
+++ b/drivers/gpu/drm/i2c/tda998x_drv.c
@@ -1050,7 +1050,9 @@ tda998x_encoder_detect(struct drm_encoder *encoder,
        struct tda998x_priv *priv = to_tda998x_priv(encoder);
        uint8_t val = cec_read(priv, REG_CEC_RXSHPDLEV);

-       return (val & CEC_RXSHPDLEV_HPD) ? connector_status_connected :
+       return (val & (CEC_RXSHPDLEV_RXSENS | CEC_RXSHPDLEV_HPD)) ==
+                               (CEC_RXSHPDLEV_RXSENS | CEC_RXSHPDLEV_HPD) ?
+                       connector_status_connected :
                        connector_status_disconnected;
 }

-- 
1.8.5.3

Reply via email to