summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorAbhinav Kumar <abhinavk@codeaurora.org>2018-09-27 18:08:07 -0700
committerAbhinav Kumar <abhinavk@codeaurora.org>2018-09-27 18:12:04 -0700
commitb32eb4f2aa6253d51970e1666cb390fd3308e5e6 (patch)
tree3366839bb50d905626292c6294905f5619741fd7 /drivers
parent727593cbf7ebb6782b2b3b45a951cc8ccc03a788 (diff)
drm/msm: clear colorimetry block info for HDMI
SDE connector stores the information related to the HDMI colorimetry data block. This connector information is retained till the connector is destroyed which does not happen across hotplug. Clear the HDMI colorimetry block related data fields when the bridge is disabled so that across a hotplug stale information is not retained. Change-Id: I2333af8835af98f78934df056301648e1cb6f8be Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/msm/hdmi-staging/sde_hdmi_bridge.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/gpu/drm/msm/hdmi-staging/sde_hdmi_bridge.c b/drivers/gpu/drm/msm/hdmi-staging/sde_hdmi_bridge.c
index ecf93f2c07ac..4df6c0af1707 100644
--- a/drivers/gpu/drm/msm/hdmi-staging/sde_hdmi_bridge.c
+++ b/drivers/gpu/drm/msm/hdmi-staging/sde_hdmi_bridge.c
@@ -125,6 +125,15 @@ static void sde_hdmi_clear_hdr_info(struct drm_bridge *bridge)
connector->hdr_supported = false;
}
+static void sde_hdmi_clear_colorimetry(struct drm_bridge *bridge)
+{
+ struct sde_hdmi_bridge *sde_hdmi_bridge = to_hdmi_bridge(bridge);
+ struct hdmi *hdmi = sde_hdmi_bridge->hdmi;
+ struct drm_connector *connector = hdmi->connector;
+
+ connector->color_enc_fmt = 0;
+}
+
static void sde_hdmi_clear_vsdb_info(struct drm_bridge *bridge)
{
struct sde_hdmi_bridge *sde_hdmi_bridge = to_hdmi_bridge(bridge);
@@ -676,6 +685,8 @@ static void _sde_hdmi_bridge_disable(struct drm_bridge *bridge)
sde_hdmi_clear_vsdbs(bridge);
/* Clear HDMI VCDB block info */
sde_hdmi_clear_vcdb_info(bridge);
+ /* Clear HDMI colorimetry data block info */
+ sde_hdmi_clear_colorimetry(bridge);
mutex_unlock(&display->display_lock);
}