From eda86cea45cb0d393a2c9dc01747885117015b47 Mon Sep 17 00:00:00 2001 From: Zheng Yang Date: Fri, 23 Jun 2017 10:16:49 +0800 Subject: [PATCH] drm: move panel HDR metadata to drm_hdmi_info MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The hdr_panel_metadata indicate sink HDR capability,moving it to drm_hdmi_info is more reasonable. Change-Id: I0ccd404cfb0ec1e74130b0692de4261ae9a24c8f Signed-off-by: Zheng Yang --- drivers/gpu/drm/drm_edid.c | 20 +++++++++++--------- include/drm/drm_crtc.h | 6 +++--- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c index 84ca4b6a303c..3e3ebdf34e9f 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c @@ -3724,21 +3724,23 @@ static uint16_t hdr_metadata_type(const u8 *edid_ext) static void drm_parse_hdr_metadata_block(struct drm_connector *connector, const u8 *db) { + struct drm_hdmi_info *hdmi = &connector->display_info.hdmi; uint16_t len; len = cea_db_payload_len(db); - connector->hdr_panel_metadata->eotf = eotf_supported(db); - connector->hdr_panel_metadata->type = hdr_metadata_type(db); + hdmi->hdr_panel_metadata.eotf = eotf_supported(db); + hdmi->hdr_panel_metadata.type = hdr_metadata_type(db); if (len == 6) { - connector->hdr_panel_metadata->max_cll = db[4]; - connector->hdr_panel_metadata->max_fall = db[5]; - connector->hdr_panel_metadata->min_cll = db[6]; + hdmi->hdr_panel_metadata.max_cll = db[4]; + hdmi->hdr_panel_metadata.max_fall = db[5]; + hdmi->hdr_panel_metadata.min_cll = db[6]; } else if (len == 5) { - connector->hdr_panel_metadata->max_cll = db[4]; - connector->hdr_panel_metadata->max_fall = db[5]; - } else if (len == 4) - connector->hdr_panel_metadata->max_cll = db[4]; + hdmi->hdr_panel_metadata.max_cll = db[4]; + hdmi->hdr_panel_metadata.max_fall = db[5]; + } else if (len == 4) { + hdmi->hdr_panel_metadata.max_cll = db[4]; + } } static void diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h index ba1a1ba1ed02..75e7abcf5810 100644 --- a/include/drm/drm_crtc.h +++ b/include/drm/drm_crtc.h @@ -189,6 +189,9 @@ struct drm_hdmi_info { /* Colorimerty info from EDID */ u32 colorimetry; + + /* HDR metdata */ + struct hdr_static_metadata hdr_panel_metadata; }; #define DRM_COLOR_FORMAT_RGB444 (1<<0) @@ -990,9 +993,6 @@ struct drm_connector { uint8_t tile_h_loc, tile_v_loc; uint16_t tile_h_size, tile_v_size; - /* HDR metdata */ - struct hdr_static_metadata *hdr_panel_metadata; - struct hdr_static_metadata *hdr_source_metadata; }; /**