Merge tag 'asoc-fix-v5.4-rc1' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
ASoC: Fixes for v5.4 A small smattering of ASoC fixes for v5.4 - nothing too exciting here, all small standalone things.
This commit is contained in:
@@ -628,6 +628,16 @@ static int fsl_sai_startup(struct snd_pcm_substream *substream,
|
||||
FSL_SAI_CR3_TRCE_MASK,
|
||||
FSL_SAI_CR3_TRCE);
|
||||
|
||||
/*
|
||||
* EDMA controller needs period size to be a multiple of
|
||||
* tx/rx maxburst
|
||||
*/
|
||||
if (sai->soc_data->use_edma)
|
||||
snd_pcm_hw_constraint_step(substream->runtime, 0,
|
||||
SNDRV_PCM_HW_PARAM_PERIOD_SIZE,
|
||||
tx ? sai->dma_params_tx.maxburst :
|
||||
sai->dma_params_rx.maxburst);
|
||||
|
||||
ret = snd_pcm_hw_constraint_list(substream->runtime, 0,
|
||||
SNDRV_PCM_HW_PARAM_RATE, &fsl_sai_rate_constraints);
|
||||
|
||||
@@ -1026,30 +1036,35 @@ static int fsl_sai_remove(struct platform_device *pdev)
|
||||
|
||||
static const struct fsl_sai_soc_data fsl_sai_vf610_data = {
|
||||
.use_imx_pcm = false,
|
||||
.use_edma = false,
|
||||
.fifo_depth = 32,
|
||||
.reg_offset = 0,
|
||||
};
|
||||
|
||||
static const struct fsl_sai_soc_data fsl_sai_imx6sx_data = {
|
||||
.use_imx_pcm = true,
|
||||
.use_edma = false,
|
||||
.fifo_depth = 32,
|
||||
.reg_offset = 0,
|
||||
};
|
||||
|
||||
static const struct fsl_sai_soc_data fsl_sai_imx7ulp_data = {
|
||||
.use_imx_pcm = true,
|
||||
.use_edma = false,
|
||||
.fifo_depth = 16,
|
||||
.reg_offset = 8,
|
||||
};
|
||||
|
||||
static const struct fsl_sai_soc_data fsl_sai_imx8mq_data = {
|
||||
.use_imx_pcm = true,
|
||||
.use_edma = false,
|
||||
.fifo_depth = 128,
|
||||
.reg_offset = 8,
|
||||
};
|
||||
|
||||
static const struct fsl_sai_soc_data fsl_sai_imx8qm_data = {
|
||||
.use_imx_pcm = true,
|
||||
.use_edma = true,
|
||||
.fifo_depth = 64,
|
||||
.reg_offset = 0,
|
||||
};
|
||||
|
@@ -157,6 +157,7 @@
|
||||
|
||||
struct fsl_sai_soc_data {
|
||||
bool use_imx_pcm;
|
||||
bool use_edma;
|
||||
unsigned int fifo_depth;
|
||||
unsigned int reg_offset;
|
||||
};
|
||||
|
Reference in New Issue
Block a user