drm/rockchip: dw_hdmi: Support set quant range take effect immediately

When set property hdmi_quant_range, quant range was changed immediately.

Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: Ib8c14404cc3dde645012399b6155d047b4e9609a
This commit is contained in:
Algea Cao
2021-07-01 18:04:41 +08:00
committed by Tao Huang
parent 474fc0a025
commit bab03f605f
3 changed files with 10 additions and 0 deletions

View File

@@ -2908,6 +2908,14 @@ static int dw_hdmi_connector_atomic_check(struct drm_connector *connector,
return 0;
}
void dw_hdmi_set_quant_range(struct dw_hdmi *hdmi)
{
hdmi_writeb(hdmi, HDMI_FC_GCP_SET_AVMUTE, HDMI_FC_GCP);
dw_hdmi_setup(hdmi, &hdmi->previous_mode);
hdmi_writeb(hdmi, HDMI_FC_GCP_CLEAR_AVMUTE, HDMI_FC_GCP);
}
EXPORT_SYMBOL_GPL(dw_hdmi_set_quant_range);
static void dw_hdmi_connector_force(struct drm_connector *connector)
{
struct dw_hdmi *hdmi = container_of(connector, struct dw_hdmi,

View File

@@ -1188,6 +1188,7 @@ dw_hdmi_rockchip_set_property(struct drm_connector *connector,
return 0;
} else if (property == hdmi->quant_range) {
hdmi->hdmi_quant_range = val;
dw_hdmi_set_quant_range(hdmi->hdmi);
return 0;
} else if (property == config->hdr_output_metadata_property) {
return 0;

View File

@@ -216,5 +216,6 @@ enum drm_connector_status dw_hdmi_phy_read_hpd(struct dw_hdmi *hdmi,
void dw_hdmi_phy_update_hpd(struct dw_hdmi *hdmi, void *data,
bool force, bool disabled, bool rxsense);
void dw_hdmi_phy_setup_hpd(struct dw_hdmi *hdmi, void *data);
void dw_hdmi_set_quant_range(struct dw_hdmi *hdmi);
#endif /* __IMX_HDMI_H__ */