[alsa-devel] [PATCH v2 3/4] ASoC: simple-card: accept many DAI links
Jyri Sarha
jsarha at ti.com
Sat Mar 15 10:14:13 CET 2014
On 2014-03-14 20:40, Jean-Francois Moine wrote:
> On Fri, 14 Mar 2014 13:16:12 +0200
> Jyri Sarha <jsarha at ti.com> wrote:
>
>> On 03/11/2014 11:36 AM, Jean-Francois Moine wrote:
>> > Some simple audio cards may have many DAI links.
>> > This patch extends the simple-card driver for handling such cards.
>> >
>> > Signed-off-by: Jean-Francois Moine <moinejf at free.fr>
>> > ---
>> [...]
>>
>> Why can't you just use two simple-card instances in your setup?
>
> My machine has only one audio device (kirkwood). This one has two
> outputs. The first one (I2S) is connected to the HDMI transmitter, and
> the other one (S/PDIF) is connected to both the HDMI transmitter and
> the
> S/PDIF connector. There can be only one playback stream, either via
> I2S, or S/PDIF, or both, with the final output either to HDMI or S/PDIF
> or both:
>
> /--> I2S -----+-> HDMI
> platform -+ /
> \-> S/PDIF -+
> \--> S/PDIF
>
> DPCM permits to activate both I2S and S/PDIF, but it does not handle
> the format and rate constraints (both outputs are always activated with
> the platform constraints).
>
> So, the actual solution I use is 3 DAI links (= 3 PCMs):
> - HDMI via I2S
> - HDMI via S/PDIF (no S/PDIF output)
> - S/PDIF via S/PDIF (no HDMI output)
>
Maybe a HW specific machine-driver would serve your case better. Of
course it would be great to have a generic implementation that can
handle this case too, but I am not sure if it should be called a
simple-card anymore :).
>> You need to update the DT-binding document too when you are changing
>> the
>> binding. That way it would also be easier to follow what you are
>> trying
>> to accomplish here.
>
> Some people want to have 2 different patchs: one for the code and the
> other one for the DT change. Some other people like you want only one
> patch. Which is the right way?
>
I did not mean it should be in the same patch. Part of the same series
is fine with me. It is up to maintainer to decide these things anyway. I
would just like to compare the document with the implementation.
>> The sysclk and tdm properties appear to only work in the dais of the
>> first dai-link and __asoc_simple_card_dai_init() will not be called
>> for
>> other dais at all. The DT-binding of this implementation would look
>> pretty hairy to me.
>
> I will add an other dynamic structure for these properties.
Best regards,
Jyri
More information about the Alsa-devel
mailing list