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 489e357c98
commit 2fbd84454a
4 changed files with 14 additions and 0 deletions

View File

@@ -3048,6 +3048,14 @@ dw_hdmi_connector_set_property(struct drm_connector *connector,
property, val);
}
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->curr_conn, &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

@@ -888,6 +888,10 @@ enum {
HDMI_FC_AVICONF3_QUANT_RANGE_LIMITED = 0x00,
HDMI_FC_AVICONF3_QUANT_RANGE_FULL = 0x04,
/* HDMI_FC_GCP */
HDMI_FC_GCP_SET_AVMUTE = 0x2,
HDMI_FC_GCP_CLEAR_AVMUTE = 0x1,
/* FC_DBGFORCE field values */
HDMI_FC_DBGFORCE_FORCEAUDIO = 0x10,
HDMI_FC_DBGFORCE_FORCEVIDEO = 0x1,

View File

@@ -1141,6 +1141,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

@@ -240,6 +240,7 @@ 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);
void dw_hdmi_set_cec_adap(struct dw_hdmi *hdmi, struct cec_adapter *adap);
#endif /* __IMX_HDMI_H__ */