From: Clemens Ladisch <clemens@ladisch.de>
To: Radivoje Jovanovic <radivojejovanovic@gmail.com>
Cc: alsa-devel@alsa-project.org
Subject: Re: Buffer memory does not get allocated?
Date: Fri, 05 Nov 2010 09:23:05 +0100 [thread overview]
Message-ID: <4CD3BEE9.6070808@ladisch.de> (raw)
In-Reply-To: <AANLkTindxGLPbsk9hWWqf6U89ZnzgbNf3qt96JVQm5rT@mail.gmail.com>
Radivoje Jovanovic wrote:
> I am allocating memory for the buffers in my init call by doing:
> snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_CONTINUOUS,
> snd_dma_continuous_data(GFP_KERNEL), 256*1024, 256*1024);
>
> in my hw_params call I have:
> ret= snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(hw_params));
>
> here is the output from my hw_params call:
>
> called snd_pcm_lib_malloc_pages return=1
> params_buffer_bytes(hw_params)=32768
> Size of DMA area=32768
> Buffer size in bytes=262144
> Buffer virt address=9dc00000
> Buffer phys address=0
>
> Now I am not sure why is my buffer size bigger than my DMA area.
You did not say which values are output, but 262144 is 256*1024, so this
is the preallocated buffer. The DMA is what is actually used with the
current hw_params.
> I assume that memory is not linear because of that
SNDRV_DMA_TYPE_CONTINUOUS gives you continguous pages.
> and that is why I do not have phys address to the buffer.
It doesn't give you the physical address; it looks as if this memory is
intended to be accessed only by the CPU.
To get coherent memory with a DMA address for a specific device, use
SNDRV_DMA_TYPE_DEV. (This must be supported by your architecture.)
Regards,
Clemens
prev parent reply other threads:[~2010-11-05 8:21 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-04 21:12 Buffer memory does not get allocated? Radivoje Jovanovic
2010-11-05 8:23 ` Clemens Ladisch [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4CD3BEE9.6070808@ladisch.de \
--to=clemens@ladisch.de \
--cc=alsa-devel@alsa-project.org \
--cc=radivojejovanovic@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.