From: "Ainux.Wang" ainux.wang@gmail.com
The function ast_get_modes() will also return 0, when it try to get the edid, but it also do not get the edid.
Signed-off-by: Ainux.Wang ainux.wang@gmail.com --- drivers/gpu/drm/ast/ast_mode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/ast/ast_mode.c b/drivers/gpu/drm/ast/ast_mode.c index e5996ae03c49..b7dcf7821ec6 100644 --- a/drivers/gpu/drm/ast/ast_mode.c +++ b/drivers/gpu/drm/ast/ast_mode.c @@ -1299,7 +1299,7 @@ static enum drm_connector_status ast_connector_detect(struct drm_connector int r;
r = ast_get_modes(connector); - if (r < 0) + if (r <= 0) return connector_status_disconnected;
return connector_status_connected;
Hi
Am 16.07.21 um 03:56 schrieb ainux.wang@gmail.com:
From: "Ainux.Wang" ainux.wang@gmail.com
The function ast_get_modes() will also return 0, when it try to get the edid, but it also do not get the edid.
Signed-off-by: Ainux.Wang ainux.wang@gmail.com
drivers/gpu/drm/ast/ast_mode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/ast/ast_mode.c b/drivers/gpu/drm/ast/ast_mode.c index e5996ae03c49..b7dcf7821ec6 100644 --- a/drivers/gpu/drm/ast/ast_mode.c +++ b/drivers/gpu/drm/ast/ast_mode.c @@ -1299,7 +1299,7 @@ static enum drm_connector_status ast_connector_detect(struct drm_connector int r;
r = ast_get_modes(connector);
- if (r < 0)
- if (r <= 0) return connector_status_disconnected;
Thanks for caring.
I thought about the case of (r == 0) when reviewing the patch that added it, but found it to be correct. If (r < 0) it's clearly an error and we should return 'disconnected'. If (r == 0), we were able to retrieve the EDID, but could not find any meaningful modes. Still, it's 'connected'.
Unless there is a concrete bug where the status is mis-detected, I think that the current code is correct.
Best regards Thomas
return connector_status_connected;
Thomas Zimmermann tzimmermann@suse.de 于2021年7月16日周五 下午2:29写道:
Hi
Am 16.07.21 um 03:56 schrieb ainux.wang@gmail.com:
From: "Ainux.Wang" ainux.wang@gmail.com
The function ast_get_modes() will also return 0, when it try to get the edid, but it also do not get the edid.
Signed-off-by: Ainux.Wang ainux.wang@gmail.com
drivers/gpu/drm/ast/ast_mode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/ast/ast_mode.c b/drivers/gpu/drm/ast/ast_mode.c index e5996ae03c49..b7dcf7821ec6 100644 --- a/drivers/gpu/drm/ast/ast_mode.c +++ b/drivers/gpu/drm/ast/ast_mode.c @@ -1299,7 +1299,7 @@ static enum drm_connector_status ast_connector_detect(struct drm_connector int r;
r = ast_get_modes(connector);
if (r < 0)
if (r <= 0) return connector_status_disconnected;
Thanks for caring.
I thought about the case of (r == 0) when reviewing the patch that added it, but found it to be correct. If (r < 0) it's clearly an error and we should return 'disconnected'. If (r == 0), we were able to retrieve the EDID, but could not find any meaningful modes. Still, it's 'connected'.
Hi,Thomas Thanks review. I see, the drm_add_edid_modes() will retrun0 in ast_get_modes(). Best regards, Ainux Wang.
Unless there is a concrete bug where the status is mis-detected, I think that the current code is correct.
Best regards Thomas
return connector_status_connected;
-- 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
Hi
Am 16.07.21 um 03:56 schrieb ainux.wang@gmail.com:
From: "Ainux.Wang" ainux.wang@gmail.com
The function ast_get_modes() will also return 0, when it try to get the edid, but it also do not get the edid.
Signed-off-by: Ainux.Wang ainux.wang@gmail.com
Acked-by: Thomas Zimmermann tzimmermann@suse.de
after the issue has been discussed a bit. I'll merge the patch into drm-misc-next soon.
Best regards Thomas
drivers/gpu/drm/ast/ast_mode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/ast/ast_mode.c b/drivers/gpu/drm/ast/ast_mode.c index e5996ae03c49..b7dcf7821ec6 100644 --- a/drivers/gpu/drm/ast/ast_mode.c +++ b/drivers/gpu/drm/ast/ast_mode.c @@ -1299,7 +1299,7 @@ static enum drm_connector_status ast_connector_detect(struct drm_connector int r;
r = ast_get_modes(connector);
- if (r < 0)
if (r <= 0) return connector_status_disconnected;
return connector_status_connected;
dri-devel@lists.freedesktop.org