[PATCH v4 3/7] platforms/pseries: Set eeh_pe of EEH_PE_VF type

Michael Ellerman mpe at ellerman.id.au
Wed Jan 24 12:14:08 AEDT 2018


"Bryant G. Ly" <bryantly at linux.vnet.ibm.com> writes:

> To correctly use EEH code one has to make
> sure that the EEH_PE_VF is set for dynamic created
> VFs. Therefore this patch allocates an eeh_pe of
> eeh type EEH_PE_VF and associates PE with parent.
>
> Signed-off-by: Bryant G. Ly <bryantly at linux.vnet.ibm.com>
> Signed-off-by: Juan J. Alvarez <jjalvare at linux.vnet.ibm.com>
> ---
>  arch/powerpc/include/asm/pci-bridge.h        |  5 ++++-
>  arch/powerpc/platforms/pseries/eeh_pseries.c | 17 +++++++++++++++++
>  2 files changed, 21 insertions(+), 1 deletion(-)
>
> diff --git a/arch/powerpc/include/asm/pci-bridge.h b/arch/powerpc/include/asm/pci-bridge.h
> index 9f66ddebb799..16d70740a76f 100644
> --- a/arch/powerpc/include/asm/pci-bridge.h
> +++ b/arch/powerpc/include/asm/pci-bridge.h
> @@ -211,7 +211,10 @@ struct pci_dn {
>  	unsigned int *pe_num_map;	/* PE# for the first VF PE or array */
>  	bool    m64_single_mode;	/* Use M64 BAR in Single Mode */
>  #define IODA_INVALID_M64        (-1)
> -	int     (*m64_map)[PCI_SRIOV_NUM_BARS];
> +	union {
> +		int     (*m64_map)[PCI_SRIOV_NUM_BARS]; /*Only used in powernv */
> +		int     last_allow_rc;	/* Only used in pSeries */
> +	};
>  #endif /* CONFIG_PCI_IOV */
>  	int	mps;			/* Maximum Payload Size */
>  	struct list_head child_list;

I don't see the point of using a union to save 4 bytes.

And if you look at the current layout of the struct there's actually a 4
byte hole after mps, so it doesn't actually save any space at all.

I can remove it before applying, unless there's some compelling reason
for it I'm not seeing.

cheers


More information about the Linuxppc-dev mailing list