Message ID | 20220616072233.8302-1-hongao@uniontech.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 372a2eaf9bed96395699eb4c2d32e3fe48830e8c |
Headers | show |
Series | drm/exynos: replace drm_detect_hdmi_monitor() with drm_display_info.is_hdmi | expand |
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 <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);
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 --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);
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(-)