diff options
author | Robby Cai <R63905@freescale.com> | 2013-08-08 11:34:02 +0800 |
---|---|---|
committer | Robby Cai <R63905@freescale.com> | 2013-08-08 12:22:05 +0800 |
commit | 99f5407c6751e3a5fb098ede214f201c2093509b (patch) | |
tree | d5337d720629aa510d1cd2f04d455c8f5c9585cb /drivers | |
parent | 4e0ce32b6c319c35d3d739e2ef87b55643841a64 (diff) |
ENGR00273973-1 Revert "ENGR00270573-2 [MX6SL]Add support for dynamic Power Gati
This reverts commit 881e21c1275dcc40ccd63fb4fa46b990eeb4fb00.
With the commit 881e21c1 and 7b60e285, the system will hang when do suspend
and resume stress test continuouly while run edpc test in the background.
Revert it now and revisit it later.
Signed-off-by: Robby Cai <R63905@freescale.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/dma/pxp/pxp_dma_v2.c | 23 | ||||
-rw-r--r-- | drivers/video/mxc/mxc_elcdif_fb.c | 9 | ||||
-rw-r--r-- | drivers/video/mxc/mxc_epdc_fb.c | 5 |
3 files changed, 7 insertions, 30 deletions
diff --git a/drivers/dma/pxp/pxp_dma_v2.c b/drivers/dma/pxp/pxp_dma_v2.c index f0b50b7a1c05..7169b44a9bb3 100644 --- a/drivers/dma/pxp/pxp_dma_v2.c +++ b/drivers/dma/pxp/pxp_dma_v2.c @@ -800,8 +800,6 @@ static void pxp_clk_enable(struct pxps *pxp) } clk_enable(pxp->clk); - /* Pull PxP out of reset */ - __raw_writel(0, pxp->base + HW_PXP_CTRL); pxp->clk_stat = CLK_STAT_ON; mutex_unlock(&pxp->clk_mutex); @@ -820,13 +818,6 @@ static void pxp_clk_disable(struct pxps *pxp) spin_lock_irqsave(&pxp->lock, flags); if ((pxp->pxp_ongoing == 0) && list_empty(&head)) { - /* Put the PXP into reset as the Display MIX is going - * to be Power gated. - */ - while (__raw_readl(pxp->base + HW_PXP_CTRL) - & BM_PXP_CTRL_ENABLE) - ; - __raw_writel(BM_PXP_CTRL_SFTRST, pxp->base + HW_PXP_CTRL); spin_unlock_irqrestore(&pxp->lock, flags); clk_disable(pxp->clk); pxp->clk_stat = CLK_STAT_OFF; @@ -1636,11 +1627,11 @@ static int pxp_suspend(struct platform_device *pdev, pm_message_t state) { struct pxps *pxp = platform_get_drvdata(pdev); - /* Need to call the enable/disable sequence here to - * ensure that the PXP is in the right state before the - * SOC enters suspend state. - */ pxp_clk_enable(pxp); + while (__raw_readl(pxp->base + HW_PXP_CTRL) & BM_PXP_CTRL_ENABLE) + ; + + __raw_writel(BM_PXP_CTRL_SFTRST, pxp->base + HW_PXP_CTRL); pxp_clk_disable(pxp); return 0; @@ -1650,11 +1641,9 @@ static int pxp_resume(struct platform_device *pdev) { struct pxps *pxp = platform_get_drvdata(pdev); - /* Need to call the enable/disable sequence here to - * ensure that the PXP is in the right state after the - * SOC exits suspend state. - */ pxp_clk_enable(pxp); + /* Pull PxP out of reset */ + __raw_writel(0, pxp->base + HW_PXP_CTRL); pxp_clk_disable(pxp); return 0; diff --git a/drivers/video/mxc/mxc_elcdif_fb.c b/drivers/video/mxc/mxc_elcdif_fb.c index 9cfee387b803..023d594b8036 100644 --- a/drivers/video/mxc/mxc_elcdif_fb.c +++ b/drivers/video/mxc/mxc_elcdif_fb.c @@ -78,7 +78,6 @@ struct mxc_elcdif_fb_data { struct semaphore flip_sem; struct fb_var_screeninfo var; u32 pseudo_palette[16]; - bool pg_display_mix; }; struct elcdif_signal_cfg { @@ -1171,12 +1170,6 @@ static int mxc_elcdif_fb_blank(int blank, struct fb_info *info) } if (data->cur_blank != FB_BLANK_UNBLANK) { - - if (data->pg_display_mix) { - mxc_elcdif_stop(); - mxc_elcdif_dma_release(); - data->running = false; - } if (g_elcdif_axi_clk_enable) { clk_disable(g_elcdif_axi_clk); g_elcdif_axi_clk_enable = false; @@ -1483,8 +1476,6 @@ static int mxc_elcdif_fb_probe(struct platform_device *pdev) if (ret) goto err3; - data->pg_display_mix = pdata->pg_display_mix; - platform_set_drvdata(pdev, fbi); return 0; diff --git a/drivers/video/mxc/mxc_epdc_fb.c b/drivers/video/mxc/mxc_epdc_fb.c index 71697f2749d9..4103498dc1b0 100644 --- a/drivers/video/mxc/mxc_epdc_fb.c +++ b/drivers/video/mxc/mxc_epdc_fb.c @@ -1089,10 +1089,7 @@ static void epdc_powerup(struct mxc_epdc_fb_data *fb_data) clk_enable(fb_data->epdc_clk_axi); clk_enable(fb_data->epdc_clk_pix); - if (fb_data->pdata->pg_display_mix) - epdc_init_settings(fb_data); - else - __raw_writel(EPDC_CTRL_CLKGATE, EPDC_CTRL_CLEAR); + __raw_writel(EPDC_CTRL_CLKGATE, EPDC_CTRL_CLEAR); /* Enable power to the EPD panel */ ret = regulator_enable(fb_data->display_regulator); |