Re: [PATCH v1 1/1] ASoC: rsnd: ssi: Fix issue in dma data address assignment

From: Jiada Wang
Date: Thu Dec 21 2017 - 21:27:39 EST

Hi Morimoto-san

On 12/21/2017 04:43 PM, Kuninori Morimoto wrote:
Hi Jiada

Thank you for your feedback
I understand your situation

We have enabled TDM Split and Ex-Split mode in our kernel,
and SSI(U)'s dma address diffs based on the BUSIF it is using,
so have a single dma data struct per rsnd_ssi will cause issue when
SSI isn't working with BUSIF0.
First of all, "TDM (Ex) Split mode" is not yet supported.
And unfortunately, your patch is not enough for it.
I guess you enabled it with many local patches,
and posted one of them ?

It is very advanced feature, we need to consider about
channel/sampling rate/data width/settings/address etc etc etc...
Lots of things we need to solve/care !
DMA pointer is one of them.

If we focus only to DMA, your patch is still wrong I think.
"Playback/Capture direction" is not related to this topic.
1 DMA on 1 DAI is enough ?
And we need to update rsnd_gen2_dma_addr() too for DMA address.
Yes, this patch is only one of a serial patch set to enable TDM (Ex) Split mode,
I submitted it alone because think it is independent,
but you are right, to make the background more clear,
I will submit the whole patch set together with this single patch in v2,
(this probably will take some time)

Do you have any suggestion to address this issue?
I have no idea at this point.
Missing part for TDM (Ex) Split mode is not only DMA pointer.

Why do you want to use it ?
If you want to do is only "use 2 DAIs for playback",
how about to use MIXer ? It is already supported on upstream.
Best regards
Kuninori Morimoto