All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tony Lindgren <tony@atomide.com>
To: Peter Ujfalusi <peter.ujfalusi@ti.com>
Cc: alsa-devel@alsa-project.org, linux-omap@vger.kernel.org,
	Liam Girdwood <lgirdwood@gmail.com>,
	Merlijn Wajer <merlijn@wizzup.org>,
	Aaro Koskinen <aaro.koskinen@iki.fi>,
	linux-kernel@vger.kernel.org, Takashi Iwai <tiwai@suse.com>,
	Mark Brown <broonie@kernel.org>, Pavel Machek <pavel@ucw.cz>,
	Sebastian Reichel <sre@kernel.org>,
	"Arthur D ." <spinal.by@gmail.com>,
	Jarkko Nikula <jarkko.nikula@bitmer.com>
Subject: Re: [alsa-devel] [PATCH] ASoC: ti: Allocate dais dynamically for TDM and audio graph card
Date: Wed, 12 Feb 2020 06:35:43 -0800	[thread overview]
Message-ID: <20200212143543.GI64767@atomide.com> (raw)
In-Reply-To: <cd46c6ec-80e3-332f-4922-e58a3acbfc61@ti.com>

* Peter Ujfalusi <peter.ujfalusi@ti.com> [200212 08:02]:
> 
> 
> On 11/02/2020 19.16, Tony Lindgren wrote:
> > We can have multiple connections on a single McBSP instance configured
> > with audio graph card when using TDM (Time Division Multiplexing). Let's
> > allow that by configuring dais dynamically.
> 
> It is still one DAI...
> If you have multiple codec connected to the same I2S lines, but the
> codecs communicate within different time slots, you still have one DAI
> on the CPU side, but multiple codecs (codec DAIs) with different TDM slot.

OK so subject should say "dodec DAIs" then I guess?

> > See Documentation/devicetree/bindings/sound/audio-graph-card.txt and
> > Documentation/devicetree/bindings/graph.txt for more details for
> > multiple endpoints.
> 
> See the example for 'Multi DAI with DPCM' in audio-graph-card.txt
> The PCM3168a have 2 DAIs: playback and capture, but you can have
> multiple endpoints within a DAI.

Yes this should follow the audio-graph-card.txt example. We end up with
mcbsp3 dts node as below on droid4:

&mcbsp3 {
        #sound-dai-cells = <0>;
        pinctrl-names = "default";
        pinctrl-0 = <&mcbsp3_pins>;
        status = "okay";

        ports {
                mcbsp3_port: port@0 {
                        #address-cells = <1>;
                        #size-cells = <0>;

                        cpu_dai3: endpoint@0 {
                                reg = <0>;
                                dai-format = "dsp_a";
                                frame-master = <&cpcap_audio_codec1>;
                                bitclock-master = <&cpcap_audio_codec1>;
                                remote-endpoint = <&cpcap_audio_codec1>;
                        };

                        cpu_dai_mdm: endpoint@1 {
                                reg = <1>;
                                dai-format = "dsp_a";
                                frame-master = <&cpcap_audio_codec1>;
                                bitclock-master = <&cpcap_audio_codec1>;
                                remote-endpoint = <&mot_mdm6600_audio_codec0>;
                        };
                };
        };
};

That is pretty much the same as the 'Multi DAI with DPCM' example, with
dne dai, and multiple endpoints. I think we still have just one port
for one i2s transport on the mcbsp :)

Does the above look as what you would expect based on the binding?

> > I've tested this with droid4 where cpcap pmic and modem voice are both
> > both wired to mcbsp3. I've also tested this on droid4 both with and
> > without the pending modem audio codec driver that is waiting for n_gsm
> > serdev dependencies to clear.
> 
> What this patch you effectively just creating dummy-dais on top of the
> real McBSP DAI.

Yes I think this is needed for snd-soc-audio-graph-card, and this allows
configuring whatever is needed for the i2s slot. But maybe you have some
better way of doing it in mind?

> You also rename the DAIs, which might break ams-delta.

Oops, that's not good. So should we just keep the old naming if there's
only one endpoint?

> We still have legacy support in
> omap-twl4030.c
> omap3pandora.c
> osk5912.c
> rx51.c
> 
> which will break with the renamed DAI. On the other hand I think the
> legacy support can be dropped from them.

I'm not sure what all that would take.

> I know it was discussed, but can not find the mail:
> Can you brief again on the audio connection?

Below is a link to a mailing list thread where Sebastian describes
the audio connection:

https://lkml.org/lkml/2018/3/28/881

> Do you have branch with working code?

Yeah I have slightly older set of the patches in my droid4-pending-v5.5
kernel.org git branch with voice calls working.

Regards,

Tony
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel

WARNING: multiple messages have this Message-ID (diff)
From: Tony Lindgren <tony@atomide.com>
To: Peter Ujfalusi <peter.ujfalusi@ti.com>
Cc: Mark Brown <broonie@kernel.org>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.com>,
	alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org,
	linux-omap@vger.kernel.org, Aaro Koskinen <aaro.koskinen@iki.fi>,
	"Arthur D ." <spinal.by@gmail.com>,
	Jarkko Nikula <jarkko.nikula@bitmer.com>,
	Merlijn Wajer <merlijn@wizzup.org>, Pavel Machek <pavel@ucw.cz>,
	Sebastian Reichel <sre@kernel.org>
Subject: Re: [PATCH] ASoC: ti: Allocate dais dynamically for TDM and audio graph card
Date: Wed, 12 Feb 2020 06:35:43 -0800	[thread overview]
Message-ID: <20200212143543.GI64767@atomide.com> (raw)
In-Reply-To: <cd46c6ec-80e3-332f-4922-e58a3acbfc61@ti.com>

* Peter Ujfalusi <peter.ujfalusi@ti.com> [200212 08:02]:
> 
> 
> On 11/02/2020 19.16, Tony Lindgren wrote:
> > We can have multiple connections on a single McBSP instance configured
> > with audio graph card when using TDM (Time Division Multiplexing). Let's
> > allow that by configuring dais dynamically.
> 
> It is still one DAI...
> If you have multiple codec connected to the same I2S lines, but the
> codecs communicate within different time slots, you still have one DAI
> on the CPU side, but multiple codecs (codec DAIs) with different TDM slot.

OK so subject should say "dodec DAIs" then I guess?

> > See Documentation/devicetree/bindings/sound/audio-graph-card.txt and
> > Documentation/devicetree/bindings/graph.txt for more details for
> > multiple endpoints.
> 
> See the example for 'Multi DAI with DPCM' in audio-graph-card.txt
> The PCM3168a have 2 DAIs: playback and capture, but you can have
> multiple endpoints within a DAI.

Yes this should follow the audio-graph-card.txt example. We end up with
mcbsp3 dts node as below on droid4:

&mcbsp3 {
        #sound-dai-cells = <0>;
        pinctrl-names = "default";
        pinctrl-0 = <&mcbsp3_pins>;
        status = "okay";

        ports {
                mcbsp3_port: port@0 {
                        #address-cells = <1>;
                        #size-cells = <0>;

                        cpu_dai3: endpoint@0 {
                                reg = <0>;
                                dai-format = "dsp_a";
                                frame-master = <&cpcap_audio_codec1>;
                                bitclock-master = <&cpcap_audio_codec1>;
                                remote-endpoint = <&cpcap_audio_codec1>;
                        };

                        cpu_dai_mdm: endpoint@1 {
                                reg = <1>;
                                dai-format = "dsp_a";
                                frame-master = <&cpcap_audio_codec1>;
                                bitclock-master = <&cpcap_audio_codec1>;
                                remote-endpoint = <&mot_mdm6600_audio_codec0>;
                        };
                };
        };
};

That is pretty much the same as the 'Multi DAI with DPCM' example, with
dne dai, and multiple endpoints. I think we still have just one port
for one i2s transport on the mcbsp :)

Does the above look as what you would expect based on the binding?

> > I've tested this with droid4 where cpcap pmic and modem voice are both
> > both wired to mcbsp3. I've also tested this on droid4 both with and
> > without the pending modem audio codec driver that is waiting for n_gsm
> > serdev dependencies to clear.
> 
> What this patch you effectively just creating dummy-dais on top of the
> real McBSP DAI.

Yes I think this is needed for snd-soc-audio-graph-card, and this allows
configuring whatever is needed for the i2s slot. But maybe you have some
better way of doing it in mind?

> You also rename the DAIs, which might break ams-delta.

Oops, that's not good. So should we just keep the old naming if there's
only one endpoint?

> We still have legacy support in
> omap-twl4030.c
> omap3pandora.c
> osk5912.c
> rx51.c
> 
> which will break with the renamed DAI. On the other hand I think the
> legacy support can be dropped from them.

I'm not sure what all that would take.

> I know it was discussed, but can not find the mail:
> Can you brief again on the audio connection?

Below is a link to a mailing list thread where Sebastian describes
the audio connection:

https://lkml.org/lkml/2018/3/28/881

> Do you have branch with working code?

Yeah I have slightly older set of the patches in my droid4-pending-v5.5
kernel.org git branch with voice calls working.

Regards,

Tony

  reply	other threads:[~2020-02-12 14:37 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-11 17:16 [alsa-devel] [PATCH] ASoC: ti: Allocate dais dynamically for TDM and audio graph card Tony Lindgren
2020-02-11 17:16 ` Tony Lindgren
2020-02-12  8:02 ` [alsa-devel] " Peter Ujfalusi
2020-02-12  8:02   ` Peter Ujfalusi
2020-02-12  8:02   ` Peter Ujfalusi
2020-02-12 14:35   ` Tony Lindgren [this message]
2020-02-12 14:35     ` Tony Lindgren
2020-02-14  0:34     ` [alsa-devel] " Sebastian Reichel
2020-02-14  0:34       ` Sebastian Reichel
2020-02-14  1:34       ` [alsa-devel] " Tony Lindgren
2020-02-14  1:34         ` Tony Lindgren
2020-02-14 13:04         ` [alsa-devel] " Sebastian Reichel
2020-02-14 13:04           ` Sebastian Reichel
2020-02-14 17:09           ` [alsa-devel] " Tony Lindgren
2020-02-14 17:09             ` Tony Lindgren
2020-02-18 14:04             ` Sebastian Reichel
2020-02-18 14:04               ` Sebastian Reichel
2020-02-18 14:19               ` Tony Lindgren
2020-02-18 14:19                 ` Tony Lindgren
2020-02-18 16:35                 ` Sebastian Reichel
2020-02-18 16:35                   ` Sebastian Reichel
2020-02-14 12:41     ` [alsa-devel] " Peter Ujfalusi
2020-02-14 12:41       ` Peter Ujfalusi
2020-02-14 12:49       ` [alsa-devel] " Mark Brown
2020-02-14 12:49         ` Mark Brown
2020-02-14 17:05         ` [alsa-devel] " Tony Lindgren
2020-02-14 17:05           ` Tony Lindgren
2020-02-14 20:05           ` [alsa-devel] " Mark Brown
2020-02-14 20:05             ` Mark Brown
2020-02-14 17:03       ` [alsa-devel] " Tony Lindgren
2020-02-14 17:03         ` Tony Lindgren
2020-02-17  1:38         ` [alsa-devel] " Kuninori Morimoto
2020-02-17  1:38           ` Kuninori Morimoto
2020-02-17  5:25           ` [alsa-devel] " Kuninori Morimoto
2020-02-17  5:25             ` Kuninori Morimoto
2020-02-17 12:09         ` [alsa-devel] " Peter Ujfalusi
2020-02-17 12:09           ` Peter Ujfalusi
2020-02-17 23:10           ` Tony Lindgren
2020-02-17 23:10             ` Tony Lindgren
2020-02-17 23:36             ` Tony Lindgren
2020-02-17 23:36               ` Tony Lindgren
2020-02-18 15:26               ` Peter Ujfalusi
2020-02-18 15:26                 ` Peter Ujfalusi
2020-02-18 15:34                 ` Tony Lindgren
2020-02-18 15:34                   ` Tony Lindgren
2020-02-18 12:43             ` Peter Ujfalusi
2020-02-18 12:43               ` Peter Ujfalusi
2020-02-18 15:28               ` Tony Lindgren
2020-02-18 15:28                 ` Tony Lindgren
2020-02-20 14:07                 ` Peter Ujfalusi
2020-02-20 14:07                   ` Peter Ujfalusi
2020-02-20 20:13                   ` Tony Lindgren
2020-02-20 20:13                     ` Tony Lindgren
2020-02-21 14:07                     ` Peter Ujfalusi
2020-02-21 14:07                       ` Peter Ujfalusi
2020-02-18 21:16               ` Sebastian Reichel
2020-02-18 21:16                 ` Sebastian Reichel
2020-02-20 14:15                 ` Peter Ujfalusi
2020-02-20 14:15                   ` Peter Ujfalusi
2020-02-20 20:15                   ` Tony Lindgren
2020-02-20 20:15                     ` Tony Lindgren
2020-02-21 13:20                     ` Peter Ujfalusi
2020-02-21 13:20                       ` Peter Ujfalusi
2020-02-21 18:08                       ` Tony Lindgren
2020-02-21 18:08                         ` Tony Lindgren
2020-02-20 20:47                   ` Sebastian Reichel
2020-02-20 20:47                     ` Sebastian Reichel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200212143543.GI64767@atomide.com \
    --to=tony@atomide.com \
    --cc=aaro.koskinen@iki.fi \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=jarkko.nikula@bitmer.com \
    --cc=lgirdwood@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=merlijn@wizzup.org \
    --cc=pavel@ucw.cz \
    --cc=peter.ujfalusi@ti.com \
    --cc=spinal.by@gmail.com \
    --cc=sre@kernel.org \
    --cc=tiwai@suse.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.