2022-06-16 07:32:01

by hongao

[permalink] [raw]
Subject: [PATCH] drm/exynos: replace drm_detect_hdmi_monitor() with drm_display_info.is_hdmi

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 <[email protected]>
---
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);
--
2.20.1




Subject: Re: [PATCH] drm/exynos: replace drm_detect_hdmi_monitor() with drm_display_info.is_hdmi



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.

Thanks,
Inki Dae

> Signed-off-by: hongao <[email protected]>
> ---
> 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);

2022-10-17 10:09:06

by Jani Nikula

[permalink] [raw]
Subject: Re: [PATCH] drm/exynos: replace drm_detect_hdmi_monitor() with drm_display_info.is_hdmi

On Fri, 24 Jun 2022, Inki Dae <[email protected]> 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 <[email protected]>
>> ---
>> 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);

--
Jani Nikula, Intel Open Source Graphics Center