On Mon, 11 Jul 2011, Laurent Pinchart wrote: > Resuming from runtime PM restores all LCDC registers. If the dot clock > is off at that time display panning information will be corrupted. > > Turn the dot clock on before resuming from runtime PM. Similarly, > turn the clock off after suspending the LCDC. > > Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > Cc: Magnus Damm <magnus.damm@xxxxxxxxx> > Cc: Damian Hobson-Garcia <dhobsong@xxxxxxxxxx> (testing would have been a bit easier, if prerequisites had been specified in the patch;)) Tested-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Thanks Guennadi > --- > drivers/video/sh_mobile_lcdcfb.c | 6 +++--- > 1 files changed, 3 insertions(+), 3 deletions(-) > > This patch should fix the LCDC panning issue caused by runtime suspend. It > applies on top of Rafael J. Wysocki's pm-domains branch and Damian > Hobson-Garcia's MERAM patches. > > diff --git a/drivers/video/sh_mobile_lcdcfb.c b/drivers/video/sh_mobile_lcdcfb.c > index 48a40e3..e9b80bc 100644 > --- a/drivers/video/sh_mobile_lcdcfb.c > +++ b/drivers/video/sh_mobile_lcdcfb.c > @@ -256,9 +256,9 @@ struct sh_mobile_lcdc_sys_bus_ops sh_mobile_lcdc_sys_bus_ops = { > static void sh_mobile_lcdc_clk_on(struct sh_mobile_lcdc_priv *priv) > { > if (atomic_inc_and_test(&priv->hw_usecnt)) { > - pm_runtime_get_sync(priv->dev); > if (priv->dot_clk) > clk_enable(priv->dot_clk); > + pm_runtime_get_sync(priv->dev); > if (priv->meram_dev && priv->meram_dev->pdev) > pm_runtime_get_sync(&priv->meram_dev->pdev->dev); > } > @@ -267,11 +267,11 @@ static void sh_mobile_lcdc_clk_on(struct sh_mobile_lcdc_priv *priv) > static void sh_mobile_lcdc_clk_off(struct sh_mobile_lcdc_priv *priv) > { > if (atomic_sub_return(1, &priv->hw_usecnt) == -1) { > - if (priv->dot_clk) > - clk_disable(priv->dot_clk); > if (priv->meram_dev && priv->meram_dev->pdev) > pm_runtime_put_sync(&priv->meram_dev->pdev->dev); > pm_runtime_put(priv->dev); > + if (priv->dot_clk) > + clk_disable(priv->dot_clk); > } > } > > -- > Regards, > > Laurent Pinchart > > -- > To unsubscribe from this list: send the line "unsubscribe linux-sh" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > --- Guennadi Liakhovetski, Ph.D. Freelance Open-Source Software Developer http://www.open-technology.de/ -- To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html