Re: [alsa-devel] [PATCH] ASoC: mediatek: Use current HW pointer for pointer callback

From: Mark Brown
Date: Thu Dec 03 2015 - 09:56:36 EST


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). We can also use GFP_ATOMIC for some of the allocations
in reasonable use cases but it's not in general supported.

Attachment: signature.asc
Description: PGP signature