From: Cezary Rojewski <cezary.rojewski@intel.com>
To: Takashi Iwai <tiwai@suse.de>
Cc: lgirdwood@gmail.com, alsa-devel@alsa-project.org,
broonie@kernel.org, tiwai@suse.com,
pierre-louis.bossart@linux.intel.com
Subject: Re: [alsa-devel] [PATCH 4/7] ALSA: core: Expand DMA buffer information
Date: Tue, 17 Dec 2019 13:13:36 +0100 [thread overview]
Message-ID: <22099cfc-c3a0-5c97-e508-31132dbd8a72@intel.com> (raw)
In-Reply-To: <s5h1rt32quc.wl-tiwai@suse.de>
On 2019-12-17 11:23, Takashi Iwai wrote:
> On Tue, 17 Dec 2019 10:58:48 +0100,
> Cezary Rojewski wrote:
>>
>> Update DMA buffer definition for snd_compr_runtime so it is represented
>> similarly as in snd_pcm_runtime. While at it, modify
>> snd_compr_set_runtime_buffer to account for newly added members.
>>
>> Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
>> ---
>> include/sound/compress_driver.h | 35 ++++++++++++++++++++++++---------
>> 1 file changed, 26 insertions(+), 9 deletions(-)
>>
>> diff --git a/include/sound/compress_driver.h b/include/sound/compress_driver.h
>> index bc88d6f964da..00f633c0c3ba 100644
>> --- a/include/sound/compress_driver.h
>> +++ b/include/sound/compress_driver.h
>> @@ -23,7 +23,6 @@ struct snd_compr_ops;
>> * struct snd_compr_runtime: runtime stream description
>> * @state: stream state
>> * @ops: pointer to DSP callbacks
>> - * @dma_buffer_p: runtime dma buffer pointer
>> * @buffer: pointer to kernel buffer, valid only when not in mmap mode or
>> * DSP doesn't implement copy
>> * @buffer_size: size of the above buffer
>> @@ -34,11 +33,14 @@ struct snd_compr_ops;
>> * @total_bytes_transferred: cumulative bytes transferred by offload DSP
>> * @sleep: poll sleep
>> * @private_data: driver private data pointer
>> + * @dma_area: virtual buffer address
>> + * @dma_addr: physical buffer address (not accessible from main CPU)
>> + * @dma_bytes: size of DMA area
>> + * @dma_buffer_p: runtime dma buffer pointer
>> */
>> struct snd_compr_runtime {
>> snd_pcm_state_t state;
>> struct snd_compr_ops *ops;
>> - struct snd_dma_buffer *dma_buffer_p;
>> void *buffer;
>> u64 buffer_size;
>> u32 fragment_size;
>> @@ -47,6 +49,11 @@ struct snd_compr_runtime {
>> u64 total_bytes_transferred;
>> wait_queue_head_t sleep;
>> void *private_data;
>> +
>> + unsigned char *dma_area;
>> + dma_addr_t dma_addr;
>> + size_t dma_bytes;
>> + struct snd_dma_buffer *dma_buffer_p;
>
> Why do we need to have both dma_buffer_p and its values?
> For consistency with PCM stream?
>
> For PCM, dma_area, dma_addr and dma_bytes are the primary data, which
> aren't necessarily set by the dma_buffer but manually set up by the
> driver.
>
> Just wondering.
Yeah, this is simply for consistency reasons. As referred to in previous
reply, I'd like to see compr & PCM being tightly coupled in the future
so separate page allocation functions are not required. Whether this is
entirely possible or not I not know yet, although I'm an optimist when
it comes to that subject.
If it indeed comes to that, having shared concepts and consistent API
makes it much easier for one to refactor.
Czarek
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel
next prev parent reply other threads:[~2019-12-17 12:15 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-17 9:58 [alsa-devel] [PATCH 0/7] ALSA: hda: Enable HDAudio compress Cezary Rojewski
2019-12-17 9:58 ` [alsa-devel] [PATCH 1/7] ALSA: hda: Allow for compress stream to hdac_ext_stream assignment Cezary Rojewski
2019-12-17 10:19 ` Takashi Iwai
2019-12-17 12:06 ` Cezary Rojewski
2020-01-07 16:13 ` Cezary Rojewski
2019-12-17 9:58 ` [alsa-devel] [PATCH 2/7] ALSA: hda: Prepare for compress stream support Cezary Rojewski
2019-12-17 9:58 ` [alsa-devel] [PATCH 3/7] ALSA: hda: Interrupt servicing and BDL setup for compress streams Cezary Rojewski
2019-12-17 9:58 ` [alsa-devel] [PATCH 4/7] ALSA: core: Expand DMA buffer information Cezary Rojewski
2019-12-17 10:23 ` Takashi Iwai
2019-12-17 12:13 ` Cezary Rojewski [this message]
2019-12-17 9:58 ` [alsa-devel] [PATCH 5/7] ALSA: core: Implement compress page allocation and free routines Cezary Rojewski
2019-12-17 10:24 ` Takashi Iwai
2019-12-17 12:22 ` Cezary Rojewski
2019-12-17 14:06 ` Pierre-Louis Bossart
2019-12-17 9:58 ` [alsa-devel] [PATCH 6/7] ASoC: compress: Add pm_runtime support Cezary Rojewski
2019-12-17 12:39 ` [alsa-devel] Applied "ASoC: compress: Add pm_runtime support" to the asoc tree Mark Brown
2019-12-17 9:58 ` [alsa-devel] [PATCH 7/7] ASoC: SOF: Intel: Account for compress streams when servicing IRQs Cezary Rojewski
2019-12-17 10:30 ` Takashi Iwai
2019-12-17 12:33 ` Cezary Rojewski
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=22099cfc-c3a0-5c97-e508-31132dbd8a72@intel.com \
--to=cezary.rojewski@intel.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=pierre-louis.bossart@linux.intel.com \
--cc=tiwai@suse.com \
--cc=tiwai@suse.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox