[Skiboot] [PATCH v2 08/17] xive/p9: obsolete OPAL_XIVE_IRQ_*_VIA_FW flags
Oliver O'Halloran
oohall at gmail.com
Tue Sep 24 15:43:06 AEST 2019
On Thu, 2019-09-12 at 19:22 +0200, Cédric Le Goater wrote:
> 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.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 */
This should probably specify that it's a P9 DD1.0 workaround.
Does the kernel still respect these flags? If so we might want to keep
them supported in case we need them as a workaround for future bugs.
> };
>
> /* Flags for OPAL_XIVE_GET/SET_QUEUE_INFO */
> diff --git a/hw/xive.c b/hw/xive.c
> index 2f184dcee5d2..6f7d36ad4ca0 100644
> --- a/hw/xive.c
> +++ b/hw/xive.c
> @@ -3630,18 +3630,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)
More information about the Skiboot
mailing list