[PATCH 01/60] drm/edid: Add flag to drm_display_info to identify HDMI sinks
Daniel Vetter
daniel at ffwll.ch
Wed Jul 10 15:41:39 UTC 2019
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 at 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 at ffwll.ch>
>
> Reviewed-by: Andrzej Hajda <a.hajda at 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?
> > */
>
>
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the dri-devel
mailing list