Message ID | 20190427071031.6563-2-laurentiu.tudor@nxp.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Prerequisites for NXP LS104xA SMMU enablement | expand |
On Sat, Apr 27, 2019 at 2:14 AM <laurentiu.tudor@nxp.com> wrote: > > From: Laurentiu Tudor <laurentiu.tudor@nxp.com> > > 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@nxp.com> Applied for next. Thanks. Leo > --- > drivers/soc/fsl/qbman/qman_ccsr.c | 2 +- > drivers/soc/fsl/qbman/qman_priv.h | 9 ++++++++- > 2 files changed, 9 insertions(+), 2 deletions(-) > > diff --git a/drivers/soc/fsl/qbman/qman_ccsr.c b/drivers/soc/fsl/qbman/qman_ccsr.c > index 109b38de3176..a6bb43007d03 100644 > --- a/drivers/soc/fsl/qbman/qman_ccsr.c > +++ b/drivers/soc/fsl/qbman/qman_ccsr.c > @@ -596,7 +596,7 @@ static int qman_init_ccsr(struct device *dev) > } > > #define LIO_CFG_LIODN_MASK 0x0fff0000 > -void qman_liodn_fixup(u16 channel) > +void __qman_liodn_fixup(u16 channel) > { > static int done; > static u32 liodn_offset; > diff --git a/drivers/soc/fsl/qbman/qman_priv.h b/drivers/soc/fsl/qbman/qman_priv.h > index 75a8f905f8f7..04515718cfd9 100644 > --- a/drivers/soc/fsl/qbman/qman_priv.h > +++ b/drivers/soc/fsl/qbman/qman_priv.h > @@ -193,7 +193,14 @@ extern struct gen_pool *qm_cgralloc; /* CGR ID allocator */ > u32 qm_get_pools_sdqcr(void); > > int qman_wq_alloc(void); > -void qman_liodn_fixup(u16 channel); > +#ifdef CONFIG_FSL_PAMU > +#define qman_liodn_fixup __qman_liodn_fixup > +#else > +static inline void qman_liodn_fixup(u16 channel) > +{ > +} > +#endif > +void __qman_liodn_fixup(u16 channel); > void qman_set_sdest(u16 channel, unsigned int cpu_idx); > > struct qman_portal *qman_create_affine_portal( > -- > 2.17.1 >
diff --git a/drivers/soc/fsl/qbman/qman_ccsr.c b/drivers/soc/fsl/qbman/qman_ccsr.c index 109b38de3176..a6bb43007d03 100644 --- a/drivers/soc/fsl/qbman/qman_ccsr.c +++ b/drivers/soc/fsl/qbman/qman_ccsr.c @@ -596,7 +596,7 @@ static int qman_init_ccsr(struct device *dev) } #define LIO_CFG_LIODN_MASK 0x0fff0000 -void qman_liodn_fixup(u16 channel) +void __qman_liodn_fixup(u16 channel) { static int done; static u32 liodn_offset; diff --git a/drivers/soc/fsl/qbman/qman_priv.h b/drivers/soc/fsl/qbman/qman_priv.h index 75a8f905f8f7..04515718cfd9 100644 --- a/drivers/soc/fsl/qbman/qman_priv.h +++ b/drivers/soc/fsl/qbman/qman_priv.h @@ -193,7 +193,14 @@ extern struct gen_pool *qm_cgralloc; /* CGR ID allocator */ u32 qm_get_pools_sdqcr(void); int qman_wq_alloc(void); -void qman_liodn_fixup(u16 channel); +#ifdef CONFIG_FSL_PAMU +#define qman_liodn_fixup __qman_liodn_fixup +#else +static inline void qman_liodn_fixup(u16 channel) +{ +} +#endif +void __qman_liodn_fixup(u16 channel); void qman_set_sdest(u16 channel, unsigned int cpu_idx); struct qman_portal *qman_create_affine_portal(