[Skiboot] [PATCH 09/22] xive/p9: obsolete OPAL_XIVE_IRQ_*_VIA_FW flags

Cédric Le Goater clg at kaod.org
Wed Sep 4 03:04:00 AEST 2019


These were needed to workaround HW bugs in PHB4 LSIs of POWER9 DD1.0
processors.

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

diff --git a/include/opal-api.h b/include/opal-api.h
index ee66bbbb0998..2ceb832e489f 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-p9.c b/hw/xive-p9.c
index e5816b22fa50..4038f6ea9950 100644
--- a/hw/xive-p9.c
+++ b/hw/xive-p9.c
@@ -3643,18 +3643,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)
diff --git a/hw/xive.c b/hw/xive.c
index 3fc6836d9f6b..fc91bc015f54 100644
--- a/hw/xive.c
+++ b/hw/xive.c
@@ -3907,18 +3907,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