mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-25 09:30:53 +07:00
fbdev: sh_mobile_lcdc: Turn dot clock on before resuming from runtime PM
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@ideasonboard.com> Tested-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
This commit is contained in:
parent
91142bfe98
commit
f1ad90da5c
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user