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>