[alsa-devel] [PATCH] ASoC: mediatek: Use current HW pointer for pointer callback
Takashi Iwai
tiwai at suse.de
Thu Dec 3 16:33:56 CET 2015
On Thu, 03 Dec 2015 15:56:12 +0100,
Mark Brown wrote:
>
> On Thu, Dec 03, 2015 at 12:07:26PM +0100, Takashi Iwai wrote:
> > 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().
>
> I know that's what you meant - that should be done by preallocating the
> cache (which can be done with defaults) and providing your own lock
> if there's a spinlock already held (since we use _irqsave() which IIRC
> isn't nestable).
The extra lock should be fine unless any mutex is involved silently in
regmap code. But preallocation sounds not so intuitive.
> We can also use GFP_ATOMIC for some of the allocations
> in reasonable use cases but it's not in general supported.
Yeah, but we have already map->alloc_flags, so we can use it
appropriately as a fallback?
Takashi
More information about the Alsa-devel
mailing list