summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorRobby Cai <R63905@freescale.com>2013-08-08 11:34:02 +0800
committerRobby Cai <R63905@freescale.com>2013-08-08 12:22:05 +0800
commit99f5407c6751e3a5fb098ede214f201c2093509b (patch)
treed5337d720629aa510d1cd2f04d455c8f5c9585cb /drivers
parent4e0ce32b6c319c35d3d739e2ef87b55643841a64 (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.c23
-rw-r--r--drivers/video/mxc/mxc_elcdif_fb.c9
-rw-r--r--drivers/video/mxc/mxc_epdc_fb.c5
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);