From: Daniel Mack <daniel@zonque.org>
To: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>,
alsa-devel@alsa-project.org
Cc: broonie@kernel.org, lars@metafoo.de, pascal.huerst@gmail.com
Subject: Re: [alsa-devel] [PATCH 10/10] ASoC: Add codec component for AD242x nodes
Date: Fri, 20 Dec 2019 09:24:10 +0100 [thread overview]
Message-ID: <fedbdec3-1c44-a72f-3810-30bc7f672601@zonque.org> (raw)
In-Reply-To: <ff0e2420-a2c6-17e7-2761-f6544e2c0cb7@linux.intel.com>
Hi Pierre,
[reducing the recipient list ALSA people]
On 12/18/19 4:32 PM, Pierre-Louis Bossart wrote:
> On 12/18/19 3:49 AM, Daniel Mack wrote:
>> Hi,
>>
>> On 12/17/19 8:28 PM, Pierre-Louis Bossart wrote:
>>> On 12/9/19 12:35 PM, Daniel Mack wrote:
>>
>>>> + if (!ad242x_node_is_master(priv->node) &&
>>>> + ((format & SND_SOC_DAIFMT_MASTER_MASK) !=
>>>> SND_SOC_DAIFMT_CBM_CFM)) {
>>>> + dev_err(component->dev, "slave node must be clock master\n");
>>>> + return -EINVAL;
>>>> + }
>>>
>>> It was my understanding that the master node provides the clock to the
>>> bus, so not sure how it could be a clock slave, and conversely how a
>>> slave node could provide a clock to the bus?
>>
>> The slave nodes receive the A2B clock from the master node and then
>> produce digital audio output that is sent to other components such as
>> codecs. Hence, in ASoC terms, they are the clock master.
>>
>> Likewise, as the master node is receiving its clock from other
>> components, it has to be a clock slave in the audio network.
>>
>> Does that make sense?
>
> Your slave node acts as a bridge then, but it seems you don't model the
> bus-facing interface, which has to follow the master clock. Or do you?
Yes, the driver currently only models the SOC-facing side, and that
follows the 'reverse' clocking scheme:
* The master node always receives the clock on the SOC-facing side, and
produces the clock on the bus-facing side.
* The slave node always receives the clock on the bus-facing side, and
produces the clock on the SOC-facing side.
I currently don't see a reason for modelling the bus-facing side in the
ASoC topology at all, but of course that could be added.
But for the SOC-facing side on *slave* nodes, the currently implemented
logic should be correct, no? Do you think it makes sense to add the
bus-side as well?
> Likewise the master has an 'SOC-facing' interface and a bus-facing
> interface. it *could* be master on both if ASRC was supported. The point
> is that the bus-facing interface is not clock slave.
That's right, I need to look into the modes for the master node again.
Maybe the check needs to be relaxed on that end.
Thanks,
Daniel
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel
next prev parent reply other threads:[~2019-12-20 8:25 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-09 18:35 [alsa-devel] [PATCH 00/10] mfd: Add support for Analog Devices A2B transceiver Daniel Mack
2019-12-09 18:35 ` [alsa-devel] [PATCH 01/10] dt-bindings: mfd: Add documentation for ad242x Daniel Mack
2019-12-19 19:29 ` Rob Herring
2019-12-09 18:35 ` [alsa-devel] [PATCH 02/10] dt-bindings: i2c: Add documentation for ad242x i2c controllers Daniel Mack
2020-01-08 3:45 ` Rob Herring
2019-12-09 18:35 ` [alsa-devel] [PATCH 03/10] dt-bindings: gpio: Add documentation for ad242x GPIO controllers Daniel Mack
2019-12-09 18:35 ` [alsa-devel] [PATCH 03/10] dt-bindings: gpio: Add documentation for AD242x " Daniel Mack
2019-12-09 18:35 ` [alsa-devel] [PATCH 04/10] dt-bindings: clock: Add documentation for AD242x clock providers Daniel Mack
2019-12-24 7:32 ` Stephen Boyd
2019-12-09 18:35 ` [alsa-devel] [PATCH 05/10] dt-bindings: sound: Add documentation for AD242x codecs Daniel Mack
2019-12-09 18:35 ` [alsa-devel] [PATCH 06/10] mfd: Add core driver for AD242x A2B transceivers Daniel Mack
2019-12-17 13:39 ` Lee Jones
2019-12-17 13:46 ` Lee Jones
2019-12-17 19:36 ` Daniel Mack
2019-12-17 19:24 ` Daniel Mack
2019-12-18 11:20 ` Luca Ceresoli
2019-12-17 19:16 ` Pierre-Louis Bossart
2019-12-18 9:40 ` Daniel Mack
2019-12-09 18:35 ` [alsa-devel] [PATCH 07/10] i2c: Add driver for AD242x bus controller Daniel Mack
2019-12-12 16:11 ` Luca Ceresoli
2019-12-12 16:33 ` Wolfram Sang
2019-12-15 20:27 ` Daniel Mack
2019-12-17 8:35 ` Luca Ceresoli
2019-12-17 18:17 ` Daniel Mack
2019-12-09 18:35 ` [alsa-devel] [PATCH 08/10] gpio: Add driver for AD242x GPIO controllers Daniel Mack
2019-12-09 18:35 ` [alsa-devel] [PATCH 09/10] clk: Add support for AD242x clock output providers Daniel Mack
2019-12-24 7:46 ` Stephen Boyd
2019-12-09 18:35 ` [alsa-devel] [PATCH 10/10] ASoC: Add codec component for AD242x nodes Daniel Mack
2019-12-16 14:23 ` Mark Brown
2019-12-17 19:28 ` Pierre-Louis Bossart
2019-12-18 9:49 ` Daniel Mack
2019-12-18 15:32 ` Pierre-Louis Bossart
2019-12-20 8:24 ` Daniel Mack [this message]
2019-12-20 15:18 ` Pierre-Louis Bossart
2019-12-17 19:29 ` [alsa-devel] [PATCH 00/10] mfd: Add support for Analog Devices A2B transceiver Pierre-Louis Bossart
2019-12-18 9:53 ` Daniel Mack
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=fedbdec3-1c44-a72f-3810-30bc7f672601@zonque.org \
--to=daniel@zonque.org \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=lars@metafoo.de \
--cc=pascal.huerst@gmail.com \
--cc=pierre-louis.bossart@linux.intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox