From d69c3b9f74c2b3c57f0a22951c2eab29bf537bf0 Mon Sep 17 00:00:00 2001 From: Yakir Yang Date: Mon, 28 Sep 2015 16:58:24 +0800 Subject: [PATCH] CHROMIUM: drm: bridge/dw_hdmi: fix i2cm standard mode setting error I have uploaded a patch to switch DDC to standard mode in (https://chromium-review.googlesource.com/298270), but that change have influence the "spare register" in I2CM_DIV, I know this haven't cause some know bug, but we need to fix it. BUG=chrome-os-partner:34741 TEST=None Change-Id: Iff678fb49828db9b8026422e302a03f687a7c862 Signed-off-by: Yakir Yang Reviewed-on: https://chromium-review.googlesource.com/302751 Commit-Ready: Douglas Anderson Tested-by: Douglas Anderson Reviewed-by: Douglas Anderson --- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 3 ++- drivers/gpu/drm/bridge/synopsys/dw-hdmi.h | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c index 2ca2a4d5531a..b6c7a333565e 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c @@ -407,7 +407,8 @@ static void dw_hdmi_i2c_init(struct dw_hdmi *hdmi) hdmi_writeb(hdmi, 0x00, HDMI_I2CM_SOFTRSTZ); /* Set Standard Mode speed (determined to be 100KHz on iMX6) */ - hdmi_writeb(hdmi, 0x00, HDMI_I2CM_DIV); + hdmi_modb(hdmi, HDMI_I2CM_DIV_STD_MODE, + HDMI_I2CM_DIV_FAST_STD_MODE, HDMI_I2CM_DIV); /* Set done, not acknowledged and arbitration interrupt polarities */ hdmi_writeb(hdmi, HDMI_I2CM_INT_DONE_POL, HDMI_I2CM_INT); diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.h b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.h index 6655f253ae14..3a8b9dc9c176 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.h +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.h @@ -1130,6 +1130,11 @@ enum { HDMI_I2CM_CTLINT_NAC_MASK = 0x40, HDMI_I2CM_CTLINT_ARB_POL = 0x8, HDMI_I2CM_CTLINT_ARB_MASK = 0x4, + +/* I2CM_DIV field values */ + HDMI_I2CM_DIV_FAST_STD_MODE = 0x8, + HDMI_I2CM_DIV_FAST_MODE = 0x8, + HDMI_I2CM_DIV_STD_MODE = 0, }; /*