[alsa-devel] [PATCH 1/4] ALSA: memalloc: Allow NULL device for SNDRV_DMA_TYPE_CONTINOUS type
Ranjani Sridharan
ranjani.sridharan at linux.intel.com
Tue Nov 5 18:58:53 CET 2019
On Tue, 2019-11-05 at 09:01 +0100, Takashi Iwai wrote:
> Currently we pass the artificial device pointer to the allocation
> helper in the case of SNDRV_DMA_TYPE_CONTINUOUS for passing the GFP
> flags. But all common cases are the allocations with GFP_KERNEL, and
> it's messy to put this in each place.
>
> In this patch, the memalloc core helper is changed to accept the NULL
> device pointer and it treats as the default mode, GFP_KERNEL, so that
> all callers can omit the complex argument but just leave NULL.
>
> Signed-off-by: Takashi Iwai <tiwai at suse.de>
> ---
> Documentation/sound/kernel-api/writing-an-alsa-driver.rst | 14
> ++++++++------
> sound/core/memalloc.c | 9
> ++++++++-
> 2 files changed, 16 insertions(+), 7 deletions(-)
>
> diff --git a/Documentation/sound/kernel-api/writing-an-alsa-
> driver.rst b/Documentation/sound/kernel-api/writing-an-alsa-
> driver.rst
> index 132f5eb9b530..5385618fd881 100644
> --- a/Documentation/sound/kernel-api/writing-an-alsa-driver.rst
> +++ b/Documentation/sound/kernel-api/writing-an-alsa-driver.rst
> @@ -3523,12 +3523,14 @@ The second argument (type) and the third
> argument (device pointer) are
> dependent on the bus. For normal devices, pass the device pointer
> (typically identical as ``card->dev``) to the third argument with
> ``SNDRV_DMA_TYPE_DEV`` type. For the continuous buffer unrelated to
>
Hi Takashi,
I have a question about the usage of snd_dma_alloc_pages() with the
SNDRV_DMA_TYPE_DEV type. I am working on adding a platform-device for
audio which is a child device of the top-level PCI device in SOF.
When I use the handle for the platform-device as the "dev" argument for
snd_dma_alloc_pages(), the dma alloc fails on some platforms (ex: Ice
Lake). But it works fine if I use the top-level PCI device instead.
Why would that be? Are there any restrictions to what devices can be
used for dma alloc?
Thanks,
Ranjani
More information about the Alsa-devel
mailing list