[PATCH] drm: bridge/dw_hdmi: Return num_modes in dw_hdmi_connector_get_modes
Yakir
ykk at rock-chips.com
Thu Jun 4 23:15:43 PDT 2015
Doug,
在 2015/6/5 2:04, Doug Anderson 写道:
> The dw_hdmi_connector_get_modes() function accidentally forgets to
> return the number of modes it added, although it has this information
> stored in a local variable. Let's fix that.
>
> Without this fix, drm_helper_probe_single_connector_modes_merge_bits()
> could get confused and always call drm_add_modes_noedid(). That's not
> right.
>
> Signed-off-by: Doug Anderson<dianders at chromium.org>
Test-by: Yakir Yang <ykk at rock-chips.com>
Thanks for your patch, it looks good to me. I And I test it on my 1080p TV,
found that the 800x600 at 56Hz resolution which don't indicate in edid would no
longer report, that is right :)
33 31 connected HDMI-A 510x290 17 31
modes:
name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot)
800x600 60 800 840 968 1056 600 601 605 628 flags: phsync, pvsync;
type: driver
800x600 56 800 824 896 1024 600 601 603 625 flags: phsync, pvsync;
type: driver
640x480 60 640 656 752 800 480 490 492 525 flags: nhsync, nvsync;
type: driver
640x480 60 640 656 752 800 480 489 492 525 flags: nhsync, nvsync;
type: driver
First detailed timing is preferred timing
Established timings supported:
720x400 at 70Hz
640x480 at 60Hz
640x480 at 75Hz
800x600 at 60Hz
800x600 at 75Hz
1024x768 at 60Hz
1024x768 at 75Hz
1280x1024 at 75Hz
Standard timings supported:
1152x864 at 75Hz
1280x1024 at 60Hz
1920x1080 at 60Hz
Thanks !
- Yakir
> ---
> drivers/gpu/drm/bridge/dw_hdmi.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/bridge/dw_hdmi.c b/drivers/gpu/drm/bridge/dw_hdmi.c
> index 594f84c..816d104 100644
> --- a/drivers/gpu/drm/bridge/dw_hdmi.c
> +++ b/drivers/gpu/drm/bridge/dw_hdmi.c
> @@ -1395,7 +1395,7 @@ static int dw_hdmi_connector_get_modes(struct drm_connector *connector)
> struct dw_hdmi *hdmi = container_of(connector, struct dw_hdmi,
> connector);
> struct edid *edid;
> - int ret;
> + int ret = 0;
>
> if (!hdmi->ddc)
> return 0;
> @@ -1412,7 +1412,7 @@ static int dw_hdmi_connector_get_modes(struct drm_connector *connector)
> dev_dbg(hdmi->dev, "failed to get edid\n");
> }
>
> - return 0;
> + return ret;
> }
>
> static enum drm_mode_status
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20150605/4f01257f/attachment.html>
More information about the dri-devel
mailing list