On Tue, 8 Dec 2020 16:11:13 +0100
Cédric Le Goater <c...@kaod.org> wrote:

> This is a simple cleanup to identify easily all flags of the XIVE
> interrupt structure. The interrupts flagged with XIVE_IRQ_FLAG_NO_EOI
> are the escalations used to wake up vCPUs in KVM. They are handled
> very differently from the rest.
> 
> Signed-off-by: Cédric Le Goater <c...@kaod.org>
> ---

Reviewed-by: Greg Kurz <gr...@kaod.org>

>  arch/powerpc/include/asm/xive.h   | 2 +-
>  arch/powerpc/kvm/book3s_xive.c    | 4 ++--
>  arch/powerpc/sysdev/xive/common.c | 2 +-
>  3 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/powerpc/include/asm/xive.h b/arch/powerpc/include/asm/xive.h
> index 309b4d65b74f..d332dd9a18de 100644
> --- a/arch/powerpc/include/asm/xive.h
> +++ b/arch/powerpc/include/asm/xive.h
> @@ -66,7 +66,7 @@ struct xive_irq_data {
>  #define XIVE_IRQ_FLAG_H_INT_ESB      0x20
>  
>  /* Special flag set by KVM for excalation interrupts */
> -#define XIVE_IRQ_NO_EOI              0x80
> +#define XIVE_IRQ_FLAG_NO_EOI 0x80
>  
>  #define XIVE_INVALID_CHIP_ID -1
>  
> diff --git a/arch/powerpc/kvm/book3s_xive.c b/arch/powerpc/kvm/book3s_xive.c
> index 18a6b75a3bfd..fae1c2e8da29 100644
> --- a/arch/powerpc/kvm/book3s_xive.c
> +++ b/arch/powerpc/kvm/book3s_xive.c
> @@ -219,7 +219,7 @@ int kvmppc_xive_attach_escalation(struct kvm_vcpu *vcpu, 
> u8 prio,
>       /* In single escalation mode, we grab the ESB MMIO of the
>        * interrupt and mask it. Also populate the VCPU v/raddr
>        * of the ESB page for use by asm entry/exit code. Finally
> -      * set the XIVE_IRQ_NO_EOI flag which will prevent the
> +      * set the XIVE_IRQ_FLAG_NO_EOI flag which will prevent the
>        * core code from performing an EOI on the escalation
>        * interrupt, thus leaving it effectively masked after
>        * it fires once.
> @@ -231,7 +231,7 @@ int kvmppc_xive_attach_escalation(struct kvm_vcpu *vcpu, 
> u8 prio,
>               xive_vm_esb_load(xd, XIVE_ESB_SET_PQ_01);
>               vcpu->arch.xive_esc_raddr = xd->eoi_page;
>               vcpu->arch.xive_esc_vaddr = (__force u64)xd->eoi_mmio;
> -             xd->flags |= XIVE_IRQ_NO_EOI;
> +             xd->flags |= XIVE_IRQ_FLAG_NO_EOI;
>       }
>  
>       return 0;
> diff --git a/arch/powerpc/sysdev/xive/common.c 
> b/arch/powerpc/sysdev/xive/common.c
> index a80440af491a..65af34ac1fa2 100644
> --- a/arch/powerpc/sysdev/xive/common.c
> +++ b/arch/powerpc/sysdev/xive/common.c
> @@ -416,7 +416,7 @@ static void xive_irq_eoi(struct irq_data *d)
>        * been passed-through to a KVM guest
>        */
>       if (!irqd_irq_disabled(d) && !irqd_is_forwarded_to_vcpu(d) &&
> -         !(xd->flags & XIVE_IRQ_NO_EOI))
> +         !(xd->flags & XIVE_IRQ_FLAG_NO_EOI))
>               xive_do_source_eoi(irqd_to_hwirq(d), xd);
>       else
>               xd->stale_p = true;

Reply via email to