commit: http://blackfin.uclinux.org/git/?p=linux-kernel;a=commitdiff;h=9b6fb1d341ee99bfadf3301099703d08328958bc
branch: http://blackfin.uclinux.org/git/?p=linux-kernel;a=shortlog;h=refs/heads/trunk

We can only do 16bit offset loads into Dregs, not Pregs, so we need to
sync a little more when saving the extra BF538 port regs.

Signed-off-by: Mike Frysinger <[email protected]>
---
 arch/blackfin/mach-common/dpmc_modes.S |   23 +++++++++++++----------
 1 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/arch/blackfin/mach-common/dpmc_modes.S b/arch/blackfin/mach-common/dpmc_modes.S
index 523fe1e..1a1c092 100644
--- a/arch/blackfin/mach-common/dpmc_modes.S
+++ b/arch/blackfin/mach-common/dpmc_modes.S
@@ -460,6 +460,7 @@ ENTRY(_do_hibernate)
 #endif
 
 #ifdef PORTCIO_FER
+	/* 16bit loads can only be done with dregs */
 	PM_SYS_PUSH16(0, PORTCIO_DIR)
 	PM_SYS_PUSH16(1, PORTCIO_INEN)
 	PM_SYS_PUSH16(2, PORTCIO)
@@ -468,11 +469,12 @@ ENTRY(_do_hibernate)
 	PM_SYS_PUSH16(5, PORTDIO_INEN)
 	PM_SYS_PUSH16(6, PORTDIO)
 	PM_SYS_PUSH16(7, PORTDIO_FER)
-	PM_SYS_PUSH16(8, PORTEIO_DIR)
-	PM_SYS_PUSH16(9, PORTEIO_INEN)
-	PM_SYS_PUSH16(10, PORTEIO)
-	PM_SYS_PUSH16(11, PORTEIO_FER)
-	PM_PUSH_SYNC(11)
+	PM_PUSH_SYNC(7)
+	PM_SYS_PUSH16(0, PORTEIO_DIR)
+	PM_SYS_PUSH16(1, PORTEIO_INEN)
+	PM_SYS_PUSH16(2, PORTEIO)
+	PM_SYS_PUSH16(3, PORTEIO_FER)
+	PM_PUSH_SYNC(3)
 #endif
 
 	/* Save Core MMRs */
@@ -776,11 +778,12 @@ ENTRY(_do_hibernate)
 	FP.L = lo(SYSMMR_BASE);
 
 #ifdef PORTCIO_FER
-	PM_POP_SYNC(11)
-	PM_SYS_POP16(11, PORTEIO_FER)
-	PM_SYS_POP16(10, PORTEIO)
-	PM_SYS_POP16(9, PORTEIO_INEN)
-	PM_SYS_POP16(8, PORTEIO_DIR)
+	PM_POP_SYNC(3)
+	PM_SYS_POP16(3, PORTEIO_FER)
+	PM_SYS_POP16(2, PORTEIO)
+	PM_SYS_POP16(1, PORTEIO_INEN)
+	PM_SYS_POP16(0, PORTEIO_DIR)
+	PM_POP_SYNC(7)
 	PM_SYS_POP16(7, PORTDIO_FER)
 	PM_SYS_POP16(6, PORTDIO)
 	PM_SYS_POP16(5, PORTDIO_INEN)
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits

Reply via email to