Thomas Zimmermann <tzimmermann@xxxxxxx> 于2021年7月16日周五 下午8:00写道: > > Hi > > Am 16.07.21 um 11:55 schrieb ainux.wang@xxxxxxxxx: > > From: "Ainux.Wang" <ainux.wang@xxxxxxxxx> > > > > 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@xxxxxxxxx> > > --- > > 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 >