* [PATCH] ASoC: audio-graph-card2: Purge absent supplies for device tree nodes
@ 2024-11-08 1:37 John Watts
2024-11-08 13:00 ` Mark Brown
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: John Watts @ 2024-11-08 1:37 UTC (permalink / raw)
To: Liam Girdwood, Mark Brown, Jaroslav Kysela, Takashi Iwai
Cc: linux-sound, linux-kernel, John Watts
The audio graph card doesn't mark its subnodes such as multi {}, dpcm {}
and c2c {} as not requiring any suppliers. This causes a hang as Linux
waits for these phantom suppliers to show up on boot.
Make it clear these nodes have no suppliers.
Example error message:
[ 15.208558] platform 2034000.i2s: deferred probe pending: platform: wait for supplier /sound/multi
[ 15.208584] platform sound: deferred probe pending: asoc-audio-graph-card2: parse error
Signed-off-by: John Watts <contact@jookia.org>
---
sound/soc/generic/audio-graph-card2.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/sound/soc/generic/audio-graph-card2.c b/sound/soc/generic/audio-graph-card2.c
index 56f7f946882e831cc4474c86b31f69e15de1549a..68f1da6931af2161dc8815b8c04d10cd614cc182 100644
--- a/sound/soc/generic/audio-graph-card2.c
+++ b/sound/soc/generic/audio-graph-card2.c
@@ -270,16 +270,19 @@ static enum graph_type __graph_get_type(struct device_node *lnk)
if (of_node_name_eq(np, GRAPH_NODENAME_MULTI)) {
ret = GRAPH_MULTI;
+ fw_devlink_purge_absent_suppliers(&np->fwnode);
goto out_put;
}
if (of_node_name_eq(np, GRAPH_NODENAME_DPCM)) {
ret = GRAPH_DPCM;
+ fw_devlink_purge_absent_suppliers(&np->fwnode);
goto out_put;
}
if (of_node_name_eq(np, GRAPH_NODENAME_C2C)) {
ret = GRAPH_C2C;
+ fw_devlink_purge_absent_suppliers(&np->fwnode);
goto out_put;
}
---
base-commit: 98f7e32f20d28ec452afb208f9cffc08448a2652
change-id: 20241108-graph_dt_fix-d1f0db88a696
Best regards,
--
John Watts <contact@jookia.org>
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] ASoC: audio-graph-card2: Purge absent supplies for device tree nodes
2024-11-08 1:37 [PATCH] ASoC: audio-graph-card2: Purge absent supplies for device tree nodes John Watts
@ 2024-11-08 13:00 ` Mark Brown
2024-11-11 0:33 ` Kuninori Morimoto
2024-11-11 14:21 ` Mark Brown
2 siblings, 0 replies; 4+ messages in thread
From: Mark Brown @ 2024-11-08 13:00 UTC (permalink / raw)
To: John Watts
Cc: Liam Girdwood, Jaroslav Kysela, Takashi Iwai, linux-sound,
linux-kernel, Kuninori Morimoto
[-- Attachment #1: Type: text/plain, Size: 1781 bytes --]
On Fri, Nov 08, 2024 at 12:37:15PM +1100, John Watts wrote:
> The audio graph card doesn't mark its subnodes such as multi {}, dpcm {}
> and c2c {} as not requiring any suppliers. This causes a hang as Linux
> waits for these phantom suppliers to show up on boot.
> Make it clear these nodes have no suppliers.
Copying in Morimoto-san.
>
> Example error message:
> [ 15.208558] platform 2034000.i2s: deferred probe pending: platform: wait for supplier /sound/multi
> [ 15.208584] platform sound: deferred probe pending: asoc-audio-graph-card2: parse error
>
> Signed-off-by: John Watts <contact@jookia.org>
> ---
> sound/soc/generic/audio-graph-card2.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/sound/soc/generic/audio-graph-card2.c b/sound/soc/generic/audio-graph-card2.c
> index 56f7f946882e831cc4474c86b31f69e15de1549a..68f1da6931af2161dc8815b8c04d10cd614cc182 100644
> --- a/sound/soc/generic/audio-graph-card2.c
> +++ b/sound/soc/generic/audio-graph-card2.c
> @@ -270,16 +270,19 @@ static enum graph_type __graph_get_type(struct device_node *lnk)
>
> if (of_node_name_eq(np, GRAPH_NODENAME_MULTI)) {
> ret = GRAPH_MULTI;
> + fw_devlink_purge_absent_suppliers(&np->fwnode);
> goto out_put;
> }
>
> if (of_node_name_eq(np, GRAPH_NODENAME_DPCM)) {
> ret = GRAPH_DPCM;
> + fw_devlink_purge_absent_suppliers(&np->fwnode);
> goto out_put;
> }
>
> if (of_node_name_eq(np, GRAPH_NODENAME_C2C)) {
> ret = GRAPH_C2C;
> + fw_devlink_purge_absent_suppliers(&np->fwnode);
> goto out_put;
> }
>
>
> ---
> base-commit: 98f7e32f20d28ec452afb208f9cffc08448a2652
> change-id: 20241108-graph_dt_fix-d1f0db88a696
>
> Best regards,
> --
> John Watts <contact@jookia.org>
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] ASoC: audio-graph-card2: Purge absent supplies for device tree nodes
2024-11-08 1:37 [PATCH] ASoC: audio-graph-card2: Purge absent supplies for device tree nodes John Watts
2024-11-08 13:00 ` Mark Brown
@ 2024-11-11 0:33 ` Kuninori Morimoto
2024-11-11 14:21 ` Mark Brown
2 siblings, 0 replies; 4+ messages in thread
From: Kuninori Morimoto @ 2024-11-11 0:33 UTC (permalink / raw)
To: John Watts
Cc: Liam Girdwood, Mark Brown, Jaroslav Kysela, Takashi Iwai,
linux-sound, linux-kernel
Hi John
Thank you for your patch
> The audio graph card doesn't mark its subnodes such as multi {}, dpcm {}
> and c2c {} as not requiring any suppliers. This causes a hang as Linux
> waits for these phantom suppliers to show up on boot.
> Make it clear these nodes have no suppliers.
>
> Example error message:
> [ 15.208558] platform 2034000.i2s: deferred probe pending: platform: wait for supplier /sound/multi
> [ 15.208584] platform sound: deferred probe pending: asoc-audio-graph-card2: parse error
>
> Signed-off-by: John Watts <contact@jookia.org>
I had (not same this but) similar issue before.
a2187d0dadfc308551bbb1b8d6caee69e2ad4744
("ASoC: dt-bindings: renesas,rsnd: add post-init-providers property")
Your patch also solve my issue too.
It seems your one is more simple and reasonable solution.
# I will post revert above patch after this
Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Thank you for your help !!
Best regards
---
Kuninori Morimoto
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] ASoC: audio-graph-card2: Purge absent supplies for device tree nodes
2024-11-08 1:37 [PATCH] ASoC: audio-graph-card2: Purge absent supplies for device tree nodes John Watts
2024-11-08 13:00 ` Mark Brown
2024-11-11 0:33 ` Kuninori Morimoto
@ 2024-11-11 14:21 ` Mark Brown
2 siblings, 0 replies; 4+ messages in thread
From: Mark Brown @ 2024-11-11 14:21 UTC (permalink / raw)
To: Liam Girdwood, Jaroslav Kysela, Takashi Iwai, John Watts
Cc: linux-sound, linux-kernel
On Fri, 08 Nov 2024 12:37:15 +1100, John Watts wrote:
> The audio graph card doesn't mark its subnodes such as multi {}, dpcm {}
> and c2c {} as not requiring any suppliers. This causes a hang as Linux
> waits for these phantom suppliers to show up on boot.
> Make it clear these nodes have no suppliers.
>
> Example error message:
> [ 15.208558] platform 2034000.i2s: deferred probe pending: platform: wait for supplier /sound/multi
> [ 15.208584] platform sound: deferred probe pending: asoc-audio-graph-card2: parse error
>
> [...]
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
Thanks!
[1/1] ASoC: audio-graph-card2: Purge absent supplies for device tree nodes
commit: f8da001ae7af0abd9f6250c02c01a1121074ca60
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-11-11 14:21 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-08 1:37 [PATCH] ASoC: audio-graph-card2: Purge absent supplies for device tree nodes John Watts
2024-11-08 13:00 ` Mark Brown
2024-11-11 0:33 ` Kuninori Morimoto
2024-11-11 14:21 ` Mark Brown
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox