mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-18 00:26:47 +07:00
ASoC: SOF: pcm: skip DMA buffer pre-allocation
As discussion in ALSA https://patchwork.kernel.org/patch/11336023/, it is suggested to skip DMA buffer pre-allocation with passing size=0 when calling snd_pcm_set_managed_buffer(), to make the full buffer_bytes range configured in topology file selectable from user space, here do the corresponding change in SOF PCM driver to implement it. This change doesn't have dependency to the change that Takashi will do in the ALSA core by adding total_pcm_alloc_bytes limitation to the struct snd_card, it passes tests both with or without Takashi's coming change on SOF CML platform. Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> Link: https://lore.kernel.org/r/20200228231850.9226-2-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
a57ec83a71
commit
e582f4832a
@ -601,8 +601,7 @@ static int sof_pcm_new(struct snd_soc_component *component,
|
||||
|
||||
snd_pcm_set_managed_buffer(pcm->streams[stream].substream,
|
||||
SNDRV_DMA_TYPE_DEV_SG, sdev->dev,
|
||||
le32_to_cpu(caps->buffer_size_min),
|
||||
le32_to_cpu(caps->buffer_size_max));
|
||||
0, le32_to_cpu(caps->buffer_size_max));
|
||||
capture:
|
||||
stream = SNDRV_PCM_STREAM_CAPTURE;
|
||||
|
||||
@ -624,8 +623,7 @@ static int sof_pcm_new(struct snd_soc_component *component,
|
||||
|
||||
snd_pcm_set_managed_buffer(pcm->streams[stream].substream,
|
||||
SNDRV_DMA_TYPE_DEV_SG, sdev->dev,
|
||||
le32_to_cpu(caps->buffer_size_min),
|
||||
le32_to_cpu(caps->buffer_size_max));
|
||||
0, le32_to_cpu(caps->buffer_size_max));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user