drm: rockchip: hdmi: attach HDR_SOURCE_METADATA property

HDR_SOURCE_METADATA property is used to set source hdr metadata,
which will be sent to sink though HDMI DRM infoframe.

Change-Id: If3500cb505c16c2f0caf66b8e64b4d80b93b228f
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
This commit is contained in:
Zheng Yang
2017-09-14 10:37:37 +08:00
committed by Tao Huang
parent 21b0ea0285
commit afafb7ecd0

View File

@@ -800,6 +800,10 @@ dw_hdmi_rockchip_attatch_properties(struct drm_connector *connector,
hdmi->outputmode_capacity = prop;
drm_object_attach_property(&connector->base, prop, 0);
}
prop = connector->dev->mode_config.hdr_source_metadata_property;
if (version >= 0x211a)
drm_object_attach_property(&connector->base, prop, 0);
}
static void
@@ -841,6 +845,7 @@ dw_hdmi_rockchip_set_property(struct drm_connector *connector,
void *data)
{
struct rockchip_hdmi *hdmi = (struct rockchip_hdmi *)data;
struct drm_mode_config *config = &connector->dev->mode_config;
if (property == hdmi->color_depth_property) {
hdmi->colordepth = val;
@@ -848,6 +853,8 @@ dw_hdmi_rockchip_set_property(struct drm_connector *connector,
} else if (property == hdmi->hdmi_output_property) {
hdmi->hdmi_output = val;
return 0;
} else if (property == config->hdr_source_metadata_property) {
return 0;
}
DRM_ERROR("failed to set rockchip hdmi connector property\n");
@@ -863,6 +870,8 @@ dw_hdmi_rockchip_get_property(struct drm_connector *connector,
{
struct rockchip_hdmi *hdmi = (struct rockchip_hdmi *)data;
struct drm_display_info *info = &connector->display_info;
struct drm_mode_config *config = &connector->dev->mode_config;
const struct drm_connector_state *conn_state = connector->state;
if (property == hdmi->color_depth_property) {
*val = hdmi->colordepth;
@@ -898,6 +907,9 @@ dw_hdmi_rockchip_get_property(struct drm_connector *connector,
info->color_formats & DRM_COLOR_FORMAT_YCRCB420)
*val |= BIT(DRM_HDMI_OUTPUT_YCBCR420);
return 0;
} else if (property == config->hdr_source_metadata_property) {
*val = conn_state->blob_id;
return 0;
}
DRM_ERROR("failed to get rockchip hdmi connector property\n");