Subject: Re: [PATCH 02/13] powerpc/xive: Rename XIVE_IRQ_NO_EOI to show its a flag

From: Greg Kurz <[email-masked]>
Date: Tue, 8 Dec 2020 17:59:42 +0100

On Tue, 8 Dec 2020 16:11:13 +0100
Cédric Le Goater <[email-masked]> 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 <[email-masked]>
> ---

Reviewed-by: Greg Kurz <[email-masked]>

>  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;