<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>