RE: [PATCH 01/13] soc/fsl/qman: fixup liodns only on ppc targets

From: Laurentiu Tudor
Date: Mon Apr 01 2019 - 06:21:30 EST


Hi Leo,

> -----Original Message-----
> From: Li Yang [mailto:leoyang.li@xxxxxxx]
> Sent: Friday, March 29, 2019 11:50 PM
> To: Laurentiu Tudor <laurentiu.tudor@xxxxxxx>
> Cc: Netdev <netdev@xxxxxxxxxxxxxxx>; Madalin-cristian Bucur
> <madalin.bucur@xxxxxxx>; Roy Pledge <roy.pledge@xxxxxxx>; Camelia
> Alexandra Groza <camelia.groza@xxxxxxx>; David Miller
> <davem@xxxxxxxxxxxxx>; Linux IOMMU <iommu@xxxxxxxxxxxxxxxxxxxxxxxxxx>;
> moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE <linux-arm-
> kernel@xxxxxxxxxxxxxxxxxxx>; linuxppc-dev <linuxppc-dev@xxxxxxxxxxxxxxxx>;
> lkml <linux-kernel@xxxxxxxxxxxxxxx>
> Subject: Re: [PATCH 01/13] soc/fsl/qman: fixup liodns only on ppc targets
> Importance: High
>
> On Fri, Mar 29, 2019 at 9:01 AM <laurentiu.tudor@xxxxxxx> wrote:
> >
> > From: Laurentiu Tudor <laurentiu.tudor@xxxxxxx>
> >
> > ARM SoCs use SMMU so the liodn fixup done in the qman driver is no
> > longer making sense and it also breaks the ICID settings inherited
> > from u-boot. Do the fixups only for PPC targets.
> >
> > Signed-off-by: Laurentiu Tudor <laurentiu.tudor@xxxxxxx>
> > ---
> > drivers/soc/fsl/qbman/qman_ccsr.c | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > diff --git a/drivers/soc/fsl/qbman/qman_ccsr.c
> b/drivers/soc/fsl/qbman/qman_ccsr.c
> > index 109b38de3176..12e414ca3b03 100644
> > --- a/drivers/soc/fsl/qbman/qman_ccsr.c
> > +++ b/drivers/soc/fsl/qbman/qman_ccsr.c
> > @@ -598,6 +598,7 @@ static int qman_init_ccsr(struct device *dev)
> > #define LIO_CFG_LIODN_MASK 0x0fff0000
> > void qman_liodn_fixup(u16 channel)
> > {
> > +#ifdef CONFIG_PPC
> > static int done;
> > static u32 liodn_offset;
> > u32 before, after;
> > @@ -617,6 +618,7 @@ void qman_liodn_fixup(u16 channel)
> > qm_ccsr_out(REG_REV3_QCSP_LIO_CFG(idx), after);
> > else
> > qm_ccsr_out(REG_QCSP_LIO_CFG(idx), after);
> > +#endif
>
> According to the Linux coding style recommendation, it would be better
> to put the #ifdef into the header files
> "drivers/soc/fsl/qbman/qman_priv.h". And I'm not sure if this is
> needed on PPC when IOMMU(PAMU) driver is not compiled, if not,
> probably using CONFIG_PAMU as condition would be even better.

Good point, will so in the next spin.

---
Best Regards, Laurentiu

> > }
> >
> > #define IO_CFG_SDEST_MASK 0x00ff0000
> > --
> > 2.17.1
> >