[PATCH] drm/ast: Return value when do not get edid

Ainux Wang ainux.wang at gmail.com
Sat Jul 17 01:14:58 UTC 2021


Thomas Zimmermann <tzimmermann at suse.de> 于2021年7月16日周五 下午8:00写道:
>
> Hi
>
> Am 16.07.21 um 11:55 schrieb ainux.wang at gmail.com:
> > From: "Ainux.Wang" <ainux.wang at gmail.com>
> >
> > There is should a status when do not get edid.
>
> Well, not really.
>
> So, the problem is that VGA is not hotplug-able. It's supposed to be
> connected when the computer gets switched on. And there's no interface
> for sensing the connection state.
>
> But in practice, the cable can be attached/detached at any time. Reading
> out the EDID is the non-official way for detecting the connection state.
> You either get EDID data or garbage, where the latter is interpreted as
> 'disconnected'.
>
> But really old monitors (maybe mid-90s and before) don't provide EDID
> data. For those, DRM adds standard VGA modes IIRC. And they would likely
> be detected as 'disconnected'.
>
> I'll merge your original patch '(r <= 0)' and anyone who's stuck with
> such an old monitor can probably specify a compatible EDID on the kernel
> command line.
>
> (I'd like to hear other people's opinion about this TBH.)
>
> Best regards
> Thomas
>
Hi,
Thank you for your review and reply, and what is the ‘IIRC’, i do not
find it in the
kernel document.

Best regards
Ainux
> >
> > Signed-off-by: Ainux.Wang <ainux.wang at gmail.com>
> > ---
> >   drivers/gpu/drm/ast/ast_mode.c | 4 +++-
> >   1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/ast/ast_mode.c b/drivers/gpu/drm/ast/ast_mode.c
> > index e5996ae03c49..05df48b3d223 100644
> > --- a/drivers/gpu/drm/ast/ast_mode.c
> > +++ b/drivers/gpu/drm/ast/ast_mode.c
> > @@ -1231,8 +1231,10 @@ static int ast_get_modes(struct drm_connector *connector)
> >               ret = drm_add_edid_modes(connector, edid);
> >               kfree(edid);
> >               return ret;
> > -     } else
> > +     } else {
> >               drm_connector_update_edid_property(&ast_connector->base, NULL);
> > +             return -ENXIO;
> > +     }
> >       return 0;
> >   }
> >
> >
>
> --
> Thomas Zimmermann
> Graphics Driver Developer
> SUSE Software Solutions Germany GmbH
> Maxfeldstr. 5, 90409 Nürnberg, Germany
> (HRB 36809, AG Nürnberg)
> Geschäftsführer: Felix Imendörffer
>


More information about the dri-devel mailing list