On 25/03/21 08:40PM, Kevin Hao wrote: > > Reorgize the members of the fsl_qspi struct to: > - Reduce a hole in the struct. > - Group members required by each op (e.g., iobase, ahb_addr, > devtype_data and lock) into the same cacheline. > > Before: > struct fsl_qspi { > [...] > > /* size: 176, cachelines: 3, members: 11 */ > /* sum members: 168, holes: 1, sum holes: 4 */ > /* padding: 4 */ > /* member types with holes: 1, total: 1 */ > /* last cacheline: 48 bytes */ > }; > > after: > struct fsl_qspi { > void * iobase; /* 0 8 */ > void * ahb_addr; /* 8 8 */ > const struct fsl_qspi_devtype_data * devtype_data; /* 16 8 */ > struct mutex lock; /* 24 32 */ > struct completion c; /* 56 32 */ > > /* XXX last struct has 1 hole */ > > /* --- cacheline 1 boundary (64 bytes) was 24 bytes ago --- */ > struct clk * clk; /* 88 8 */ > struct clk * clk_en; /* 96 8 */ > struct pm_qos_request pm_qos_req; /* 104 48 */ > /* --- cacheline 2 boundary (128 bytes) was 24 bytes ago --- */ > struct device * dev; /* 152 8 */ > int selected; /* 160 4 */ > u32 memmap_phy; /* 164 4 */ > > /* size: 168, cachelines: 3, members: 11 */ > /* member types with holes: 1, total: 1 */ > /* last cacheline: 40 bytes */ > }; > > Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> > --- > drivers/spi/spi-fsl-qspi.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/drivers/spi/spi-fsl-qspi.c b/drivers/spi/spi-fsl-qspi.c > index 355e6a39fb41896f460e2474a90b8f0b42068ff3..efd87f44c63a5b12b76538aa459ca8eb203b9dcd 100644 > --- a/drivers/spi/spi-fsl-qspi.c > +++ b/drivers/spi/spi-fsl-qspi.c > @@ -264,14 +264,14 @@ static const struct fsl_qspi_devtype_data ls2080a_data = { > struct fsl_qspi { > void __iomem *iobase; > void __iomem *ahb_addr; > - u32 memmap_phy; > - struct clk *clk, *clk_en; > - struct device *dev; > - struct completion c; > const struct fsl_qspi_devtype_data *devtype_data; > struct mutex lock; > + struct completion c; > + struct clk *clk, *clk_en; > struct pm_qos_request pm_qos_req; > + struct device *dev; > int selected; > + u32 memmap_phy; > }; Reviewed-by: Han Xu <han.xu@xxxxxxx> > > static inline int needs_swap_endian(struct fsl_qspi *q) > > -- > 2.48.1 >