mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-05 00:20:32 +00:00
ASoC: SOF: compress: Move sof_compr_copy functionality
Since we're preparing to add support for compress capture, we need to move the content of sof_compr_copy into a separate function which handles the playback direction just like the initial sof_compr_copy. Reviewed-by: Paul Olaru <paul.olaru@nxp.com> Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com> Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com> Link: https://lore.kernel.org/r/20220822101502.17644-2-laurentiu.mihalcea@nxp.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
ced579dcaa
commit
272ff8828f
1 changed files with 15 additions and 8 deletions
|
@ -297,18 +297,13 @@ static int sof_compr_trigger(struct snd_soc_component *component,
|
|||
&reply, sizeof(reply));
|
||||
}
|
||||
|
||||
static int sof_compr_copy(struct snd_soc_component *component,
|
||||
struct snd_compr_stream *cstream,
|
||||
char __user *buf, size_t count)
|
||||
static int sof_compr_copy_playback(struct snd_compr_runtime *rtd,
|
||||
char __user *buf, size_t count)
|
||||
{
|
||||
struct snd_compr_runtime *rtd = cstream->runtime;
|
||||
unsigned int offset, n;
|
||||
void *ptr;
|
||||
unsigned int offset, n;
|
||||
int ret;
|
||||
|
||||
if (count > rtd->buffer_size)
|
||||
count = rtd->buffer_size;
|
||||
|
||||
div_u64_rem(rtd->total_bytes_available, rtd->buffer_size, &offset);
|
||||
ptr = rtd->dma_area + offset;
|
||||
n = rtd->buffer_size - offset;
|
||||
|
@ -323,6 +318,18 @@ static int sof_compr_copy(struct snd_soc_component *component,
|
|||
return count - ret;
|
||||
}
|
||||
|
||||
static int sof_compr_copy(struct snd_soc_component *component,
|
||||
struct snd_compr_stream *cstream,
|
||||
char __user *buf, size_t count)
|
||||
{
|
||||
struct snd_compr_runtime *rtd = cstream->runtime;
|
||||
|
||||
if (count > rtd->buffer_size)
|
||||
count = rtd->buffer_size;
|
||||
|
||||
return sof_compr_copy_playback(rtd, buf, count);
|
||||
}
|
||||
|
||||
static int sof_compr_pointer(struct snd_soc_component *component,
|
||||
struct snd_compr_stream *cstream,
|
||||
struct snd_compr_tstamp *tstamp)
|
||||
|
|
Loading…
Reference in a new issue