Message ID | 20160919193029.8119-1-marex@denx.de (mailing list archive) |
---|---|
State | Accepted |
Commit | b413886886b9a8f845f7d1a5adafa0ca573d3828 |
Headers | show |
On Mon, Sep 19, 2016 at 09:30:25PM +0200, Marek Vasut wrote: > Same as commit ce492b3b8f99cf9d2f807ec22d8805c996a09503 > Subject: drm/fsl-dcu: use flat regmap cache > > Using flat regmap cache instead of RB-tree to avoid the following > lockdep warning on driver load: > WARNING: CPU: 0 PID: 1 at kernel/locking/lockdep.c:2871 lockdep_trace_alloc+0x104/0x128 > DEBUG_LOCKS_WARN_ON(irqs_disabled_flags(flags)) > > The RB-tree regmap cache needs to allocate new space on first > writes. However, allocations in an atomic context (e.g. when a > spinlock is held) are not allowed. The function regmap_write > calls map->lock, which acquires a spinlock in the fast_io case. > Since the driver uses MMIO, the regmap bus of type regmap_mmio > is being used which has fast_io set to true. > > Signed-off-by: Marek Vasut <marex@denx.de> > Cc: Fabio Estevam <fabio.estevam@nxp.com> > Cc: Liam Girdwood <lgirdwood@gmail.com> > Cc: Mark Brown <broonie@kernel.org> Tested on i.MX6 Solo X SDB. For the whole series, Acked-by: Nicolin Chen <nicoleotsuka@gmail.com> Thanks Nicolin > Cc: Timur Tabi <timur@tabi.org> > Cc: Xiubo Li <Xiubo.Lee@gmail.com> > --- > sound/soc/fsl/fsl_asrc.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/sound/soc/fsl/fsl_asrc.c b/sound/soc/fsl/fsl_asrc.c > index b7157ce..1d82f68 100644 > --- a/sound/soc/fsl/fsl_asrc.c > +++ b/sound/soc/fsl/fsl_asrc.c > @@ -726,7 +726,7 @@ static const struct regmap_config fsl_asrc_regmap_config = { > .readable_reg = fsl_asrc_readable_reg, > .volatile_reg = fsl_asrc_volatile_reg, > .writeable_reg = fsl_asrc_writeable_reg, > - .cache_type = REGCACHE_RBTREE, > + .cache_type = REGCACHE_FLAT, > }; > > /** > -- > 2.9.3 >
Hi Marek, On Mon, Sep 19, 2016 at 4:30 PM, Marek Vasut <marex@denx.de> wrote: > Same as commit ce492b3b8f99cf9d2f807ec22d8805c996a09503 > Subject: drm/fsl-dcu: use flat regmap cache Just one minor nit: The most standard way to reference a commit is: commit ce492b3b8f99 ("drm/fsl-dcu: use flat regmap cache") Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com> > Using flat regmap cache instead of RB-tree to avoid the following > lockdep warning on driver load: > WARNING: CPU: 0 PID: 1 at kernel/locking/lockdep.c:2871 lockdep_trace_alloc+0x104/0x128 > DEBUG_LOCKS_WARN_ON(irqs_disabled_flags(flags)) > > The RB-tree regmap cache needs to allocate new space on first > writes. However, allocations in an atomic context (e.g. when a > spinlock is held) are not allowed. The function regmap_write > calls map->lock, which acquires a spinlock in the fast_io case. > Since the driver uses MMIO, the regmap bus of type regmap_mmio > is being used which has fast_io set to true. > > Signed-off-by: Marek Vasut <marex@denx.de> > Cc: Fabio Estevam <fabio.estevam@nxp.com> > Cc: Liam Girdwood <lgirdwood@gmail.com> > Cc: Mark Brown <broonie@kernel.org> > Cc: Nicolin Chen <nicoleotsuka@gmail.com> > Cc: Timur Tabi <timur@tabi.org> > Cc: Xiubo Li <Xiubo.Lee@gmail.com> > --- > sound/soc/fsl/fsl_asrc.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/sound/soc/fsl/fsl_asrc.c b/sound/soc/fsl/fsl_asrc.c > index b7157ce..1d82f68 100644 > --- a/sound/soc/fsl/fsl_asrc.c > +++ b/sound/soc/fsl/fsl_asrc.c > @@ -726,7 +726,7 @@ static const struct regmap_config fsl_asrc_regmap_config = { > .readable_reg = fsl_asrc_readable_reg, > .volatile_reg = fsl_asrc_volatile_reg, > .writeable_reg = fsl_asrc_writeable_reg, > - .cache_type = REGCACHE_RBTREE, > + .cache_type = REGCACHE_FLAT, > }; > > /** > -- > 2.9.3 > > _______________________________________________ > Alsa-devel mailing list > Alsa-devel@alsa-project.org > http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
diff --git a/sound/soc/fsl/fsl_asrc.c b/sound/soc/fsl/fsl_asrc.c index b7157ce..1d82f68 100644 --- a/sound/soc/fsl/fsl_asrc.c +++ b/sound/soc/fsl/fsl_asrc.c @@ -726,7 +726,7 @@ static const struct regmap_config fsl_asrc_regmap_config = { .readable_reg = fsl_asrc_readable_reg, .volatile_reg = fsl_asrc_volatile_reg, .writeable_reg = fsl_asrc_writeable_reg, - .cache_type = REGCACHE_RBTREE, + .cache_type = REGCACHE_FLAT, }; /**
Same as commit ce492b3b8f99cf9d2f807ec22d8805c996a09503 Subject: drm/fsl-dcu: use flat regmap cache Using flat regmap cache instead of RB-tree to avoid the following lockdep warning on driver load: WARNING: CPU: 0 PID: 1 at kernel/locking/lockdep.c:2871 lockdep_trace_alloc+0x104/0x128 DEBUG_LOCKS_WARN_ON(irqs_disabled_flags(flags)) The RB-tree regmap cache needs to allocate new space on first writes. However, allocations in an atomic context (e.g. when a spinlock is held) are not allowed. The function regmap_write calls map->lock, which acquires a spinlock in the fast_io case. Since the driver uses MMIO, the regmap bus of type regmap_mmio is being used which has fast_io set to true. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Fabio Estevam <fabio.estevam@nxp.com> Cc: Liam Girdwood <lgirdwood@gmail.com> Cc: Mark Brown <broonie@kernel.org> Cc: Nicolin Chen <nicoleotsuka@gmail.com> Cc: Timur Tabi <timur@tabi.org> Cc: Xiubo Li <Xiubo.Lee@gmail.com> --- sound/soc/fsl/fsl_asrc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)