linux-imx/sound/soc/fsl/fsl_rpmsg.h
Chancel Liu ffe067c014 LF-4972: ASoC: fsl_rpmsg: allocate a smaller buffer size for capture
Current the capture size is 0x6000000, plus playback size (0x6000000)
the total size is exceed the maximum buffer size for the sound card.

There are several buffer size setup modes for different rpmsg
soundcards. For rpmsg-micfil soundcard, the capture buffer size is
0x100000. For rpmsg-audio soundcard, the normal playback buffer size
as well as capture is 0x10000. In the case that lpa is enabled in
rpmsg-audio soundcard, the playback buffer size is set to 0x6000000
and the capture buffer size is 0x100000.

Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Signed-off-by: Chancel Liu <chancel.liu@nxp.com>
2023-10-30 15:21:03 +08:00

48 lines
1.2 KiB
C

/* SPDX-License-Identifier: GPL-2.0 */
/*
* Copyright 2017-2021 NXP
*/
#ifndef __FSL_RPMSG_H
#define __FSL_RPMSG_H
/*
* struct fsl_rpmsg_soc_data
* @rates: supported rates
* @formats: supported formats
*/
struct fsl_rpmsg_soc_data {
int rates;
u64 formats;
};
/*
* struct fsl_rpmsg - rpmsg private data
*
* @ipg: ipg clock for cpu dai (SAI)
* @mclk: master clock for cpu dai (SAI)
* @dma: clock for dma device
* @pll8k: parent clock for multiple of 8kHz frequency
* @pll11k: parent clock for multiple of 11kHz frequency
* @card_pdev: Platform_device pointer to register a sound card
* @soc_data: soc specific data
* @mclk_streams: Active streams that are using baudclk
* @force_lpa: force enable low power audio routine if condition satisfy
* @enable_lpa: enable low power audio routine according to dts setting
* @buffer_size: pre allocated dma buffer size
*/
struct fsl_rpmsg {
struct clk *ipg;
struct clk *mclk;
struct clk *dma;
struct clk *pll8k;
struct clk *pll11k;
struct platform_device *card_pdev;
const struct fsl_rpmsg_soc_data *soc_data;
unsigned int mclk_streams;
int force_lpa;
int enable_lpa;
int buffer_size[2];
};
#endif /* __FSL_RPMSG_H */