Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
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

  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