mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 19:30:30 +09:00
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:
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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__ */
|
||||
|
||||
Reference in New Issue
Block a user