From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Ferre Subject: Re: [PATCH] drm: panel: simple-panel: set appropriate mode type Date: Thu, 30 Apr 2015 16:46:47 +0200 Message-ID: <55424057.60707@atmel.com> References: <1430404770-29704-1-git-send-email-boris.brezillon@free-electrons.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: QUOTED-PRINTABLE Return-path: In-Reply-To: <1430404770-29704-1-git-send-email-boris.brezillon@free-electrons.com> Sender: linux-kernel-owner@vger.kernel.org To: Boris Brezillon , Thierry Reding , dri-devel@lists.freedesktop.org Cc: David Airlie , Jean-Christophe Plagniol-Villard , Alexandre Belloni , linux-kernel@vger.kernel.org List-Id: dri-devel@lists.freedesktop.org Le 30/04/2015 16:39, Boris Brezillon a =E9crit : > All modes exposed by simple panels should be tagged as driver defined > modes. > Moreover, if a panel supports only one mode, this mode is obviously t= he > preferred one. >=20 > Doing this also fix a problem occurring when a 'video=3D' parameter i= s passed > on the kernel cmdline. In some cases the user provided mode is prefer= red > over the simple panel ones, which might result in unpredictable behav= ior. >=20 > Signed-off-by: Boris Brezillon Tested-by: Nicolas Ferre On Atmel sama5d3xek board. > --- > drivers/gpu/drm/panel/panel-simple.c | 8 ++++++++ > 1 file changed, 8 insertions(+) >=20 > diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/p= anel/panel-simple.c > index d14b904..95ae390 100644 > --- a/drivers/gpu/drm/panel/panel-simple.c > +++ b/drivers/gpu/drm/panel/panel-simple.c > @@ -111,6 +111,10 @@ static int panel_simple_get_fixed_modes(struct p= anel_simple *panel) > continue; > } > =20 > + mode->type |=3D DRM_MODE_TYPE_DRIVER; > + if (panel->desc->num_modes =3D=3D 1) > + mode->type |=3D DRM_MODE_TYPE_PREFERRED; > + > drm_display_mode_from_videomode(&vm, mode); > =20 > drm_mode_probed_add(connector, mode); > @@ -127,6 +131,10 @@ static int panel_simple_get_fixed_modes(struct p= anel_simple *panel) > continue; > } > =20 > + mode->type |=3D DRM_MODE_TYPE_DRIVER; > + if (panel->desc->num_modes =3D=3D 1) > + mode->type |=3D DRM_MODE_TYPE_PREFERRED; > + > drm_mode_set_name(mode); > =20 > drm_mode_probed_add(connector, mode); >=20 --=20 Nicolas Ferre