Received: by 2002:a05:6a10:a841:0:0:0:0 with SMTP id d1csp482003pxy; Thu, 22 Apr 2021 06:40:41 -0700 (PDT) X-Google-Smtp-Source: ABdhPJybqjCrMk1FHlx3bLF1BxmS5zp3tozg+vtUO6Wvn/SNr6iV6Y3yvmkawqy29anbv7uhZn9G X-Received: by 2002:a50:c44f:: with SMTP id w15mr3948910edf.79.1619098840779; Thu, 22 Apr 2021 06:40:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1619098840; cv=none; d=google.com; s=arc-20160816; b=rAVyR5ahw96xnwxIR8AFbN50MicNwM0Jw0ZdQGNusFQCFS/pKRTqaJMZyp5xGbnZrD +o1adt5wmSzP+8D45sCoGDn+Z/C5cohlxVjbEQLqXwBpvg6Uql+CgqCJDrKrNRfc3+rp hDjGM88J6xZpdZicaYh+T5PxE6k5pZRHs72SiCr/CGUeHTYTxDOyByUWs/TPE/jN4PgS 3GaCj1atLfKX7JVt+3wG09afgeRmvjBSPicWHl9qEY0I4/nZRGfTYrmoUlJElqNv8XvD on0+WQ/BlsIpYBNEaPThb6qQgeSFr/WTjJ+ZBGXWQQlSxYDjYIaDISutSLGE12CvaZMC /KNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:cc :references:to:subject; bh=XEkv+m45VCbywnwh/kT8qgqH4L0NZwJNORv+PSse7DY=; b=lUiYL2sM6ugaeTlpyQNSjVEieuI+XOVW/shsZwZEbondiwb5ZxCbVG9JTNkVr3sblR hH19QwYz/MhYxg/ILOmYOCOuWbp7J6ZU+OkVtgNI54xuuGimzsSD6zM0iD+5xyVnllIs DBtp0Yb7Zmh6LcRNr4PZA4z6Kht3R03S/i/Chn7AKUUzG5IJS+PtFZ3V8vCUKqZ9KNzd pjmtc3IW1lnlKL9JGzbF+06sX6SpxG2Ml2TFA9SZMffYADaj0jvJFm5x5hyOVCVGnvEo RjXAoMHOxUVWANwte8EdZossXT0xuE2LWWk6mt27ReR5jkThcRU4gnUnglNqNstJHfzn COBQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=collabora.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id y7si2307242edv.77.2021.04.22.06.40.13; Thu, 22 Apr 2021 06:40:40 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=collabora.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236231AbhDVNh6 (ORCPT + 99 others); Thu, 22 Apr 2021 09:37:58 -0400 Received: from bhuna.collabora.co.uk ([46.235.227.227]:51800 "EHLO bhuna.collabora.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232844AbhDVNh5 (ORCPT ); Thu, 22 Apr 2021 09:37:57 -0400 Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: gtucker) with ESMTPSA id 582761F4343A Subject: Re: broonie-sound/for-next bisection: baseline.bootrr.asoc-simple-card-probed on kontron-sl28-var3-ads2 To: Mark Brown , kernelci-results@groups.io, Kuninori Morimoto References: <6080e82c.1c69fb81.cd60c.2a13@mx.google.com> Cc: alsa-devel@alsa-project.org, Jaroslav Kysela , Liam Girdwood , Takashi Iwai , Stephan Gerhold , Thierry Reding , Jon Hunter , linux-kernel@vger.kernel.org From: Guillaume Tucker Message-ID: <3ca62063-41b4-c25b-a7bc-8a8160e7b684@collabora.com> Date: Thu, 22 Apr 2021 14:37:18 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.9.0 MIME-Version: 1.0 In-Reply-To: <6080e82c.1c69fb81.cd60c.2a13@mx.google.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Morimoto-san, Please see the bisection report below about the asoc-simple-card driver failing to probe on kontron-sl28-var3-ads2 in today's broonie-sound tree. I believe this has not reached linux-next yet. Reports aren't automatically sent to the public while we're trialing new bisection features on kernelci.org but this one looks valid. Here's the full boot log: https://storage.kernelci.org/broonie-sound/for-next/v5.12-rc8-542-g80e0ab4291498/arm64/defconfig/gcc-8/lab-kontron/baseline-kontron-sl28-var3-ads2.html More details can be found here: https://linux.kernelci.org/test/case/id/608089974135ccea439b779c/ Please let us know if you need any help debugging the issue or to try a fix. Best wishes, Guillaume On 22/04/2021 04:06, KernelCI bot wrote: > * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * > * This automated bisection report was sent to you on the basis * > * that you may be involved with the breaking commit it has * > * found. No manual investigation has been done to verify it, * > * and the root cause of the problem may be somewhere else. * > * * > * If you do send a fix, please include this trailer: * > * Reported-by: "kernelci.org bot" * > * * > * Hope this helps! * > * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * > > broonie-sound/for-next bisection: baseline.bootrr.asoc-simple-card-probed on kontron-sl28-var3-ads2 > > Summary: > Start: 80e0ab429149 Merge remote-tracking branch 'asoc/for-5.13' into asoc-next > Plain log: https://storage.kernelci.org/broonie-sound/for-next/v5.12-rc8-542-g80e0ab4291498/arm64/defconfig+CONFIG_RANDOMIZE_BASE=y/gcc-8/lab-kontron/baseline-kontron-sl28-var3-ads2.txt > HTML log: https://storage.kernelci.org/broonie-sound/for-next/v5.12-rc8-542-g80e0ab4291498/arm64/defconfig+CONFIG_RANDOMIZE_BASE=y/gcc-8/lab-kontron/baseline-kontron-sl28-var3-ads2.html > Result: 59c35c44a9cf ASoC: simple-card: add simple_parse_node() > > Checks: > revert: PASS > verify: PASS > > Parameters: > Tree: broonie-sound > URL: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git > Branch: for-next > Target: kontron-sl28-var3-ads2 > CPU arch: arm64 > Lab: lab-kontron > Compiler: gcc-8 > Config: defconfig+CONFIG_RANDOMIZE_BASE=y > Test case: baseline.bootrr.asoc-simple-card-probed > > Breaking commit found: > > ------------------------------------------------------------------------------- > commit 59c35c44a9cf89a83a92a8d26749e59497d0317d > Author: Kuninori Morimoto > Date: Wed Apr 21 14:45:48 2021 +0900 > > ASoC: simple-card: add simple_parse_node() > > Parse dai/tdm/clk are common for both CPU/Codec node. > This patch creates simple_parse_node() for it and share the code. > > Signed-off-by: Kuninori Morimoto > Link: https://lore.kernel.org/r/87czuoi41f.wl-kuninori.morimoto.gx@renesas.com > Signed-off-by: Mark Brown > > diff --git a/sound/soc/generic/simple-card.c b/sound/soc/generic/simple-card.c > index a1373be4558f..91af4eca9c86 100644 > --- a/sound/soc/generic/simple-card.c > +++ b/sound/soc/generic/simple-card.c > @@ -93,12 +93,11 @@ static void simple_parse_convert(struct device *dev, > } > > static void simple_parse_mclk_fs(struct device_node *top, > - struct device_node *cpu, > - struct device_node *codec, > + struct device_node *np, > struct simple_dai_props *props, > char *prefix) > { > - struct device_node *node = of_get_parent(cpu); > + struct device_node *node = of_get_parent(np); > char prop[128]; > > snprintf(prop, sizeof(prop), "%smclk-fs", PREFIX); > @@ -106,12 +105,57 @@ static void simple_parse_mclk_fs(struct device_node *top, > > snprintf(prop, sizeof(prop), "%smclk-fs", prefix); > of_property_read_u32(node, prop, &props->mclk_fs); > - of_property_read_u32(cpu, prop, &props->mclk_fs); > - of_property_read_u32(codec, prop, &props->mclk_fs); > + of_property_read_u32(np, prop, &props->mclk_fs); > > of_node_put(node); > } > > +static int simple_parse_node(struct asoc_simple_priv *priv, > + struct device_node *np, > + struct link_info *li, > + char *prefix, > + int is_cpu) > +{ > + struct device *dev = simple_priv_to_dev(priv); > + struct device_node *top = dev->of_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 snd_soc_dai_link_component *dlc; > + struct asoc_simple_dai *dai; > + int ret, single = 0; > + > + if (is_cpu) { > + dlc = asoc_link_to_cpu(dai_link, 0); > + dai = simple_props_to_dai_cpu(dai_props, 0); > + } else { > + dlc = asoc_link_to_codec(dai_link, 0); > + dai = simple_props_to_dai_codec(dai_props, 0); > + } > + > + simple_parse_mclk_fs(top, np, dai_props, prefix); > + > + ret = asoc_simple_parse_dai(np, dlc, &single); > + if (ret) > + return ret; > + > + ret = asoc_simple_parse_clk(dev, np, dai, dlc); > + if (ret) > + return ret; > + > + ret = asoc_simple_parse_tdm(np, dai); > + if (ret) > + return ret; > + > + if (is_cpu) { > + struct snd_soc_dai_link_component *platforms = asoc_link_to_platform(dai_link, 0); > + > + asoc_simple_canonicalize_cpu(dlc, single); > + asoc_simple_canonicalize_platform(platforms, dlc); > + } > + > + return 0; > +} > + > static int simple_dai_link_of_dpcm(struct asoc_simple_priv *priv, > struct device_node *np, > struct device_node *codec, > @@ -121,10 +165,8 @@ static int simple_dai_link_of_dpcm(struct asoc_simple_priv *priv, > struct device *dev = simple_priv_to_dev(priv); > 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 asoc_simple_dai *dai; > struct snd_soc_dai_link_component *cpus = asoc_link_to_cpu(dai_link, 0); > struct snd_soc_dai_link_component *codecs = asoc_link_to_codec(dai_link, 0); > - struct snd_soc_dai_link_component *platforms = asoc_link_to_platform(dai_link, 0); > struct device_node *top = dev->of_node; > struct device_node *node = of_get_parent(np); > char *prefix = ""; > @@ -132,28 +174,18 @@ static int simple_dai_link_of_dpcm(struct asoc_simple_priv *priv, > > dev_dbg(dev, "link_of DPCM (%pOF)\n", np); > > - li->link++; > - > /* For single DAI link & old style of DT node */ > if (is_top) > prefix = PREFIX; > > if (li->cpu) { > - int is_single_links = 0; > - > /* Codec is dummy */ > > /* FE settings */ > dai_link->dynamic = 1; > dai_link->dpcm_merged_format = 1; > > - dai = simple_props_to_dai_cpu(dai_props, 0); > - > - ret = asoc_simple_parse_dai(np, cpus, &is_single_links); > - if (ret) > - goto out_put_node; > - > - ret = asoc_simple_parse_clk(dev, np, dai, cpus); > + ret = simple_parse_node(priv, np, li, prefix, 1); > if (ret < 0) > goto out_put_node; > > @@ -162,9 +194,6 @@ static int simple_dai_link_of_dpcm(struct asoc_simple_priv *priv, > cpus->dai_name); > if (ret < 0) > goto out_put_node; > - > - asoc_simple_canonicalize_cpu(cpus, is_single_links); > - asoc_simple_canonicalize_platform(platforms, cpus); > } else { > struct snd_soc_codec_conf *cconf; > > @@ -174,14 +203,9 @@ static int simple_dai_link_of_dpcm(struct asoc_simple_priv *priv, > dai_link->no_pcm = 1; > dai_link->be_hw_params_fixup = asoc_simple_be_hw_params_fixup; > > - dai = simple_props_to_dai_codec(dai_props, 0); > cconf = simple_props_to_codec_conf(dai_props, 0); > > - ret = asoc_simple_parse_dai(np, codecs, NULL); > - if (ret < 0) > - goto out_put_node; > - > - ret = asoc_simple_parse_clk(dev, np, dai, codecs); > + ret = simple_parse_node(priv, np, li, prefix, 0); > if (ret < 0) > goto out_put_node; > > @@ -201,11 +225,6 @@ static int simple_dai_link_of_dpcm(struct asoc_simple_priv *priv, > } > > simple_parse_convert(dev, np, &dai_props->adata); > - simple_parse_mclk_fs(top, np, codec, dai_props, prefix); > - > - ret = asoc_simple_parse_tdm(np, dai); > - if (ret) > - goto out_put_node; > > ret = asoc_simple_parse_daifmt(dev, node, codec, > prefix, &dai_link->dai_fmt); > @@ -218,6 +237,8 @@ static int simple_dai_link_of_dpcm(struct asoc_simple_priv *priv, > dai_link->init = asoc_simple_dai_init; > > out_put_node: > + li->link++; > + > of_node_put(node); > return ret; > } > @@ -230,23 +251,18 @@ static int simple_dai_link_of(struct asoc_simple_priv *priv, > { > struct device *dev = simple_priv_to_dev(priv); > 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 asoc_simple_dai *cpu_dai = simple_props_to_dai_cpu(dai_props, 0); > - struct asoc_simple_dai *codec_dai = simple_props_to_dai_codec(dai_props, 0); > struct snd_soc_dai_link_component *cpus = asoc_link_to_cpu(dai_link, 0); > struct snd_soc_dai_link_component *codecs = asoc_link_to_codec(dai_link, 0); > struct snd_soc_dai_link_component *platforms = asoc_link_to_platform(dai_link, 0); > - struct device_node *top = dev->of_node; > struct device_node *cpu = NULL; > struct device_node *node = NULL; > struct device_node *plat = NULL; > char prop[128]; > char *prefix = ""; > - int ret, single_cpu = 0; > + int ret; > > cpu = np; > node = of_get_parent(np); > - li->link++; > > dev_dbg(dev, "link_of (%pOF)\n", node); > > @@ -262,13 +278,11 @@ static int simple_dai_link_of(struct asoc_simple_priv *priv, > if (ret < 0) > goto dai_link_of_err; > > - simple_parse_mclk_fs(top, cpu, codec, dai_props, prefix); > - > - ret = asoc_simple_parse_dai(cpu, cpus, &single_cpu); > + ret = simple_parse_node(priv, cpu, li, prefix, 1); > if (ret < 0) > goto dai_link_of_err; > > - ret = asoc_simple_parse_dai(codec, codecs, NULL); > + ret = simple_parse_node(priv, codec, li, prefix, 0); > if (ret < 0) > goto dai_link_of_err; > > @@ -276,22 +290,6 @@ static int simple_dai_link_of(struct asoc_simple_priv *priv, > if (ret < 0) > goto dai_link_of_err; > > - ret = asoc_simple_parse_tdm(cpu, cpu_dai); > - if (ret < 0) > - goto dai_link_of_err; > - > - ret = asoc_simple_parse_tdm(codec, codec_dai); > - if (ret < 0) > - goto dai_link_of_err; > - > - ret = asoc_simple_parse_clk(dev, cpu, cpu_dai, cpus); > - if (ret < 0) > - goto dai_link_of_err; > - > - ret = asoc_simple_parse_clk(dev, codec, codec_dai, codecs); > - if (ret < 0) > - goto dai_link_of_err; > - > ret = asoc_simple_set_dailink_name(dev, dai_link, > "%s-%s", > cpus->dai_name, > @@ -302,13 +300,12 @@ static int simple_dai_link_of(struct asoc_simple_priv *priv, > dai_link->ops = &simple_ops; > dai_link->init = asoc_simple_dai_init; > > - asoc_simple_canonicalize_cpu(cpus, single_cpu); > - asoc_simple_canonicalize_platform(platforms, cpus); > - > dai_link_of_err: > of_node_put(plat); > of_node_put(node); > > + li->link++; > + > return ret; > } > ------------------------------------------------------------------------------- > > > Git bisection log: > > ------------------------------------------------------------------------------- > git bisect start > # good: [bf05bf16c76bb44ab5156223e1e58e26dfe30a88] Linux 5.12-rc8 > git bisect good bf05bf16c76bb44ab5156223e1e58e26dfe30a88 > # bad: [80e0ab4291498248157d2801c994dfaa09ef3082] Merge remote-tracking branch 'asoc/for-5.13' into asoc-next > git bisect bad 80e0ab4291498248157d2801c994dfaa09ef3082 > # good: [d479f00b795ac62b24ef90f4ec421e65c3178ca7] ASoC: soc-pcm: indicate error message at dpcm_path_get() > git bisect good d479f00b795ac62b24ef90f4ec421e65c3178ca7 > # good: [a96d2ba2d8248d5e8170f2f44f98d4a33329b08a] ASoC: codecs: tlv320aic3x: move I2C to separated file > git bisect good a96d2ba2d8248d5e8170f2f44f98d4a33329b08a > # good: [8577bf61a6359bf2387f85a2fda713a4f05185c3] Merge series "ASoC: rsnd: tidyup Renesas sound" from Kuninori Morimoto : > git bisect good 8577bf61a6359bf2387f85a2fda713a4f05185c3 > # good: [87143bfdb9f7ddc14b129fda610e114d29077596] Merge series "ASoC: remove more cppcheck warnings" from Pierre-Louis Bossart : > git bisect good 87143bfdb9f7ddc14b129fda610e114d29077596 > # good: [23b16df6c9c91f70df070be43c5b13ef4016c1e7] Merge series "ASoC: audio-graph: cleanups" from Kuninori Morimoto : > git bisect good 23b16df6c9c91f70df070be43c5b13ef4016c1e7 > # good: [1fa27f35ee23b52e0bd708d00c272c5df805afc8] Merge series "ASoC: rt286/rt298: Fixes for DMIC2 config and combo jack" from David Ward : > git bisect good 1fa27f35ee23b52e0bd708d00c272c5df805afc8 > # bad: [434392271afcff350fe11730f12b831fffaf33eb] ASoC: simple-card: add simple_link_init() > git bisect bad 434392271afcff350fe11730f12b831fffaf33eb > # good: [e51237b8d3052251421770468903fa6e4446d158] ASoC: audio-graph: add graph_link_init() > git bisect good e51237b8d3052251421770468903fa6e4446d158 > # bad: [59c35c44a9cf89a83a92a8d26749e59497d0317d] ASoC: simple-card: add simple_parse_node() > git bisect bad 59c35c44a9cf89a83a92a8d26749e59497d0317d > # first bad commit: [59c35c44a9cf89a83a92a8d26749e59497d0317d] ASoC: simple-card: add simple_parse_node() > ------------------------------------------------------------------------------- > > > -=-=-=-=-=-=-=-=-=-=-=- > Groups.io Links: You receive all messages sent to this group. > View/Reply Online (#10236): https://groups.io/g/kernelci-results/message/10236 > Mute This Topic: https://groups.io/mt/82277947/924702 > Group Owner: kernelci-results+owner@groups.io > Unsubscribe: https://groups.io/g/kernelci-results/unsub [guillaume.tucker@collabora.com] > -=-=-=-=-=-=-=-=-=-=-=- > >