Re: [PATCH] drm/exynos: replace drm_detect_hdmi_monitor() with drm_display_info.is_hdmi
From: Jani Nikula
Date: Mon Oct 17 2022 - 05:59:34 EST
On Fri, 24 Jun 2022, Inki Dae <inki.dae@xxxxxxxxxxx> 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@xxxxxxxxx
>
> Thanks,
> Inki Dae
>
>> Signed-off-by: hongao <hongao@xxxxxxxxxxxxx>
>> ---
>> 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