diff mbox series

drm/exynos: replace drm_detect_hdmi_monitor() with drm_display_info.is_hdmi

Message ID 20220616072233.8302-1-hongao@uniontech.com
State New
Headers show
Series drm/exynos: replace drm_detect_hdmi_monitor() with drm_display_info.is_hdmi | expand

Commit Message

hongao June 16, 2022, 7:22 a.m. UTC
Once EDID is parsed, the monitor HDMI support information is available
through drm_display_info.is_hdmi.

This driver calls drm_detect_hdmi_monitor() to receive the same
information, which is less efficient.

Avoid calling drm_detect_hdmi_monitor() and use drm_display_info.is_hdmi
instead.

Signed-off-by: hongao <hongao@uniontech.com>
---
 drivers/gpu/drm/exynos/exynos_hdmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Jani Nikula Oct. 17, 2022, 9:59 a.m. UTC | #1
On Fri, 24 Jun 2022, Inki Dae <inki.dae@samsung.com> wrote:
> 22. 6. 16. 16:22에 hongao 이(가) 쓴 글:
>> Once EDID is parsed, the monitor HDMI support information is available
>> through drm_display_info.is_hdmi.
>> 
>> This driver calls drm_detect_hdmi_monitor() to receive the same
>> information, which is less efficient.
>> 
>> Avoid calling drm_detect_hdmi_monitor() and use drm_display_info.is_hdmi
>> instead.
>> 
>
> Applied.

Sorry, but this is broken. The commit message contains the clue: "Once
EDID is parsed". drm_get_edid() does not parse the EDID, you need to
call drm_connector_update_edid_property() first.

This is what I posted some time ago [1] but apparently was working on a
different baseline.

BR,
Jani.


[1] https://patchwork.freedesktop.org/patch/msgid/f21588dcb93bdb6cf76724506063bdfcdb0a6bb4.1662036058.git.jani.nikula@intel.com


>
> Thanks,
> Inki Dae
>
>> Signed-off-by: hongao <hongao@uniontech.com>
>> ---
>>  drivers/gpu/drm/exynos/exynos_hdmi.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>> 
>> diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c
>> index 7655142a4651..17e9f5efbcfc 100644
>> --- a/drivers/gpu/drm/exynos/exynos_hdmi.c
>> +++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
>> @@ -893,7 +893,7 @@ static int hdmi_get_modes(struct drm_connector *connector)
>>  	if (!edid)
>>  		return -ENODEV;
>>  
>> -	hdata->dvi_mode = !drm_detect_hdmi_monitor(edid);
>> +	hdata->dvi_mode = !connector->display_info.is_hdmi;
>>  	DRM_DEV_DEBUG_KMS(hdata->dev, "%s : width[%d] x height[%d]\n",
>>  			  (hdata->dvi_mode ? "dvi monitor" : "hdmi monitor"),
>>  			  edid->width_cm, edid->height_cm);
diff mbox series

Patch

diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c
index 7655142a4651..17e9f5efbcfc 100644
--- a/drivers/gpu/drm/exynos/exynos_hdmi.c
+++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
@@ -893,7 +893,7 @@  static int hdmi_get_modes(struct drm_connector *connector)
 	if (!edid)
 		return -ENODEV;
 
-	hdata->dvi_mode = !drm_detect_hdmi_monitor(edid);
+	hdata->dvi_mode = !connector->display_info.is_hdmi;
 	DRM_DEV_DEBUG_KMS(hdata->dev, "%s : width[%d] x height[%d]\n",
 			  (hdata->dvi_mode ? "dvi monitor" : "hdmi monitor"),
 			  edid->width_cm, edid->height_cm);