On Tue, Jul 09, 2019 at 03:20:58PM +0200, Andrzej Hajda wrote:
On 07.07.2019 20:07, Laurent Pinchart wrote:
The drm_display_info structure contains many fields related to HDMI sinks, but none that identifies if a sink compliant with CEA-861 (EDID) shall be treated as an HDMI sink or a DVI sink. Add such a flag, and populate it according to section 8.3.3 ("DVI/HDMI Device Discrimination") of the HDMI v1.3 specification.
Signed-off-by: Laurent Pinchart laurent.pinchart@ideasonboard.com
It looks like it can replace drm_detect_hdmi_monitor usage in most cases.
Yeah I think kerneldoc should at least between these too, i.e. from info.is_hdmi to drm_detect_hdmi_monitor() and back.
Plus ideally a refactor task in todo.rst, this is ideal getting started fodder I think. And I like if we standardize as much as possible on drm_display_info.
With that: Reviewed-by: Daniel Vetter daniel.vetter@ffwll.ch
Reviewed-by: Andrzej Hajda a.hajda@samsung.com
-- Regards Andrzej
drivers/gpu/drm/drm_edid.c | 3 +++ include/drm/drm_connector.h | 5 +++++ 2 files changed, 8 insertions(+)
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c index 82a4ceed3fcf..d2e7a5334c3f 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c @@ -4559,6 +4559,8 @@ drm_parse_hdmi_vsdb_video(struct drm_connector *connector, const u8 *db) struct drm_display_info *info = &connector->display_info; u8 len = cea_db_payload_len(db);
- info->is_hdmi = true;
- if (len >= 6) info->dvi_dual = db[6] & 1; if (len >= 7)
@@ -4627,6 +4629,7 @@ drm_reset_display_info(struct drm_connector *connector) info->cea_rev = 0; info->max_tmds_clock = 0; info->dvi_dual = false;
- info->is_hdmi = false; info->has_hdmi_infoframe = false; info->rgb_quant_range_selectable = false; memset(&info->hdmi, 0, sizeof(info->hdmi));
diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h index ca745d9feaf5..e80ca0d149e5 100644 --- a/include/drm/drm_connector.h +++ b/include/drm/drm_connector.h @@ -426,6 +426,11 @@ struct drm_display_info { */ bool dvi_dual;
- /**
* @is_hdmi: True if the sink is an HDMI device.
*/
- bool is_hdmi;
- /**
*/
- @has_hdmi_infoframe: Does the sink support the HDMI infoframe?