summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNarender Ankam <nankam@codeaurora.org>2019-11-12 15:02:50 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2020-03-03 02:33:54 -0800
commitcf98b69247fb61abcdab8589c873ed7063569f4e (patch)
treee1fe022e1ef61089b140a599b168bb40d87bd7e3
parent81e0028ecab750a669960b2dcf99379cf612f5a7 (diff)
msm: mdss: hdmi: reset deep_color before parsing EDID
Reset previous EDID's deep_color value before parsing new EDID. HDMI driver is already checking if sink supports deep color or not using hdmi_tx_sink_dc_support function. Remove dc_support check which is redundant. Change-Id: I7b95310ba6c7451a86ba7a536a6d59b7f0c98edd Signed-off-by: Narender Ankam <nankam@codeaurora.org> Signed-off-by: Ramendra Kumar <ramendra@codeaurora.org>
-rw-r--r--drivers/video/fbdev/msm/mdss_hdmi_edid.c3
-rw-r--r--drivers/video/fbdev/msm/mdss_hdmi_tx.c7
2 files changed, 6 insertions, 4 deletions
diff --git a/drivers/video/fbdev/msm/mdss_hdmi_edid.c b/drivers/video/fbdev/msm/mdss_hdmi_edid.c
index 67697025c3bb..cb4ef1781dfb 100644
--- a/drivers/video/fbdev/msm/mdss_hdmi_edid.c
+++ b/drivers/video/fbdev/msm/mdss_hdmi_edid.c
@@ -207,6 +207,9 @@ static int hdmi_edid_reset_parser(struct hdmi_edid_ctrl *edid_ctrl)
edid_ctrl->sink_data.num_of_elements = 0;
+ /* reset deep color */
+ edid_ctrl->deep_color = 0;
+
/* reset scan info data */
edid_ctrl->pt_scan_info = 0;
edid_ctrl->it_scan_info = 0;
diff --git a/drivers/video/fbdev/msm/mdss_hdmi_tx.c b/drivers/video/fbdev/msm/mdss_hdmi_tx.c
index 9286f75d58f3..79a6a16d4fed 100644
--- a/drivers/video/fbdev/msm/mdss_hdmi_tx.c
+++ b/drivers/video/fbdev/msm/mdss_hdmi_tx.c
@@ -310,7 +310,7 @@ static inline bool hdmi_tx_metadata_type_one(struct hdmi_tx_ctrl *hdmi_ctrl)
return hdr_data->metadata_type_one;
}
-static inline bool hdmix_tx_sink_dc_support(struct hdmi_tx_ctrl *hdmi_ctrl)
+static inline bool hdmi_tx_sink_dc_support(struct hdmi_tx_ctrl *hdmi_ctrl)
{
void *edid_fd = hdmi_tx_get_fd(HDMI_TX_FEAT_EDID);
@@ -330,8 +330,7 @@ static inline bool hdmi_tx_dc_support(struct hdmi_tx_ctrl *hdmi_ctrl)
true);
return hdmi_ctrl->dc_feature_on &&
- hdmi_ctrl->dc_support &&
- hdmix_tx_sink_dc_support(hdmi_ctrl) &&
+ hdmi_tx_sink_dc_support(hdmi_ctrl) &&
(tmds_clk_with_dc <= hdmi_edid_get_max_pclk(edid_fd));
}
@@ -3388,7 +3387,6 @@ static int hdmi_tx_power_off(struct hdmi_tx_ctrl *hdmi_ctrl)
hdmi_tx_core_off(hdmi_ctrl);
hdmi_ctrl->panel_power_on = false;
- hdmi_ctrl->dc_support = false;
hdmi_ctrl->vic = 0;
if (hdmi_ctrl->hpd_off_pending || hdmi_ctrl->panel_suspend)
@@ -3517,6 +3515,7 @@ static void hdmi_tx_hpd_off(struct hdmi_tx_ctrl *hdmi_ctrl)
hdmi_ctrl->hpd_initialized = false;
hdmi_ctrl->hpd_off_pending = false;
+ hdmi_ctrl->dc_support = false;
DEV_DBG("%s: HPD is now OFF\n", __func__);
} /* hdmi_tx_hpd_off */