[ARM] pxa: save/restore PGSR on suspend/resume.
authorDaniel Ribeiro <drwyrm@gmail.com>
Sat, 2 May 2009 18:05:59 +0000 (15:05 -0300)
committerEric Miao <eric.miao@marvell.com>
Mon, 18 May 2009 13:52:08 +0000 (21:52 +0800)
Signed-off-by: Daniel Ribeiro <drwyrm@gmail.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
arch/arm/mach-pxa/mfp-pxa2xx.c

index 7ffb91d..6ae5060 100644 (file)
@@ -322,6 +322,7 @@ static inline void pxa27x_mfp_init(void) {}
 #ifdef CONFIG_PM
 static unsigned long saved_gafr[2][4];
 static unsigned long saved_gpdr[4];
+static unsigned long saved_pgsr[4];
 
 static int pxa2xx_mfp_suspend(struct sys_device *d, pm_message_t state)
 {
@@ -332,6 +333,7 @@ static int pxa2xx_mfp_suspend(struct sys_device *d, pm_message_t state)
                saved_gafr[0][i] = GAFR_L(i);
                saved_gafr[1][i] = GAFR_U(i);
                saved_gpdr[i] = GPDR(i * 32);
+               saved_pgsr[i] = PGSR(i);
 
                GPDR(i * 32) = gpdr_lpm[i];
        }
@@ -346,6 +348,7 @@ static int pxa2xx_mfp_resume(struct sys_device *d)
                GAFR_L(i) = saved_gafr[0][i];
                GAFR_U(i) = saved_gafr[1][i];
                GPDR(i * 32) = saved_gpdr[i];
+               PGSR(i) = saved_pgsr[i];
        }
        PSSR = PSSR_RDH | PSSR_PH;
        return 0;