Subject: Re: [PATCH v3 5/8] powerpc/xive: add the HW IRQ number under xive_irq_data

From: Benjamin Herrenschmidt <[email-masked]>
Date: Fri, 01 Sep 2017 15:34:00 +1000

On Wed, 2017-08-30 at 21:46 +0200, Cédric Le Goater wrote:
> It will be required later by the H_INT_ESB hcall.
> 
> Signed-off-by: Cédric Le Goater <[email-masked]>
Acked-by: Benjamin Herrenschmidt <[email-masked]>

A little but unfortunate as the number is available in the
irq_data but that would mean changing more of our internal
interfaces to get to it ... so ack for now.

> ---
>  arch/powerpc/include/asm/xive.h   | 1 +
>  arch/powerpc/sysdev/xive/native.c | 2 ++
>  arch/powerpc/sysdev/xive/spapr.c  | 2 ++
>  3 files changed, 5 insertions(+)
> 
> diff --git a/arch/powerpc/include/asm/xive.h b/arch/powerpc/include/asm/xive.h
> index 473f133a8555..64ec9bbcf03e 100644
> --- a/arch/powerpc/include/asm/xive.h
> +++ b/arch/powerpc/include/asm/xive.h
> @@ -45,6 +45,7 @@ struct xive_irq_data {
>  	void __iomem *trig_mmio;
>  	u32 esb_shift;
>  	int src_chip;
> +	u32 hw_irq;
>  
>  	/* Setup/used by frontend */
>  	int target;
> diff --git a/arch/powerpc/sysdev/xive/native.c b/arch/powerpc/sysdev/xive/native.c
> index ef92a83090e1..f8bcff15b0f9 100644
> --- a/arch/powerpc/sysdev/xive/native.c
> +++ b/arch/powerpc/sysdev/xive/native.c
> @@ -82,6 +82,8 @@ int xive_native_populate_irq_data(u32 hw_irq, struct xive_irq_data *data)
>  		return -ENOMEM;
>  	}
>  
> +	data->hw_irq = hw_irq;
> +
>  	if (!data->trig_page)
>  		return 0;
>  	if (data->trig_page == data->eoi_page) {
> diff --git a/arch/powerpc/sysdev/xive/spapr.c b/arch/powerpc/sysdev/xive/spapr.c
> index 797bb0636ab7..0fcae7504353 100644
> --- a/arch/powerpc/sysdev/xive/spapr.c
> +++ b/arch/powerpc/sysdev/xive/spapr.c
> @@ -264,6 +264,8 @@ static int xive_spapr_populate_irq_data(u32 hw_irq, struct xive_irq_data *data)
>  		return -ENOMEM;
>  	}
>  
> +	data->hw_irq = hw_irq;
> +
>  	/* Full function page supports trigger */
>  	if (flags & XIVE_SRC_TRIGGER) {
>  		data->trig_mmio = data->eoi_mmio;