All of lore.kernel.org
 help / color / mirror / Atom feed
From: Aidan MacDonald <aidanmacdonald.0x0@gmail.com>
To: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Cc: devicetree@vger.kernel.org, alsa-devel@alsa-project.org,
	linux-kernel@vger.kernel.org, tiwai@suse.com, robh+dt@kernel.org,
	lgirdwood@gmail.com, broonie@kernel.org,
	krzysztof.kozlowski+dt@linaro.org
Subject: Re: [PATCH v1 1/2] ASoC: simple-card: Support custom DAI system clock IDs
Date: Mon, 24 Oct 2022 10:18:15 +0100	[thread overview]
Message-ID: <MXQXY4d7ZMjCu1ChI1EL7daeg1zENP5H@localhost> (raw)
In-Reply-To: <87fsfem6zd.wl-kuninori.morimoto.gx@renesas.com>


Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> writes:

> Hi Aidan
>
> Thank you for your patch
>
>> Some DAIs have multiple system clock sources, which can be chosen
>> using the "clk_id" argument to snd_soc_dai_set_sysclk(). Currently
>> this is hardcoded to 0 when using simple cards, but that choice is
>> not always suitable.
>>
>> Add the "system-clock-id" property to allow selecting a different
>> clock ID on a per-DAI basis.
>>
>> To simplify the logic on DPCM cards, add a dummy "asoc_simple_dai"
>> instance and use that for the dummy components on DPCM links. This
>> ensures that when we're iterating over DAIs in the PCM runtime there
>> is always a matching "asoc_simple_dai" we can dereference.
>>
>> Signed-off-by: Aidan MacDonald <aidanmacdonald.0x0@gmail.com>
>> ---
>
> I think adding "system-clock-id" and adding "dummy asoc_simple_dai" are
> different topics. This patch should be separated into 2 patches.

Sounds good to me.

> And I couldn't understand the reason why we need to add dummy asoc_simple_dai.
> In my understanding, we don't parse DT for dummy connection.
> Which process are you talking about specifically here?
>
> 	This ensures that when we're iterating over DAIs in the PCM runtime there
> 	is always a matching "asoc_simple_dai" we can dereference.
> -
> Thank you for your help !!
>
> Best regards
> ---
> Kuninori Morimoto

DPCM DAI links have some real DAIs and one dummy DAI. Each real DAI has
an asoc_simple_dai associated with it to contain the information parsed
from the DT. The dummy DAI does not have an asoc_simple_dai. I'm adding
a dummy asoc_simple_dai for these dummy DAIs to make the mapping of
snd_soc_dai to asoc_simple_dai 1-to-1.

The non 1-to-1 mapping is problematic, because if I have a snd_soc_dai
and want to look up a simple-card property I would need to check if the
matching asoc_simple_dai exists first, and have a special case for DPCM
dummy DAIs. With a 1-to-1 mapping I can handle all DAIs the same way.

Regards,
Aidan

WARNING: multiple messages have this Message-ID (diff)
From: Aidan MacDonald <aidanmacdonald.0x0@gmail.com>
To: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Cc: broonie@kernel.org, lgirdwood@gmail.com, robh+dt@kernel.org,
	krzysztof.kozlowski+dt@linaro.org, perex@perex.cz,
	tiwai@suse.com, alsa-devel@alsa-project.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v1 1/2] ASoC: simple-card: Support custom DAI system clock IDs
Date: Mon, 24 Oct 2022 10:18:15 +0100	[thread overview]
Message-ID: <MXQXY4d7ZMjCu1ChI1EL7daeg1zENP5H@localhost> (raw)
In-Reply-To: <87fsfem6zd.wl-kuninori.morimoto.gx@renesas.com>


Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> writes:

> Hi Aidan
>
> Thank you for your patch
>
>> Some DAIs have multiple system clock sources, which can be chosen
>> using the "clk_id" argument to snd_soc_dai_set_sysclk(). Currently
>> this is hardcoded to 0 when using simple cards, but that choice is
>> not always suitable.
>>
>> Add the "system-clock-id" property to allow selecting a different
>> clock ID on a per-DAI basis.
>>
>> To simplify the logic on DPCM cards, add a dummy "asoc_simple_dai"
>> instance and use that for the dummy components on DPCM links. This
>> ensures that when we're iterating over DAIs in the PCM runtime there
>> is always a matching "asoc_simple_dai" we can dereference.
>>
>> Signed-off-by: Aidan MacDonald <aidanmacdonald.0x0@gmail.com>
>> ---
>
> I think adding "system-clock-id" and adding "dummy asoc_simple_dai" are
> different topics. This patch should be separated into 2 patches.

Sounds good to me.

> And I couldn't understand the reason why we need to add dummy asoc_simple_dai.
> In my understanding, we don't parse DT for dummy connection.
> Which process are you talking about specifically here?
>
> 	This ensures that when we're iterating over DAIs in the PCM runtime there
> 	is always a matching "asoc_simple_dai" we can dereference.
> -
> Thank you for your help !!
>
> Best regards
> ---
> Kuninori Morimoto

DPCM DAI links have some real DAIs and one dummy DAI. Each real DAI has
an asoc_simple_dai associated with it to contain the information parsed
from the DT. The dummy DAI does not have an asoc_simple_dai. I'm adding
a dummy asoc_simple_dai for these dummy DAIs to make the mapping of
snd_soc_dai to asoc_simple_dai 1-to-1.

The non 1-to-1 mapping is problematic, because if I have a snd_soc_dai
and want to look up a simple-card property I would need to check if the
matching asoc_simple_dai exists first, and have a special case for DPCM
dummy DAIs. With a 1-to-1 mapping I can handle all DAIs the same way.

Regards,
Aidan

  reply	other threads:[~2022-10-24 23:03 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-22 16:27 [PATCH v1 1/2] ASoC: simple-card: Support custom DAI system clock IDs Aidan MacDonald
2022-10-22 16:27 ` Aidan MacDonald
2022-10-22 16:27 ` [PATCH v1 2/2] dt-bindings: ASoC: simple-card: Add system-clock-id property Aidan MacDonald
2022-10-22 16:27   ` Aidan MacDonald
2022-10-23 13:08   ` Krzysztof Kozlowski
2022-10-23 13:08     ` Krzysztof Kozlowski
2022-10-23 13:47     ` Aidan MacDonald
2022-10-23 13:47       ` Aidan MacDonald
2022-10-24 20:46       ` Krzysztof Kozlowski
2022-10-24 20:46         ` Krzysztof Kozlowski
2022-10-24 23:38         ` Aidan MacDonald
2022-10-24 23:38           ` Aidan MacDonald
2022-10-25  0:00           ` Krzysztof Kozlowski
2022-10-25  0:00             ` Krzysztof Kozlowski
2022-10-25  9:14             ` Aidan MacDonald
2022-10-25  9:14               ` Aidan MacDonald
2022-10-25 12:19               ` Krzysztof Kozlowski
2022-10-25 12:19                 ` Krzysztof Kozlowski
2022-10-26 14:48                 ` Aidan MacDonald
2022-10-26 14:48                   ` Aidan MacDonald
2022-10-26 15:03                   ` Krzysztof Kozlowski
2022-10-26 15:03                     ` Krzysztof Kozlowski
2022-10-26 19:27                     ` Aidan MacDonald
2022-10-26 19:27                       ` Aidan MacDonald
2022-10-26 15:05   ` Krzysztof Kozlowski
2022-10-26 15:05     ` Krzysztof Kozlowski
2022-10-23 23:54 ` [PATCH v1 1/2] ASoC: simple-card: Support custom DAI system clock IDs Kuninori Morimoto
2022-10-23 23:54   ` Kuninori Morimoto
2022-10-24  9:18   ` Aidan MacDonald [this message]
2022-10-24  9:18     ` Aidan MacDonald
2022-10-24 11:49 ` Mark Brown
2022-10-24 11:49   ` Mark Brown
2022-10-24 23:17   ` Aidan MacDonald
2022-10-24 23:17     ` Aidan MacDonald
2022-10-25 11:03     ` Mark Brown
2022-10-25 11:03       ` Mark Brown
2022-10-26 14:42       ` Aidan MacDonald
2022-10-26 14:42         ` Aidan MacDonald
2022-10-26 15:11         ` Mark Brown
2022-10-26 15:11           ` Mark Brown
2022-10-26 19:22           ` Aidan MacDonald
2022-10-26 19:22             ` Aidan MacDonald

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=MXQXY4d7ZMjCu1ChI1EL7daeg1zENP5H@localhost \
    --to=aidanmacdonald.0x0@gmail.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=kuninori.morimoto.gx@renesas.com \
    --cc=lgirdwood@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robh+dt@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.