Patchwork [7/10] drm/i2c: tda998x: get a better status of the connexion

login
register
mail settings
Submitter Jean-Francois Moine
Date Oct. 23, 2013, 7:41 a.m.
Message ID <20131023094120.29602529@armhf>
Download mbox | patch
Permalink /patch/285546/
State New
Headers show

Comments

Jean-Francois Moine - Oct. 23, 2013, 7:41 a.m.
This patch refines the connexion status testing both bits RXSENS and
HPD of the CEC register giving the connexion level.

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

Patch

diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c b/drivers/gpu/drm/i2c/tda998x_drv.c
index 4fbc1f8..dcf6102 100644
--- a/drivers/gpu/drm/i2c/tda998x_drv.c
+++ b/drivers/gpu/drm/i2c/tda998x_drv.c
@@ -1012,7 +1012,10 @@  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;
 }