From: Geoff Levand <geoffrey.levand@am.sony.com>
Date: Sat, 27 Jan 2007 03:08:16 +0000 (-0800)
Subject: [POWERPC] ps3: fix interrupt bmp
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=577157659fb0ace3b88dd75e2c6cb1af84b3040d;p=GitHub%2FLineageOS%2Fandroid_kernel_samsung_universal7580.git

[POWERPC] ps3: fix interrupt bmp

Add a comment and a preprocessor macro to help clearify the alignment
needs of the PS3 interrupt bitmap.

Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
Acked-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
---

diff --git a/arch/powerpc/platforms/ps3/interrupt.c b/arch/powerpc/platforms/ps3/interrupt.c
index 3735cd14f61..95b128ba908 100644
--- a/arch/powerpc/platforms/ps3/interrupt.c
+++ b/arch/powerpc/platforms/ps3/interrupt.c
@@ -48,6 +48,9 @@
  * behalf of the guest.  These mappings are implemented as 256 bit guest
  * supplied bitmaps indexed by plug number.  The addresses of the bitmaps
  * are registered with the HV through lv1_configure_irq_state_bitmap().
+ * The HV requires that the 512 bits of status + mask not cross a page
+ * boundary.  PS3_BMP_MINALIGN is used to define this minimal 64 byte
+ * alignment.
  *
  * The HV supports 256 plugs per thread, assigned as {0..255}, for a total
  * of 512 plugs supported on a processor.  To simplify the logic this
@@ -59,6 +62,8 @@
  * can acquire.
  */
 
+#define PS3_BMP_MINALIGN 64
+
 struct ps3_bmp {
 	struct {
 		u64 status;
@@ -78,7 +83,7 @@ struct ps3_bmp {
  */
 
 struct ps3_private {
-	struct ps3_bmp bmp __attribute__ ((aligned (64)));
+	struct ps3_bmp bmp __attribute__ ((aligned (PS3_BMP_MINALIGN)));
 	u64 node;
 	unsigned int cpu;
 };