Message ID | 1384274965-30549-3-git-send-email-denis@eukrea.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Denis, On Tue, Nov 12, 2013 at 2:49 PM, Denis Carikli <denis@eukrea.com> wrote: > This change is needed for making the eukrea-cpuimx51 > QVGA display work. > > Greg Kroah-Hartman <gregkh@linuxfoundation.org> > Cc: driverdev-devel@linuxdriverproject.org > Cc: Philipp Zabel <p.zabel@pengutronix.de> > Cc: Sascha Hauer <kernel@pengutronix.de> > Cc: Shawn Guo <shawn.guo@linaro.org> > Cc: linux-arm-kernel@lists.infradead.org > Cc: David Airlie <airlied@linux.ie> > Cc: dri-devel@lists.freedesktop.org > Cc: Eric Bénard <eric@eukrea.com> > Signed-off-by: Denis Carikli <denis@eukrea.com> > --- > drivers/staging/imx-drm/ipuv3-crtc.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > ChangeLog v2->v3: > - Added some interested people in the Cc list. > - Ajusted the flags to match the changes in "drm: Add the lacking > DRM_MODE_FLAG_* for matching the DISPLAY_FLAGS_*" > --- > diff --git a/drivers/staging/imx-drm/ipuv3-crtc.c b/drivers/staging/imx-drm/ipuv3-crtc.c > index 670a56a..917818c 100644 > --- a/drivers/staging/imx-drm/ipuv3-crtc.c > +++ b/drivers/staging/imx-drm/ipuv3-crtc.c > @@ -155,9 +155,11 @@ static int ipu_crtc_mode_set(struct drm_crtc *crtc, > sig_cfg.Hsync_pol = 1; > if (mode->flags & DRM_MODE_FLAG_PVSYNC) > sig_cfg.Vsync_pol = 1; > + if (mode->flags & DRM_MODE_FLAG_DE_HIGH) > + sig_cfg.enable_pol = 1; > + if (mode->flags & DRM_MODE_FLAG_PIXDATA_POSEDGE) > + sig_cfg.clk_pol = 1; > > - sig_cfg.enable_pol = 1; > - sig_cfg.clk_pol = 1; What are the sig_cfg.enable_pol and sig_cfg.clk_pol values you need for your display to operate correctly?
Hi Fabio, Le Wed, 13 Nov 2013 01:52:25 -0200, Fabio Estevam <festevam@gmail.com> a écrit : > On Tue, Nov 12, 2013 at 2:49 PM, Denis Carikli <denis@eukrea.com> wrote: > > + if (mode->flags & DRM_MODE_FLAG_DE_HIGH) > > + sig_cfg.enable_pol = 1; > > + if (mode->flags & DRM_MODE_FLAG_PIXDATA_POSEDGE) > > + sig_cfg.clk_pol = 1; > > > > - sig_cfg.enable_pol = 1; > > - sig_cfg.clk_pol = 1; > > > What are the sig_cfg.enable_pol and sig_cfg.clk_pol values you need > for your display to operate correctly? in ipuv3-crtc, line 159 : http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/staging/imx-drm/ipuv3-crtc.c#n159 polarity of the enable signal and the pixel clock are hard coded to 1. These settings are then used in ipu-di.c to configurer the IPU display interface : http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/staging/imx-drm/ipu-v3/ipu-di.c#n631 http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/staging/imx-drm/ipu-v3/ipu-di.c#n642 This is a problem as the polarity of these signals can vary from one TFT panel to an other. In our case, we need and active low enable and a negative edge clock but currently there is no way to configure these settings in ipuv3-crtc as they are hardcoded to 1 : that's what Denis is trying to fix. Eric
diff --git a/drivers/staging/imx-drm/ipuv3-crtc.c b/drivers/staging/imx-drm/ipuv3-crtc.c index 670a56a..917818c 100644 --- a/drivers/staging/imx-drm/ipuv3-crtc.c +++ b/drivers/staging/imx-drm/ipuv3-crtc.c @@ -155,9 +155,11 @@ static int ipu_crtc_mode_set(struct drm_crtc *crtc, sig_cfg.Hsync_pol = 1; if (mode->flags & DRM_MODE_FLAG_PVSYNC) sig_cfg.Vsync_pol = 1; + if (mode->flags & DRM_MODE_FLAG_DE_HIGH) + sig_cfg.enable_pol = 1; + if (mode->flags & DRM_MODE_FLAG_PIXDATA_POSEDGE) + sig_cfg.clk_pol = 1; - sig_cfg.enable_pol = 1; - sig_cfg.clk_pol = 1; sig_cfg.width = mode->hdisplay; sig_cfg.height = mode->vdisplay; sig_cfg.pixel_fmt = out_pixel_fmt;
This change is needed for making the eukrea-cpuimx51 QVGA display work. Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: driverdev-devel@linuxdriverproject.org Cc: Philipp Zabel <p.zabel@pengutronix.de> Cc: Sascha Hauer <kernel@pengutronix.de> Cc: Shawn Guo <shawn.guo@linaro.org> Cc: linux-arm-kernel@lists.infradead.org Cc: David Airlie <airlied@linux.ie> Cc: dri-devel@lists.freedesktop.org Cc: Eric Bénard <eric@eukrea.com> Signed-off-by: Denis Carikli <denis@eukrea.com> --- drivers/staging/imx-drm/ipuv3-crtc.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) ChangeLog v2->v3: - Added some interested people in the Cc list. - Ajusted the flags to match the changes in "drm: Add the lacking DRM_MODE_FLAG_* for matching the DISPLAY_FLAGS_*" ---