This patchset supports SAI on i.MX93 platform.
Chancel Liu (3):
ASoC: dt-bindings: fsl,sai: Add compatible string for i.MX93 platform
ASoC: fsl_sai: Add support for i.MX93 platform
ASoC: fsl_sai: Specify the maxburst to 8 on i.MX93 platform
.../devicetree/bindings/sound/fsl,sai.yaml | 1 +
sound/soc/fsl/fsl_sai.c | 23 +++++++++++++++----
sound/soc/fsl/fsl_sai.h | 1 +
3 files changed, 21 insertions(+), 4 deletions(-)
--
2.25.1
There is a limit to eDMA AXI on i.MX93. Only TCD that has NBYTES in a
multiple of 8bytes can enable scatter-gather. NBYTES is calculated by
bus width times maxburst. On i.MX93 platform the value of maxburst is
specified to 8. It makes sure that NBYTES is a multiple of 8bytes.
Signed-off-by: Chancel Liu <[email protected]>
---
sound/soc/fsl/fsl_sai.c | 11 +++++++----
sound/soc/fsl/fsl_sai.h | 1 +
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/sound/soc/fsl/fsl_sai.c b/sound/soc/fsl/fsl_sai.c
index 68e1cc4c369a..a0ea27f06997 100644
--- a/sound/soc/fsl/fsl_sai.c
+++ b/sound/soc/fsl/fsl_sai.c
@@ -872,10 +872,10 @@ static int fsl_sai_dai_probe(struct snd_soc_dai *cpu_dai)
regmap_update_bits(sai->regmap, FSL_SAI_TCR1(ofs),
FSL_SAI_CR1_RFW_MASK(sai->soc_data->fifo_depth),
- sai->soc_data->fifo_depth - FSL_SAI_MAXBURST_TX);
+ sai->soc_data->fifo_depth - sai->dma_params_tx.maxburst);
regmap_update_bits(sai->regmap, FSL_SAI_RCR1(ofs),
FSL_SAI_CR1_RFW_MASK(sai->soc_data->fifo_depth),
- FSL_SAI_MAXBURST_RX - 1);
+ sai->dma_params_rx.maxburst - 1);
snd_soc_dai_init_dma_data(cpu_dai, &sai->dma_params_tx,
&sai->dma_params_rx);
@@ -1416,8 +1416,10 @@ static int fsl_sai_probe(struct platform_device *pdev)
sai->dma_params_rx.addr = sai->res->start + FSL_SAI_RDR0;
sai->dma_params_tx.addr = sai->res->start + FSL_SAI_TDR0;
- sai->dma_params_rx.maxburst = FSL_SAI_MAXBURST_RX;
- sai->dma_params_tx.maxburst = FSL_SAI_MAXBURST_TX;
+ sai->dma_params_rx.maxburst =
+ sai->soc_data->max_burst[RX] ? sai->soc_data->max_burst[RX] : FSL_SAI_MAXBURST_RX;
+ sai->dma_params_tx.maxburst =
+ sai->soc_data->max_burst[TX] ? sai->soc_data->max_burst[TX] : FSL_SAI_MAXBURST_TX;
sai->pinctrl = devm_pinctrl_get(&pdev->dev);
@@ -1588,6 +1590,7 @@ static const struct fsl_sai_soc_data fsl_sai_imx93_data = {
.pins = 4,
.flags = 0,
.max_register = FSL_SAI_MCTL,
+ .max_burst = {8, 8},
};
static const struct of_device_id fsl_sai_ids[] = {
diff --git a/sound/soc/fsl/fsl_sai.h b/sound/soc/fsl/fsl_sai.h
index 697f6690068c..197748a888d5 100644
--- a/sound/soc/fsl/fsl_sai.h
+++ b/sound/soc/fsl/fsl_sai.h
@@ -235,6 +235,7 @@ struct fsl_sai_soc_data {
unsigned int reg_offset;
unsigned int flags;
unsigned int max_register;
+ unsigned int max_burst[2];
};
/**
--
2.25.1
On Thu, Oct 27, 2022 at 9:14 AM Chancel Liu <[email protected]> wrote:
>
> This patchset supports SAI on i.MX93 platform.
>
> Chancel Liu (3):
> ASoC: dt-bindings: fsl,sai: Add compatible string for i.MX93 platform
> ASoC: fsl_sai: Add support for i.MX93 platform
> ASoC: fsl_sai: Specify the maxburst to 8 on i.MX93 platform
Reviewed-by: Daniel Baluta <[email protected]>
On Thu, 27 Oct 2022 14:03:08 +0800, Chancel Liu wrote:
> This patchset supports SAI on i.MX93 platform.
>
> Chancel Liu (3):
> ASoC: dt-bindings: fsl,sai: Add compatible string for i.MX93 platform
> ASoC: fsl_sai: Add support for i.MX93 platform
> ASoC: fsl_sai: Specify the maxburst to 8 on i.MX93 platform
>
> [...]
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
Thanks!
[1/3] ASoC: dt-bindings: fsl,sai: Add compatible string for i.MX93 platform
commit: aa8289fda86ede0e164a260316647c8bf0400d41
[2/3] ASoC: fsl_sai: Add support for i.MX93 platform
commit: 67d5c6c19923ad26def8a001e86fc0f42264a8b5
[3/3] ASoC: fsl_sai: Specify the maxburst to 8 on i.MX93 platform
commit: 870b89d118a29bd845ea706a74e313f9b83f5a45
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark