FVP: Correct the PSYSR_WK bit width in platform_get_entrypoint
authorSoby Mathew <soby.mathew@arm.com>
Thu, 30 Apr 2015 11:27:41 +0000 (12:27 +0100)
committerSoby Mathew <soby.mathew@arm.com>
Wed, 3 Jun 2015 13:43:14 +0000 (14:43 +0100)
This patch fixes the incorrect bit width used to extract the wakeup
reason from PSYSR in platform_get_entrypoint() function. This defect
did not have any observed regression.

Change-Id: I42652dbffc99f5bf50cc86a5878f28d730720d9a

plat/arm/board/fvp/aarch64/fvp_helpers.S
plat/arm/board/fvp/drivers/pwrc/fvp_pwrc.h

index dd56687c1fd5f40915278a35b70f4f7291e80225..d176faccaf6bf1cecd50c3bf7598790f8aae5cc2 100644 (file)
@@ -123,7 +123,7 @@ func platform_get_entrypoint
        ldr     x1, =PWRC_BASE
        str     w2, [x1, #PSYSR_OFF]
        ldr     w2, [x1, #PSYSR_OFF]
-       ubfx    w2, w2, #PSYSR_WK_SHIFT, #PSYSR_WK_MASK
+       ubfx    w2, w2, #PSYSR_WK_SHIFT, #PSYSR_WK_WIDTH
        cmp     w2, #WKUP_PPONR
        beq     warm_reset
        cmp     w2, #WKUP_GICREQ
index 5b755af351cd7b8b6e3385629702e3c5c81cd3a4..3dc9aadc37f835656eab0f9cddc132b035886cfa 100644 (file)
@@ -48,7 +48,8 @@
 #define PSYSR_PP               (1 << 26)
 
 #define PSYSR_WK_SHIFT         24
-#define PSYSR_WK_MASK          0x3
+#define PSYSR_WK_WIDTH         0x2
+#define PSYSR_WK_MASK          ((1 << PSYSR_WK_WIDTH) - 1)
 #define PSYSR_WK(x)            (x >> PSYSR_WK_SHIFT) & PSYSR_WK_MASK
 
 #define WKUP_COLD              0x0