diff mbox series

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

Message ID 20191001070002.20271-8-clg@kaod.org
State Accepted
Headers show
Series xive/p9: fixes and cleanups | expand

Checks

Context Check Description
snowpatch_ozlabs/apply_patch success Successfully applied on branch master (470ffb5f29d741c3bed600f7bb7bf0cbb270e05a)
snowpatch_ozlabs/snowpatch_job_snowpatch-skiboot success Test snowpatch/job/snowpatch-skiboot on branch master
snowpatch_ozlabs/snowpatch_job_snowpatch-skiboot-dco success Signed-off-by present

Commit Message

Cédric Le Goater Oct. 1, 2019, 6:59 a.m. UTC
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@kaod.org>
---
 include/opal-api.h |  4 ++--
 hw/xive.c          | 12 ------------
 2 files changed, 2 insertions(+), 14 deletions(-)
diff mbox series

Patch

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)