<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Doug,<br>
    <br>
    <div class="moz-cite-prefix">在 2015/6/5 2:04, Doug Anderson 写道:<br>
    </div>
    <blockquote
      cite="mid:1433441076-20049-1-git-send-email-dianders@chromium.org"
      type="cite">
      <pre wrap="">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 <a class="moz-txt-link-rfc2396E" href="mailto:dianders@chromium.org"><dianders@chromium.org></a></pre>
    </blockquote>
    <br>
    Test-by: Yakir Yang <a class="moz-txt-link-rfc2396E" href="mailto:ykk@rock-chips.com"><ykk@rock-chips.com></a><br>
    <br>
    Thanks for your patch, it looks good to me. I And I test it on my
    1080p TV,<br>
    found that the 800x600@56Hz resolution which don't indicate in edid
    would no<br>
    longer report, that is right :)<br>
    <br>
    33    31    connected    HDMI-A    510x290        17    31<br>
      modes:<br>
        name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot)<br>
      800x600 60 800 840 968 1056 600 601 605 628 flags: phsync, pvsync;
    type: driver<br>
    <font color="#ff0000">  800x600 56 800 824 896 1024 600 601 603 625
      flags: phsync, pvsync; type: driver</font><br>
      640x480 60 640 656 752 800 480 490 492 525 flags: nhsync, nvsync;
    type: driver<br>
    <font color="#ff0000">  640x480 60 640 656 752 800 480 489 492 525
      flags: nhsync, nvsync; type: driver</font><br>
    <br>
    First detailed timing is preferred timing<br>
    Established timings supported:<br>
      720x400@70Hz<br>
      640x480@60Hz<br>
      640x480@75Hz<br>
      800x600@60Hz<br>
      800x600@75Hz<br>
      1024x768@60Hz<br>
      1024x768@75Hz<br>
      1280x1024@75Hz<br>
    Standard timings supported:<br>
      1152x864@75Hz<br>
      1280x1024@60Hz<br>
      1920x1080@60Hz<br>
    <br>
    Thanks !<br>
    - Yakir<br>
    <br>
    <blockquote
      cite="mid:1433441076-20049-1-git-send-email-dianders@chromium.org"
      type="cite">
      <pre wrap="">---
 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
</pre>
    </blockquote>
    <br>
  </body>
</html>