[Skiboot] [PATCH 21/60] xive: Mark XIVE owned EQs with a specific flag

Benjamin Herrenschmidt benh at kernel.crashing.org
Thu Dec 22 14:16:29 AEDT 2016


This will allow us to recognize them later when doing a
reset and avoid freeing them

Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
---
 hw/xive.c      | 3 ++-
 include/xive.h | 2 ++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/hw/xive.c b/hw/xive.c
index 51337c5..8358c78 100644
--- a/hw/xive.c
+++ b/hw/xive.c
@@ -632,7 +632,8 @@ static void xive_init_eq(uint32_t vp_blk, uint32_t vp_idx,
 	eq->w7 = SETFIELD(EQ_W7_F0_PRIORITY, 0ul, prio);
 	eieio();
 	eq->w0 = EQ_W0_VALID | EQ_W0_ENQUEUE |
-		SETFIELD(EQ_W0_QSIZE, 0ul, EQ_QSIZE_64K);
+		SETFIELD(EQ_W0_QSIZE, 0ul, EQ_QSIZE_64K) |
+		EQ_W0_FIRMWARE;
 #ifdef EQ_ALWAYS_NOTIFY
 	eq->w0 |= EQ_W0_UCOND_NOTIFY;
 #endif
diff --git a/include/xive.h b/include/xive.h
index f4e2696..7db7ee0 100644
--- a/include/xive.h
+++ b/include/xive.h
@@ -355,6 +355,8 @@ struct xive_eq {
 #define EQ_W0_ESCALATE_CTL	PPC_BIT32(5)
 #define EQ_W0_END_OF_INTR	PPC_BIT32(6)
 #define EQ_W0_QSIZE		PPC_BITMASK32(12,15)
+#define EQ_W0_SW0		PPC_BIT32(16)
+#define EQ_W0_FIRMWARE		EQ_W0_SW0 /* Owned by FW */
 #define EQ_QSIZE_4K		0
 #define EQ_QSIZE_64K		4
 #define EQ_W0_HWDEP		PPC_BITMASK32(24,31)
-- 
2.9.3



More information about the Skiboot mailing list