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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





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
Thomas

Hi,
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
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


--
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


[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux