chromeos-4.14: ASoC fails to instantiate on older Chromebooks |
|||||
Issue descriptionOn Chromebooks running chromeos-3.18, ASoC fails to instantiate with the following error messages. [ 37.268350] snd_soc_skl 0000:00:1f.3: Direct firmware load for 9d70-CORE-COREBOOT-0-tplg.bin failed with error -2 [ 37.280630] snd_soc_skl 0000:00:1f.3: tplg fw 9d70-CORE-COREBOOT-0-tplg.bin load failed with -2 [ 37.339726] snd_soc_skl 0000:00:1f.3: ASoC: invalid manifest size [ 37.346646] snd_soc_skl 0000:00:1f.3: tplg component load failed-22 [ 37.354345] snd_soc_skl 0000:00:1f.3: Failed to init topology! [ 37.361458] snd_soc_skl 0000:00:1f.3: ASoC: failed to probe component -22 [ 37.371560] skl_n88l25_s4567 skl_n88l25_s4567: ASoC: failed to instantiate card -22 [ 37.384809] skl_n88l25_s4567: probe of skl_n88l25_s4567 failed with error -22 The problem is due to a firmware file format change. The ASoC firmware installed on Caroline (and more generically most if not all Chromebooks running 3.18 kernels) is not compatible with the file format supported by upstream kernels.
,
Mar 5 2018
,
Mar 7 2018
Could you please try attached topology(untested) file?
,
Mar 7 2018
On caroline with the firmware file from #3 applied: [ 41.535314] HDMI HDA Codec ehdaudio0D2: Max dais supported: 3 [ 41.556575] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64 [ 41.564338] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64 [ 41.572098] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64 [ 41.580432] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64 [ 41.588095] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64 [ 41.595753] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64 [ 41.604262] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64 [ 41.613800] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64 [ 41.621500] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64 [ 41.638162] snd_soc_skl 0000:00:1f.3: ASoC: Parent card not yet available, widget card binding deferred [ 41.693526] dmic-codec dmic-codec: GPIO lookup for consumer dmicen [ 41.693530] dmic-codec dmic-codec: using lookup tables for GPIO lookup [ 41.693535] dmic-codec dmic-codec: lookup for GPIO dmicen failed [ 41.725166] HDMI HDA Codec ehdaudio0D2: hdac_hdmi_present_sense: disconnect for pin:port 5:0 [ 41.734919] HDMI HDA Codec ehdaudio0D2: hdac_hdmi_present_sense: disconnect for pin:port 6:0 [ 41.744662] HDMI HDA Codec ehdaudio0D2: hdac_hdmi_present_sense: disconnect for pin:port 7:0 [ 41.756208] skl_n88l25_s4567 skl_n88l25_s4567: snd-soc-dummy-dai <-> System Pin mapping ok [ 41.767128] skl_n88l25_s4567 skl_n88l25_s4567: snd-soc-dummy-dai <-> System Pin mapping ok [ 41.777948] skl_n88l25_s4567 skl_n88l25_s4567: snd-soc-dummy-dai <-> Reference Pin mapping ok [ 41.789045] skl_n88l25_s4567 skl_n88l25_s4567: snd-soc-dummy-dai <-> DMIC Pin mapping ok [ 41.799664] skl_n88l25_s4567 skl_n88l25_s4567: snd-soc-dummy-dai <-> HDMI1 Pin mapping ok [ 41.810356] skl_n88l25_s4567 skl_n88l25_s4567: snd-soc-dummy-dai <-> HDMI2 Pin mapping ok [ 41.821064] skl_n88l25_s4567 skl_n88l25_s4567: snd-soc-dummy-dai <-> HDMI3 Pin mapping ok [ 41.830728] skl_n88l25_s4567 skl_n88l25_s4567: multicodec <-> SSP0 Pin mapping ok [ 41.840728] skl_n88l25_s4567 skl_n88l25_s4567: nau8825-hifi <-> SSP1 Pin mapping ok [ 41.849825] skl_n88l25_s4567 skl_n88l25_s4567: dmic-hifi <-> DMIC01 Pin mapping ok [ 41.858933] skl_n88l25_s4567 skl_n88l25_s4567: intel-hdmi-hifi1 <-> iDisp1 Pin mapping ok [ 41.868640] skl_n88l25_s4567 skl_n88l25_s4567: intel-hdmi-hifi2 <-> iDisp2 Pin mapping ok [ 41.878487] skl_n88l25_s4567 skl_n88l25_s4567: intel-hdmi-hifi3 <-> iDisp3 Pin mapping ok [ 41.888615] skl_n88l25_s4567 skl_n88l25_s4567: ASoC: no sink widget found for codec0_lp_in [ 41.897871] skl_n88l25_s4567 skl_n88l25_s4567: ASoC: Failed to add route ssp0 Rx -> direct -> codec0_lp_in [ 41.925745] input: sklnau8825adi Headset Jack as /devices/platform/skl_n88l25_s4567/sound/card0/input7 [ 41.940523] input: sklnau8825adi HDMI/DP, pcm=4 Jack as /devices/platform/skl_n88l25_s4567/sound/card0/input8 [ 41.954487] input: sklnau8825adi HDMI/DP, pcm=5 Jack as /devices/platform/skl_n88l25_s4567/sound/card0/input9 [ 41.971620] input: sklnau8825adi HDMI/DP, pcm=6 Jack as /devices/platform/skl_n88l25_s4567/sound/card0/input10
,
Mar 7 2018
This UPSTREAM patch reduces the log level of the "control load" messages: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/953365
,
Mar 7 2018
Caroline with chromeos-3.18, original firmware: [ 22.702698] snd_soc_skl 0000:00:1f.3: ASoC: Firmware manifest not supported [ 22.724094] snd_soc_skl 0000:00:1f.3: ASoC: Parent card not yet available,Do not add new widgets now [ 22.771400] skl_nau88l25_ssm4567_i2s skl_nau88l25_ssm4567_i2s: snd-soc-dummy-dai <-> System Pin mapping ok [ 22.787823] skl_nau88l25_ssm4567_i2s skl_nau88l25_ssm4567_i2s: snd-soc-dummy-dai <-> System Pin mapping ok [ 22.801627] skl_nau88l25_ssm4567_i2s skl_nau88l25_ssm4567_i2s: snd-soc-dummy-dai <-> Reference Pin mapping ok [ 22.815736] skl_nau88l25_ssm4567_i2s skl_nau88l25_ssm4567_i2s: snd-soc-dummy-dai <-> DMIC Pin mapping ok [ 22.829918] skl_nau88l25_ssm4567_i2s skl_nau88l25_ssm4567_i2s: snd-soc-dummy-dai <-> HDMI1 Pin mapping ok [ 22.838713] binder: 2210:2210 transaction failed 29189, size 0-0 [ 22.857633] skl_nau88l25_ssm4567_i2s skl_nau88l25_ssm4567_i2s: snd-soc-dummy-dai <-> HDMI2 Pin mapping ok [ 22.871083] skl_nau88l25_ssm4567_i2s skl_nau88l25_ssm4567_i2s: snd-soc-dummy-dai <-> HDMI3 Pin mapping ok [ 22.883275] skl_nau88l25_ssm4567_i2s skl_nau88l25_ssm4567_i2s: multicodec <-> SSP0 Pin mapping ok [ 22.895123] skl_nau88l25_ssm4567_i2s skl_nau88l25_ssm4567_i2s: nau8825-hifi <-> SSP1 Pin mapping ok [ 22.907474] skl_nau88l25_ssm4567_i2s skl_nau88l25_ssm4567_i2s: dmic-hifi <-> DMIC01 Pin mapping ok [ 22.919292] skl_nau88l25_ssm4567_i2s skl_nau88l25_ssm4567_i2s: intel-hdmi-hifi1 <-> iDisp1 Pin mapping ok [ 22.931636] skl_nau88l25_ssm4567_i2s skl_nau88l25_ssm4567_i2s: intel-hdmi-hifi2 <-> iDisp2 Pin mapping ok [ 22.943960] skl_nau88l25_ssm4567_i2s skl_nau88l25_ssm4567_i2s: intel-hdmi-hifi3 <-> iDisp3 Pin mapping ok [ 22.955874] skl_nau88l25_ssm4567_i2s skl_nau88l25_ssm4567_i2s: ASoC: no sink widget found for codec0_lp_in [ 22.966727] skl_nau88l25_ssm4567_i2s skl_nau88l25_ssm4567_i2s: ASoC: Failed to add route ssp0 Rx -> direct -> codec0_lp_in [ 22.979698] skl_nau88l25_ssm4567_i2s skl_nau88l25_ssm4567_i2s: ASoC: no source widget found for iDisp3_out [ 22.990552] skl_nau88l25_ssm4567_i2s skl_nau88l25_ssm4567_i2s: ASoC: Failed to add route iDisp3_out -> direct -> iDisp3 Tx [ 23.029847] input: sklnau8825adi Headset Jack as /devices/platform/skl_nau88l25_ssm4567_i2s/sound/card0/input9 [ 23.048477] input: sklnau8825adi HDMI/DP, pcm=4 Jack as /devices/platform/skl_nau88l25_ssm4567_i2s/sound/card0/input10 [ 23.066889] input: sklnau8825adi HDMI/DP, pcm=5 Jack as /devices/platform/skl_nau88l25_ssm4567_i2s/sound/card0/input11 [ 23.085366] input: sklnau8825adi HDMI/DP, pcm=6 Jack as /devices/platform/skl_nau88l25_ssm4567_i2s/sound/card0/input12
,
Mar 8 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/b745f49b320f3384e8fc9d982e425d0c1b94d72a commit b745f49b320f3384e8fc9d982e425d0c1b94d72a Author: Naveen Manohar <naveen.m@intel.com> Date: Thu Mar 08 03:47:15 2018 UPSTREAM: ASoC: Intel: Change kern log level to avoid unwanted messages patch suppresses the warning message "control load not supported" as this is a debug information to help debug issues in topology. Signed-off-by: Naveen Manohar <naveen.m@intel.com> Acked-By: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org> Link: https://patchwork.kernel.org/patch/10101587/ (cherry picked from commit 4362934a75ff2a399fd0bcd75937907115770020) BUG=b:62421293, chromium:786522 TEST=Boot and verify unwanted below logs aren't observed in dmesg, 'snd_soc_skl 0000:00:xx.x: Control load not supported xx:xx:xx' Change-Id: I05539aa7cd555439d3222dca56399f998439488d Signed-off-by: Marc Herbert <marc.herbert@intel.com> Reviewed-on: https://chromium-review.googlesource.com/953365 Reviewed-by: Guenter Roeck <groeck@chromium.org> [modify] https://crrev.com/b745f49b320f3384e8fc9d982e425d0c1b94d72a/sound/soc/intel/skylake/skl-topology.c
,
May 17 2018
The problem is two-fold: - The size field in the old version is set to 0, causing the driver to bail out - Backward compatibility for Widget configuration is not implemented. The problem is widely reported in various forums.
,
Oct 7
Fixed upstream. |
|||||
►
Sign in to add a comment |
|||||
Comment 1 by wuchengli@chromium.org
, Nov 20 2017