Am 17.07.21 um 03:14 schrieb Ainux Wang:
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 ThomasHi, Thank you for your review and reply, and what is the ‘IIRC’, i do not
IIRC stands for 'if I remember correctly'
find it in the kernel document. Best regards AinuxSigned-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
-- 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
Attachment:
OpenPGP_signature
Description: OpenPGP digital signature