Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754878AbbDTK5l (ORCPT ); Mon, 20 Apr 2015 06:57:41 -0400 Received: from mail-wg0-f46.google.com ([74.125.82.46]:33800 "EHLO mail-wg0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754537AbbDTK5i (ORCPT ); Mon, 20 Apr 2015 06:57:38 -0400 Message-ID: <5534DB9D.6040109@radekdostal.com> Date: Mon, 20 Apr 2015 12:57:33 +0200 From: =?windows-1252?Q?Radek_Dost=E1l?= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: Chris Wilson , airlied@linux.ie, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: Re: [PATCHv2] drm: fb_helper: prefer to use mode, which is not DRM_MODE_TYPE_USERDEF References: <1429477553-10294-1-git-send-email-rd@radekdostal.com> <1429507593-21172-1-git-send-email-rd@radekdostal.com> <20150420090929.GC25451@nuc-i3427.alporthouse.com> <5534C884.8080101@radekdostal.com> <20150420094608.GD25451@nuc-i3427.alporthouse.com> <20150420095818.GE25451@nuc-i3427.alporthouse.com> <5534D721.1060206@radekdostal.com> <20150420104852.GF25451@nuc-i3427.alporthouse.com> In-Reply-To: <20150420104852.GF25451@nuc-i3427.alporthouse.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2517 Lines: 68 Hi Chris, On 04/20/2015 12:48 PM, Chris Wilson wrote: >> Unfortunately you can not do that. I already tried. At the time when >> > drm_helper_probe_add_cmdline_mode is called EDID informations are not >> > yet available. > My understanding is that it should be. fb_helper.initial_config does a > probe first, and the intel_fb_initial_config() should only keep the > active mode. uff, sorry I am not sure that I follow here - I am not that familiar with the whole subsystem. >> > Only option would be to remove the GTF cmdline mode, when matching mode >> > is found in EDID. > So basically > > diff --git a/drivers/gpu/drm/drm_probe_helper.c b/drivers/gpu/drm/drm_probe_helper.c > index 6350387..9212bec 100644 > --- a/drivers/gpu/drm/drm_probe_helper.c > +++ b/drivers/gpu/drm/drm_probe_helper.c > @@ -79,13 +79,29 @@ drm_mode_validate_flag(const struct drm_display_mode *mode, > > static int drm_helper_probe_add_cmdline_mode(struct drm_connector *connector) > { > + struct drm_cmdline_mode *cmdline_mode; > struct drm_display_mode *mode; > > - if (!connector->cmdline_mode.specified) > + cmdline_mode = &connector->cmdline_mode; > + if (!cmdline_mode->specified) > return 0; > > + /* Only add a GTF mode if we find no matching probed modes */ > + list_for_each_entry(mode, &connector->modes, head) { > + if (mode->hdisplay != cmdline_mode->xres || > + mode->vdisplay != cmdline_mode->yres) > + continue; > + > + if (cmdline_mode->refresh_specified) { > + if (mode->vrefresh != cmdline_mode->refresh) > + continue; > + } > + > + return 0; > + } > + > mode = drm_mode_create_from_cmdline_mode(connector->dev, > - &connector->cmdline_mode); > + cmdline_mode); > if (mode == NULL) > return 0; > > > > is not sufficient? indeed, this was my first idea how to fix this problem, but at the time drm_helper_probe_add_cmdline_mode is called connector->modes is empty => the GTF cmdline mode is still added. Thanks, Radek -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/