[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3bb2114c-cd0c-f176-c837-90a665a25343@linux.intel.com>
Date: Fri, 13 Jan 2023 11:05:54 -0600
From: Pierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com>
To: "Mukunda,Vijendar" <vijendar.mukunda@....com>, broonie@...nel.org,
vkoul@...nel.org, alsa-devel@...a-project.org
Cc: Mastan.Katragadda@....com, Sunil-kumar.Dommati@....com,
open list <linux-kernel@...r.kernel.org>,
Basavaraj.Hiregoudar@....com, Takashi Iwai <tiwai@...e.com>,
Liam Girdwood <lgirdwood@...il.com>, Mario.Limonciello@....com,
arungopal.kondaveeti@....com,
Syed Saba Kareem <Syed.SabaKareem@....com>
Subject: Re: [PATCH 08/19] ASoC: amd: ps: add soundwire dma driver dma ops
>>> + sdw_data->sdw_stream[stream_id] = substream;
>>> + size = params_buffer_bytes(params);
>>> + period_bytes = params_period_bytes(params);
>>> + sdw_stream_data->dma_addr = substream->runtime->dma_addr;
>>> + sdw_stream_data->num_pages = (PAGE_ALIGN(size) >> PAGE_SHIFT);
>>> + acp63_config_dma(sdw_stream_data, stream_id);
>>> + ret = acp63_configure_sdw_ringbuffer(sdw_stream_data->acp_base, stream_id, size);
>>> + if (ret) {
>>> + dev_err(component->dev, "Invalid channel type\n");
>>> + return -EINVAL;
>>> + }
>>> + switch (stream_id) {
>>> + case ACP_SDW_AUDIO_TX:
>>> + water_mark_size_reg = ACP_AUDIO_TX_INTR_WATERMARK_SIZE;
>>> + irq_mask = BIT(ACP_AUDIO_TX_THRESHOLD);
>>> + acp_ext_intr_cntl_reg = ACP_EXTERNAL_INTR_CNTL;
>>> + break;
>> so there's ONE resource to deal with external codecs? How does this work
>> if you have a headset codec and an amplifier?
> Are you referring to playing a same stream over headset codec and
> amplifier?
> It's all about channel selection from DMA perspective.
> We have tested speaker aggregation and headset playback use cases.
No, I wasn't asking about playing the same content to different sinks.
I was referring to playing/recording different content to/from different
devices.
Even when interfacing with a single device, there are interesting
topologies in the SDCA spec that would require multiple DMA transfers
conveying unrelated content (or processed content from the same source).
Powered by blists - more mailing lists