[Skiboot] [PATCH v3 07/17] xive/p9: obsolete OPAL_XIVE_IRQ_*_VIA_FW flags

Cédric Le Goater clg at kaod.org
Tue Oct 1 16:59:52 AEST 2019


These were needed to workaround HW bugs in PHB4 LSIs of POWER9 DD1.0
processors. Keep the flags in case of a similar issue in the next
generation of the XIVE logic and keep it also for Linux which still
has handlers in its XIVE layer. 

However, there is no need to keep the code in POWER9 XIVE driver.

Signed-off-by: Cédric Le Goater <clg at kaod.org>
---
 include/opal-api.h |  4 ++--
 hw/xive.c          | 12 ------------
 2 files changed, 2 insertions(+), 14 deletions(-)

diff --git a/include/opal-api.h b/include/opal-api.h
index ad913bfa382d..e7156f36a756 100644
--- a/include/opal-api.h
+++ b/include/opal-api.h
@@ -1149,8 +1149,8 @@ enum {
 	OPAL_XIVE_IRQ_STORE_EOI		= 0x00000002,
 	OPAL_XIVE_IRQ_LSI		= 0x00000004,
 	OPAL_XIVE_IRQ_SHIFT_BUG		= 0x00000008,
-	OPAL_XIVE_IRQ_MASK_VIA_FW	= 0x00000010,
-	OPAL_XIVE_IRQ_EOI_VIA_FW	= 0x00000020,
+	OPAL_XIVE_IRQ_MASK_VIA_FW	= 0x00000010, /* DD1.0 workaround */
+	OPAL_XIVE_IRQ_EOI_VIA_FW	= 0x00000020, /* DD1.0 workaround */
 };
 
 /* Flags for OPAL_XIVE_GET/SET_QUEUE_INFO */
diff --git a/hw/xive.c b/hw/xive.c
index 39b1199d0125..4a2b0df7b042 100644
--- a/hw/xive.c
+++ b/hw/xive.c
@@ -3629,18 +3629,6 @@ static int64_t opal_xive_get_irq_info(uint32_t girq,
 	if (out_flags)
 		*out_flags = xive_convert_irq_flags(s->flags);
 
-	/*
-	 * If the orig source has a set_xive callback, then set
-	 * OPAL_XIVE_IRQ_MASK_VIA_FW as masking/unmasking requires
-	 * source specific workarounds. Same with EOI.
-	 */
-	if (out_flags && s->orig_ops) {
-		if (s->orig_ops->set_xive)
-			*out_flags |= OPAL_XIVE_IRQ_MASK_VIA_FW;
-		if (s->orig_ops->eoi)
-			*out_flags |= OPAL_XIVE_IRQ_EOI_VIA_FW;
-	}
-
 	idx = girq - s->esb_base;
 
 	if (out_esb_shift)
-- 
2.21.0



More information about the Skiboot mailing list