* [PATCH] ASoC: audio-graph-card2: use correct endpoint when getting link parameters [not found] <875xmhj6s0.wl-kuninori.morimoto.gx@renesas.com> @ 2025-01-20 16:27 ` Ivaylo Dimitrov 2025-01-20 23:35 ` Kuninori Morimoto 0 siblings, 1 reply; 9+ messages in thread From: Ivaylo Dimitrov @ 2025-01-20 16:27 UTC (permalink / raw) To: Mark Brown, Kuninori Morimoto, Liam Girdwood, Jaroslav Kysela, Takashi Iwai Cc: linux-sound, linux-kernel, Ivaylo Dimitrov When link DT nodes are parsed, most functions get port as a parameter, which results in port endpoint@0 always being used. However, each endpoint might have different settings, but those are currently ignored. Fix that by passing endpoint instead of port when parsing link parameters. Signed-off-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com> --- sound/soc/generic/audio-graph-card2.c | 65 +++++++++++++-------------- 1 file changed, 30 insertions(+), 35 deletions(-) diff --git a/sound/soc/generic/audio-graph-card2.c b/sound/soc/generic/audio-graph-card2.c index c36b1a2ac949..ea2da1b78b41 100644 --- a/sound/soc/generic/audio-graph-card2.c +++ b/sound/soc/generic/audio-graph-card2.c @@ -648,23 +648,23 @@ static int graph_parse_node_multi(struct simple_util_priv *priv, static int graph_parse_node_single(struct simple_util_priv *priv, enum graph_type gtype, - struct device_node *port, + struct device_node *ep, struct link_info *li, int is_cpu) { - struct device_node *ep __free(device_node) = of_graph_get_next_port_endpoint(port, NULL); - return __graph_parse_node(priv, gtype, ep, li, is_cpu, 0); } static int graph_parse_node(struct simple_util_priv *priv, enum graph_type gtype, - struct device_node *port, + struct device_node *ep, struct link_info *li, int is_cpu) { + struct device_node *port __free(device_node) = ep_to_port(ep); + if (graph_lnk_is_multi(port)) return graph_parse_node_multi(priv, gtype, port, li, is_cpu); else - return graph_parse_node_single(priv, gtype, port, li, is_cpu); + return graph_parse_node_single(priv, gtype, ep, li, is_cpu); } static void graph_parse_daifmt(struct device_node *node, unsigned int *daifmt) @@ -722,14 +722,15 @@ static unsigned int graph_parse_bitframe(struct device_node *ep) static void graph_link_init(struct simple_util_priv *priv, struct device_node *lnk, - struct device_node *port_cpu, - struct device_node *port_codec, + struct device_node *ep_cpu, + struct device_node *ep_codec, struct link_info *li, int is_cpu_node) { struct snd_soc_dai_link *dai_link = simple_priv_to_link(priv, li->link); struct simple_dai_props *dai_props = simple_priv_to_props(priv, li->link); - struct device_node *ep_cpu, *ep_codec; + struct device_node *port_cpu = ep_to_port(ep_cpu); + struct device_node *port_codec = ep_to_port(ep_codec); struct device_node *multi_cpu_port = NULL, *multi_codec_port = NULL; struct snd_soc_dai_link_component *dlc; unsigned int daifmt = 0; @@ -739,25 +740,23 @@ static void graph_link_init(struct simple_util_priv *priv, int multi_cpu_port_idx = 1, multi_codec_port_idx = 1; int i; - of_node_get(port_cpu); if (graph_lnk_is_multi(port_cpu)) { multi_cpu_port = port_cpu; ep_cpu = graph_get_next_multi_ep(&multi_cpu_port, multi_cpu_port_idx++); of_node_put(port_cpu); port_cpu = ep_to_port(ep_cpu); } else { - ep_cpu = of_graph_get_next_port_endpoint(port_cpu, NULL); + of_node_get(ep_cpu); } struct device_node *ports_cpu __free(device_node) = port_to_ports(port_cpu); - of_node_get(port_codec); if (graph_lnk_is_multi(port_codec)) { multi_codec_port = port_codec; ep_codec = graph_get_next_multi_ep(&multi_codec_port, multi_codec_port_idx++); of_node_put(port_codec); port_codec = ep_to_port(ep_codec); } else { - ep_codec = of_graph_get_next_port_endpoint(port_codec, NULL); + of_node_get(ep_codec); } struct device_node *ports_codec __free(device_node) = port_to_ports(port_codec); @@ -831,9 +830,8 @@ int audio_graph2_link_normal(struct simple_util_priv *priv, struct device_node *lnk, struct link_info *li) { - struct device_node *cpu_port = lnk; - struct device_node *cpu_ep __free(device_node) = of_graph_get_next_port_endpoint(cpu_port, NULL); - struct device_node *codec_port __free(device_node) = of_graph_get_remote_port(cpu_ep); + struct device_node *cpu_ep __free(device_node) = of_graph_get_next_port_endpoint(lnk, NULL); + struct device_node *codec_ep __free(device_node) = of_graph_get_remote_endpoint(cpu_ep); int ret; /* @@ -841,18 +839,18 @@ int audio_graph2_link_normal(struct simple_util_priv *priv, * see * __graph_parse_node() :: DAI Naming */ - ret = graph_parse_node(priv, GRAPH_NORMAL, codec_port, li, 0); + ret = graph_parse_node(priv, GRAPH_NORMAL, codec_ep, li, 0); if (ret < 0) return ret; /* * call CPU, and set DAI Name */ - ret = graph_parse_node(priv, GRAPH_NORMAL, cpu_port, li, 1); + ret = graph_parse_node(priv, GRAPH_NORMAL, cpu_ep, li, 1); if (ret < 0) return ret; - graph_link_init(priv, lnk, cpu_port, codec_port, li, 1); + graph_link_init(priv, lnk, cpu_ep, codec_ep, li, 1); return ret; } @@ -864,15 +862,15 @@ int audio_graph2_link_dpcm(struct simple_util_priv *priv, { struct device_node *ep __free(device_node) = of_graph_get_next_port_endpoint(lnk, NULL); struct device_node *rep __free(device_node) = of_graph_get_remote_endpoint(ep); - struct device_node *cpu_port = NULL; - struct device_node *codec_port = NULL; + struct device_node *cpu_ep = NULL; + struct device_node *codec_ep = NULL; struct snd_soc_dai_link *dai_link = simple_priv_to_link(priv, li->link); struct simple_dai_props *dai_props = simple_priv_to_props(priv, li->link); int is_cpu = graph_util_is_ports0(lnk); int ret; if (is_cpu) { - cpu_port = of_graph_get_remote_port(ep); /* rport */ + cpu_ep = rep; /* * dpcm { @@ -901,12 +899,12 @@ int audio_graph2_link_dpcm(struct simple_util_priv *priv, dai_link->dynamic = 1; dai_link->dpcm_merged_format = 1; - ret = graph_parse_node(priv, GRAPH_DPCM, cpu_port, li, 1); + ret = graph_parse_node(priv, GRAPH_DPCM, cpu_ep, li, 1); if (ret) - goto err; + return ret; } else { - codec_port = of_graph_get_remote_port(ep); /* rport */ + codec_ep = rep; /* * dpcm { @@ -937,18 +935,15 @@ int audio_graph2_link_dpcm(struct simple_util_priv *priv, dai_link->no_pcm = 1; dai_link->be_hw_params_fixup = simple_util_be_hw_params_fixup; - ret = graph_parse_node(priv, GRAPH_DPCM, codec_port, li, 0); + ret = graph_parse_node(priv, GRAPH_DPCM, codec_ep, li, 0); if (ret < 0) - goto err; + return ret; } graph_parse_convert(ep, dai_props); /* at node of <dpcm> */ graph_parse_convert(rep, dai_props); /* at node of <CPU/Codec> */ - graph_link_init(priv, lnk, cpu_port, codec_port, li, is_cpu); -err: - of_node_put(cpu_port); - of_node_put(codec_port); + graph_link_init(priv, lnk, cpu_ep, codec_ep, li, is_cpu); return ret; } @@ -1013,26 +1008,26 @@ int audio_graph2_link_c2c(struct simple_util_priv *priv, struct device_node *ep0 __free(device_node) = of_graph_get_next_port_endpoint(port0, NULL); struct device_node *ep1 __free(device_node) = of_graph_get_next_port_endpoint(port1, NULL); - struct device_node *codec0_port __free(device_node) = of_graph_get_remote_port(ep0); - struct device_node *codec1_port __free(device_node) = of_graph_get_remote_port(ep1); + struct device_node *codec0_ep __free(device_node) = of_graph_get_remote_endpoint(ep0); + struct device_node *codec1_ep __free(device_node) = of_graph_get_remote_endpoint(ep1); /* * call Codec first. * see * __graph_parse_node() :: DAI Naming */ - ret = graph_parse_node(priv, GRAPH_C2C, codec1_port, li, 0); + ret = graph_parse_node(priv, GRAPH_C2C, codec1_ep, li, 0); if (ret < 0) return ret; /* * call CPU, and set DAI Name */ - ret = graph_parse_node(priv, GRAPH_C2C, codec0_port, li, 1); + ret = graph_parse_node(priv, GRAPH_C2C, codec0_ep, li, 1); if (ret < 0) return ret; - graph_link_init(priv, lnk, codec0_port, codec1_port, li, 1); + graph_link_init(priv, lnk, codec0_ep, codec1_ep, li, 1); return ret; } -- 2.30.2 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH] ASoC: audio-graph-card2: use correct endpoint when getting link parameters 2025-01-20 16:27 ` [PATCH] ASoC: audio-graph-card2: use correct endpoint when getting link parameters Ivaylo Dimitrov @ 2025-01-20 23:35 ` Kuninori Morimoto 2025-01-21 6:23 ` Ivaylo Dimitrov 2025-01-21 6:48 ` [PATCH v2] " Ivaylo Dimitrov 0 siblings, 2 replies; 9+ messages in thread From: Kuninori Morimoto @ 2025-01-20 23:35 UTC (permalink / raw) To: Ivaylo Dimitrov Cc: Mark Brown, Liam Girdwood, Jaroslav Kysela, Takashi Iwai, linux-sound, linux-kernel Hi Ivaylo Thank you for the patch > When link DT nodes are parsed, most functions get port as a parameter, > which results in port endpoint@0 always being used. However, each endpoint > might have different settings, but those are currently ignored. > > Fix that by passing endpoint instead of port when parsing link parameters. > > Signed-off-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com> > --- (snip) > @@ -831,9 +830,8 @@ int audio_graph2_link_normal(struct simple_util_priv *priv, > struct device_node *lnk, > struct link_info *li) > { > - struct device_node *cpu_port = lnk; > - struct device_node *cpu_ep __free(device_node) = of_graph_get_next_port_endpoint(cpu_port, NULL); > - struct device_node *codec_port __free(device_node) = of_graph_get_remote_port(cpu_ep); > + struct device_node *cpu_ep __free(device_node) = of_graph_get_next_port_endpoint(lnk, NULL); > + struct device_node *codec_ep __free(device_node) = of_graph_get_remote_endpoint(cpu_ep); > int ret; You don't need to change cpu_port/cpu_ep here ? And, I would like to keep "cpu_port = lnk" here. Except above Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Thank you for your help !! Best regards --- Kuninori Morimoto ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] ASoC: audio-graph-card2: use correct endpoint when getting link parameters 2025-01-20 23:35 ` Kuninori Morimoto @ 2025-01-21 6:23 ` Ivaylo Dimitrov 2025-01-21 6:48 ` [PATCH v2] " Ivaylo Dimitrov 1 sibling, 0 replies; 9+ messages in thread From: Ivaylo Dimitrov @ 2025-01-21 6:23 UTC (permalink / raw) To: Kuninori Morimoto Cc: Mark Brown, Liam Girdwood, Jaroslav Kysela, Takashi Iwai, linux-sound, linux-kernel Hi Morimoto-san, On 21.01.25 г. 1:35 ч., Kuninori Morimoto wrote: > > Hi Ivaylo > > Thank you for the patch > >> When link DT nodes are parsed, most functions get port as a parameter, >> which results in port endpoint@0 always being used. However, each endpoint >> might have different settings, but those are currently ignored. >> >> Fix that by passing endpoint instead of port when parsing link parameters. >> >> Signed-off-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com> >> --- > (snip) >> @@ -831,9 +830,8 @@ int audio_graph2_link_normal(struct simple_util_priv *priv, >> struct device_node *lnk, >> struct link_info *li) >> { >> - struct device_node *cpu_port = lnk; >> - struct device_node *cpu_ep __free(device_node) = of_graph_get_next_port_endpoint(cpu_port, NULL); >> - struct device_node *codec_port __free(device_node) = of_graph_get_remote_port(cpu_ep); >> + struct device_node *cpu_ep __free(device_node) = of_graph_get_next_port_endpoint(lnk, NULL); >> + struct device_node *codec_ep __free(device_node) = of_graph_get_remote_endpoint(cpu_ep); >> int ret; > > You don't need to change cpu_port/cpu_ep here ? > And, I would like to keep "cpu_port = lnk" here. > cpu_port will be used on the next line only, but ok, will send v2 with the above changes. Thanks, Ivo > Except above > Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> > > Thank you for your help !! > > Best regards > --- > Kuninori Morimoto ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v2] ASoC: audio-graph-card2: use correct endpoint when getting link parameters 2025-01-20 23:35 ` Kuninori Morimoto 2025-01-21 6:23 ` Ivaylo Dimitrov @ 2025-01-21 6:48 ` Ivaylo Dimitrov 2025-01-21 12:18 ` Mark Brown ` (2 more replies) 1 sibling, 3 replies; 9+ messages in thread From: Ivaylo Dimitrov @ 2025-01-21 6:48 UTC (permalink / raw) To: Mark Brown, Kuninori Morimoto, Liam Girdwood, Jaroslav Kysela, Takashi Iwai Cc: linux-sound, linux-kernel, Ivaylo Dimitrov When link DT nodes are parsed, most functions get port as a parameter, which results in port endpoint@0 always being used. However, each endpoint might have different settings, but those are currently ignored. Fix that by passing endpoint instead of port when parsing link parameters. Signed-off-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com> Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> --- sound/soc/generic/audio-graph-card2.c | 62 +++++++++++++-------------- 1 file changed, 29 insertions(+), 33 deletions(-) diff --git a/sound/soc/generic/audio-graph-card2.c b/sound/soc/generic/audio-graph-card2.c index c36b1a2ac949..ee94b256b770 100644 --- a/sound/soc/generic/audio-graph-card2.c +++ b/sound/soc/generic/audio-graph-card2.c @@ -648,23 +648,23 @@ static int graph_parse_node_multi(struct simple_util_priv *priv, static int graph_parse_node_single(struct simple_util_priv *priv, enum graph_type gtype, - struct device_node *port, + struct device_node *ep, struct link_info *li, int is_cpu) { - struct device_node *ep __free(device_node) = of_graph_get_next_port_endpoint(port, NULL); - return __graph_parse_node(priv, gtype, ep, li, is_cpu, 0); } static int graph_parse_node(struct simple_util_priv *priv, enum graph_type gtype, - struct device_node *port, + struct device_node *ep, struct link_info *li, int is_cpu) { + struct device_node *port __free(device_node) = ep_to_port(ep); + if (graph_lnk_is_multi(port)) return graph_parse_node_multi(priv, gtype, port, li, is_cpu); else - return graph_parse_node_single(priv, gtype, port, li, is_cpu); + return graph_parse_node_single(priv, gtype, ep, li, is_cpu); } static void graph_parse_daifmt(struct device_node *node, unsigned int *daifmt) @@ -722,14 +722,15 @@ static unsigned int graph_parse_bitframe(struct device_node *ep) static void graph_link_init(struct simple_util_priv *priv, struct device_node *lnk, - struct device_node *port_cpu, - struct device_node *port_codec, + struct device_node *ep_cpu, + struct device_node *ep_codec, struct link_info *li, int is_cpu_node) { struct snd_soc_dai_link *dai_link = simple_priv_to_link(priv, li->link); struct simple_dai_props *dai_props = simple_priv_to_props(priv, li->link); - struct device_node *ep_cpu, *ep_codec; + struct device_node *port_cpu = ep_to_port(ep_cpu); + struct device_node *port_codec = ep_to_port(ep_codec); struct device_node *multi_cpu_port = NULL, *multi_codec_port = NULL; struct snd_soc_dai_link_component *dlc; unsigned int daifmt = 0; @@ -739,25 +740,23 @@ static void graph_link_init(struct simple_util_priv *priv, int multi_cpu_port_idx = 1, multi_codec_port_idx = 1; int i; - of_node_get(port_cpu); if (graph_lnk_is_multi(port_cpu)) { multi_cpu_port = port_cpu; ep_cpu = graph_get_next_multi_ep(&multi_cpu_port, multi_cpu_port_idx++); of_node_put(port_cpu); port_cpu = ep_to_port(ep_cpu); } else { - ep_cpu = of_graph_get_next_port_endpoint(port_cpu, NULL); + of_node_get(ep_cpu); } struct device_node *ports_cpu __free(device_node) = port_to_ports(port_cpu); - of_node_get(port_codec); if (graph_lnk_is_multi(port_codec)) { multi_codec_port = port_codec; ep_codec = graph_get_next_multi_ep(&multi_codec_port, multi_codec_port_idx++); of_node_put(port_codec); port_codec = ep_to_port(ep_codec); } else { - ep_codec = of_graph_get_next_port_endpoint(port_codec, NULL); + of_node_get(ep_codec); } struct device_node *ports_codec __free(device_node) = port_to_ports(port_codec); @@ -833,7 +832,7 @@ int audio_graph2_link_normal(struct simple_util_priv *priv, { struct device_node *cpu_port = lnk; struct device_node *cpu_ep __free(device_node) = of_graph_get_next_port_endpoint(cpu_port, NULL); - struct device_node *codec_port __free(device_node) = of_graph_get_remote_port(cpu_ep); + struct device_node *codec_ep __free(device_node) = of_graph_get_remote_endpoint(cpu_ep); int ret; /* @@ -841,18 +840,18 @@ int audio_graph2_link_normal(struct simple_util_priv *priv, * see * __graph_parse_node() :: DAI Naming */ - ret = graph_parse_node(priv, GRAPH_NORMAL, codec_port, li, 0); + ret = graph_parse_node(priv, GRAPH_NORMAL, codec_ep, li, 0); if (ret < 0) return ret; /* * call CPU, and set DAI Name */ - ret = graph_parse_node(priv, GRAPH_NORMAL, cpu_port, li, 1); + ret = graph_parse_node(priv, GRAPH_NORMAL, cpu_ep, li, 1); if (ret < 0) return ret; - graph_link_init(priv, lnk, cpu_port, codec_port, li, 1); + graph_link_init(priv, lnk, cpu_ep, codec_ep, li, 1); return ret; } @@ -864,15 +863,15 @@ int audio_graph2_link_dpcm(struct simple_util_priv *priv, { struct device_node *ep __free(device_node) = of_graph_get_next_port_endpoint(lnk, NULL); struct device_node *rep __free(device_node) = of_graph_get_remote_endpoint(ep); - struct device_node *cpu_port = NULL; - struct device_node *codec_port = NULL; + struct device_node *cpu_ep = NULL; + struct device_node *codec_ep = NULL; struct snd_soc_dai_link *dai_link = simple_priv_to_link(priv, li->link); struct simple_dai_props *dai_props = simple_priv_to_props(priv, li->link); int is_cpu = graph_util_is_ports0(lnk); int ret; if (is_cpu) { - cpu_port = of_graph_get_remote_port(ep); /* rport */ + cpu_ep = rep; /* * dpcm { @@ -901,12 +900,12 @@ int audio_graph2_link_dpcm(struct simple_util_priv *priv, dai_link->dynamic = 1; dai_link->dpcm_merged_format = 1; - ret = graph_parse_node(priv, GRAPH_DPCM, cpu_port, li, 1); + ret = graph_parse_node(priv, GRAPH_DPCM, cpu_ep, li, 1); if (ret) - goto err; + return ret; } else { - codec_port = of_graph_get_remote_port(ep); /* rport */ + codec_ep = rep; /* * dpcm { @@ -937,18 +936,15 @@ int audio_graph2_link_dpcm(struct simple_util_priv *priv, dai_link->no_pcm = 1; dai_link->be_hw_params_fixup = simple_util_be_hw_params_fixup; - ret = graph_parse_node(priv, GRAPH_DPCM, codec_port, li, 0); + ret = graph_parse_node(priv, GRAPH_DPCM, codec_ep, li, 0); if (ret < 0) - goto err; + return ret; } graph_parse_convert(ep, dai_props); /* at node of <dpcm> */ graph_parse_convert(rep, dai_props); /* at node of <CPU/Codec> */ - graph_link_init(priv, lnk, cpu_port, codec_port, li, is_cpu); -err: - of_node_put(cpu_port); - of_node_put(codec_port); + graph_link_init(priv, lnk, cpu_ep, codec_ep, li, is_cpu); return ret; } @@ -1013,26 +1009,26 @@ int audio_graph2_link_c2c(struct simple_util_priv *priv, struct device_node *ep0 __free(device_node) = of_graph_get_next_port_endpoint(port0, NULL); struct device_node *ep1 __free(device_node) = of_graph_get_next_port_endpoint(port1, NULL); - struct device_node *codec0_port __free(device_node) = of_graph_get_remote_port(ep0); - struct device_node *codec1_port __free(device_node) = of_graph_get_remote_port(ep1); + struct device_node *codec0_ep __free(device_node) = of_graph_get_remote_endpoint(ep0); + struct device_node *codec1_ep __free(device_node) = of_graph_get_remote_endpoint(ep1); /* * call Codec first. * see * __graph_parse_node() :: DAI Naming */ - ret = graph_parse_node(priv, GRAPH_C2C, codec1_port, li, 0); + ret = graph_parse_node(priv, GRAPH_C2C, codec1_ep, li, 0); if (ret < 0) return ret; /* * call CPU, and set DAI Name */ - ret = graph_parse_node(priv, GRAPH_C2C, codec0_port, li, 1); + ret = graph_parse_node(priv, GRAPH_C2C, codec0_ep, li, 1); if (ret < 0) return ret; - graph_link_init(priv, lnk, codec0_port, codec1_port, li, 1); + graph_link_init(priv, lnk, codec0_ep, codec1_ep, li, 1); return ret; } -- 2.25.1 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v2] ASoC: audio-graph-card2: use correct endpoint when getting link parameters 2025-01-21 6:48 ` [PATCH v2] " Ivaylo Dimitrov @ 2025-01-21 12:18 ` Mark Brown 2025-01-21 13:33 ` Ivaylo Dimitrov 2025-01-21 23:22 ` Kuninori Morimoto 2025-01-23 11:29 ` Mark Brown 2 siblings, 1 reply; 9+ messages in thread From: Mark Brown @ 2025-01-21 12:18 UTC (permalink / raw) To: Ivaylo Dimitrov Cc: Kuninori Morimoto, Liam Girdwood, Jaroslav Kysela, Takashi Iwai, linux-sound, linux-kernel [-- Attachment #1: Type: text/plain, Size: 569 bytes --] On Tue, Jan 21, 2025 at 08:48:15AM +0200, Ivaylo Dimitrov wrote: > When link DT nodes are parsed, most functions get port as a parameter, > which results in port endpoint@0 always being used. However, each endpoint > might have different settings, but those are currently ignored. Please don't send new patches in reply to old patches or serieses, this makes it harder for both people and tools to understand what is going on - it can bury things in mailboxes and make it difficult to keep track of what current patches are, both for the new patches and the old ones. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2] ASoC: audio-graph-card2: use correct endpoint when getting link parameters 2025-01-21 12:18 ` Mark Brown @ 2025-01-21 13:33 ` Ivaylo Dimitrov 2025-01-21 13:41 ` Mark Brown 0 siblings, 1 reply; 9+ messages in thread From: Ivaylo Dimitrov @ 2025-01-21 13:33 UTC (permalink / raw) To: Mark Brown Cc: Kuninori Morimoto, Liam Girdwood, Jaroslav Kysela, Takashi Iwai, linux-sound, linux-kernel On 21.01.25 г. 14:18 ч., Mark Brown wrote: > On Tue, Jan 21, 2025 at 08:48:15AM +0200, Ivaylo Dimitrov wrote: >> When link DT nodes are parsed, most functions get port as a parameter, >> which results in port endpoint@0 always being used. However, each endpoint >> might have different settings, but those are currently ignored. > > Please don't send new patches in reply to old patches or serieses, this > makes it harder for both people and tools to understand what is going > on - it can bury things in mailboxes and make it difficult to keep track > of what current patches are, both for the new patches and the old ones. Ok, will know for the future. Shall I resend? Thanks, Ivo ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2] ASoC: audio-graph-card2: use correct endpoint when getting link parameters 2025-01-21 13:33 ` Ivaylo Dimitrov @ 2025-01-21 13:41 ` Mark Brown 0 siblings, 0 replies; 9+ messages in thread From: Mark Brown @ 2025-01-21 13:41 UTC (permalink / raw) To: Ivaylo Dimitrov Cc: Kuninori Morimoto, Liam Girdwood, Jaroslav Kysela, Takashi Iwai, linux-sound, linux-kernel [-- Attachment #1: Type: text/plain, Size: 171 bytes --] On Tue, Jan 21, 2025 at 03:33:30PM +0200, Ivaylo Dimitrov wrote: > Ok, will know for the future. Shall I resend? No need, it's fine - hopefully Morimoto-san can review. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2] ASoC: audio-graph-card2: use correct endpoint when getting link parameters 2025-01-21 6:48 ` [PATCH v2] " Ivaylo Dimitrov 2025-01-21 12:18 ` Mark Brown @ 2025-01-21 23:22 ` Kuninori Morimoto 2025-01-23 11:29 ` Mark Brown 2 siblings, 0 replies; 9+ messages in thread From: Kuninori Morimoto @ 2025-01-21 23:22 UTC (permalink / raw) To: Ivaylo Dimitrov Cc: Mark Brown, Liam Girdwood, Jaroslav Kysela, Takashi Iwai, linux-sound, linux-kernel Hi Mark, Ivaylo Thank you for the patch > When link DT nodes are parsed, most functions get port as a parameter, > which results in port endpoint@0 always being used. However, each endpoint > might have different settings, but those are currently ignored. > > Fix that by passing endpoint instead of port when parsing link parameters. > > Signed-off-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com> > Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> > --- Looks good to me. Thanks It already has the tag, but... Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Thank you for your help !! Best regards --- Kuninori Morimoto ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2] ASoC: audio-graph-card2: use correct endpoint when getting link parameters 2025-01-21 6:48 ` [PATCH v2] " Ivaylo Dimitrov 2025-01-21 12:18 ` Mark Brown 2025-01-21 23:22 ` Kuninori Morimoto @ 2025-01-23 11:29 ` Mark Brown 2 siblings, 0 replies; 9+ messages in thread From: Mark Brown @ 2025-01-23 11:29 UTC (permalink / raw) To: Kuninori Morimoto, Liam Girdwood, Jaroslav Kysela, Takashi Iwai, Ivaylo Dimitrov Cc: linux-sound, linux-kernel On Tue, 21 Jan 2025 08:48:15 +0200, Ivaylo Dimitrov wrote: > When link DT nodes are parsed, most functions get port as a parameter, > which results in port endpoint@0 always being used. However, each endpoint > might have different settings, but those are currently ignored. > > Fix that by passing endpoint instead of port when parsing link parameters. > > > [...] Applied to https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next Thanks! [1/1] ASoC: audio-graph-card2: use correct endpoint when getting link parameters commit: e935f903ab9bee43f3375883c230a32138ae3d1d 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] 9+ messages in thread
end of thread, other threads:[~2025-01-23 11:29 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <875xmhj6s0.wl-kuninori.morimoto.gx@renesas.com>
2025-01-20 16:27 ` [PATCH] ASoC: audio-graph-card2: use correct endpoint when getting link parameters Ivaylo Dimitrov
2025-01-20 23:35 ` Kuninori Morimoto
2025-01-21 6:23 ` Ivaylo Dimitrov
2025-01-21 6:48 ` [PATCH v2] " Ivaylo Dimitrov
2025-01-21 12:18 ` Mark Brown
2025-01-21 13:33 ` Ivaylo Dimitrov
2025-01-21 13:41 ` Mark Brown
2025-01-21 23:22 ` Kuninori Morimoto
2025-01-23 11:29 ` Mark Brown
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox