[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1449142774.17544.8.camel@mtksdaap41>
Date: Thu, 3 Dec 2015 19:39:34 +0800
From: Koro Chen <koro.chen@...iatek.com>
To: Takashi Iwai <tiwai@...e.de>
CC: Mark Brown <broonie@...nel.org>, <srv_heupstream@...iatek.com>,
<s.hauer@...gutronix.de>, <lgirdwood@...il.com>,
<linux-kernel@...r.kernel.org>,
<linux-mediatek@...ts.infradead.org>,
<alsa-devel@...a-project.org>,
<linux-arm-kernel@...ts.infradead.org>
Subject: Re: [alsa-devel] [PATCH] ASoC: mediatek: Use current HW pointer for
pointer callback
On Thu, 2015-12-03 at 12:07 +0100, Takashi Iwai wrote:
> On Thu, 03 Dec 2015 12:01:58 +0100,
> Mark Brown wrote:
> >
> > On Thu, Dec 03, 2015 at 10:41:38AM +0100, Takashi Iwai wrote:
> >
> > > While reading this patch, I wondered how regmap can be used safely in
> > > an irq-disabled context. Mark, do we have any API for that?
> >
> > We can use user supplied locks or spin_lock_irqsave().
>
> I meant how to guarantee to make regmap_read() working in an already
> spin-locked context, typically in an irq handler? regmap_read()
> involves with the regcache and it may invoke kmalloc().
>
Yes, we were hit by this before. When using devm_regmap_init_mmio() for
regmap, it uses spin_lock_irqsave() before every read/write, and if
cache type is RBTREE, then kmalloc will occur after spin_lock_irqsave()
and it brings warning. That's why we changed RBTREE to NONE. Setting
cache type to FLAT will also work, but we think our register accessing
is fast enough without need of cache.
>
> Takashi
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@...a-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists