[PATCHv2] drm: fb_helper: prefer to use mode, which is not DRM_MODE_TYPE_USERDEF
Chris Wilson
chris at chris-wilson.co.uk
Mon Apr 20 04:44:50 PDT 2015
On Mon, Apr 20, 2015 at 01:20:05PM +0200, Radek Dostál wrote:
> Hi Chris,
>
> On 04/20/2015 01:00 PM, Chris Wilson wrote:
> > Can you do a WARN_ON(list_empty(&connector->modes)) here to see at what
> > point we set up the invalid GTF mode?
>
> sure please see attached patch adding WARN_ON and corresponding output
> of dmesg. As mentioned in the original commit, the mode is indeed added
> in drm_helper_probe_add_cmdline_mode.
Ah, maybe this on top of the previous try:
diff --git a/drivers/gpu/drm/drm_probe_helper.c b/drivers/gpu/drm/drm_probe_helper.c
index 88f5a74..5d22ca0 100644
--- a/drivers/gpu/drm/drm_probe_helper.c
+++ b/drivers/gpu/drm/drm_probe_helper.c
@@ -87,7 +87,7 @@ static int drm_helper_probe_add_cmdline_mode(struct drm_connector *connector)
return 0;
/* Only add a GTF mode if we find no matching probed modes */
- list_for_each_entry(mode, &connector->modes, head) {
+ list_for_each_entry(mode, &connector->probed_modes, head) {
if (mode->hdisplay != cmdline_mode->xres ||
mode->vdisplay != cmdline_mode->yres)
continue;
@@ -211,7 +211,8 @@ static int drm_helper_probe_single_connector_modes_merge_bits(struct drm_connect
mode_flags |= DRM_MODE_FLAG_3D_MASK;
list_for_each_entry(mode, &connector->modes, head) {
- mode->status = drm_mode_validate_basic(mode);
+ if (mode->status == MODE_OK)
+ mode->status = drm_mode_validate_basic(mode);
if (mode->status == MODE_OK)
mode->status = drm_mode_validate_size(mode, maxX, maxY
--
Chris Wilson, Intel Open Source Technology Centre
More information about the dri-devel
mailing list