Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] warning: sof_sdw sof_sdw: snd_soc_register_card failed -517 #4668

Closed
keqiaozhang opened this issue Oct 27, 2023 · 7 comments · Fixed by #4673
Closed

[BUG] warning: sof_sdw sof_sdw: snd_soc_register_card failed -517 #4668

keqiaozhang opened this issue Oct 27, 2023 · 7 comments · Fixed by #4673
Assignees
Labels
IPC4 P2 Critical bugs or normal features SDW Applies to SoundWire bus for codec connection TGL Applies to Tiger Lake platform

Comments

@keqiaozhang
Copy link
Collaborator

Describe the bug
Observed this warning on TGLU_RVP_SDW-ipc4 platform, no functional impact. The reproduction rate is not high. it only happened twice in CI. Test ID:33691 and 33750.

[    4.305403] kernel: snd_sof:sof_mtrace_find_core_slots: sof-audio-pci-intel-tgl 0000:00:1f.3: slot0 is used for core0
[    4.305426] kernel: soundwire_cadence:cdns_fill_msg_resp: soundwire_intel soundwire_intel.link.1: Msg ignored for Slave 0
[    4.305430] kernel: soundwire_bus:sdw_program_device_num: soundwire sdw-master-1: No more devices to enumerate
[    4.305531] kernel: soundwire sdw:0:025d:0711:00: PARITY error detected before INT mask is enabled
[    4.305545] kernel: soundwire_cadence:cdns_update_slave_status_work: soundwire_intel soundwire_intel.link.1: Slave status change: 0x221
[    4.305620] kernel: soundwire_bus:sdw_modify_slave_status: soundwire sdw:1:025d:1308:00:2: signaling enumeration completion for Slave 1
[    4.305837] kernel: soundwire_bus:sdw_handle_slave_status: soundwire sdw:0:025d:0711:00: signaling initialization completion for Slave 6
[    4.305843] kernel: snd_sof:sof_machine_register: sof-audio-pci-intel-tgl 0000:00:1f.3: created machine sof_sdw
[    4.305851] kernel: soundwire sdw:1:025d:1308:00:2: PARITY error detected before INT mask is enabled
[    4.306129] kernel: snd_sof_pci:sof_pci_probe_complete: sof-audio-pci-intel-tgl 0000:00:1f.3: Completing SOF PCI probe
[    4.306141] kernel: soundwire_bus:sdw_handle_slave_status: soundwire sdw:1:025d:1308:00:2: signaling initialization completion for Slave 1
[    4.306145] kernel: soundwire_bus:sdw_modify_slave_status: soundwire sdw:1:025d:1308:00:0: signaling enumeration completion for Slave 2
[    4.306322] kernel: soundwire sdw:1:025d:1308:00:0: PARITY error detected before INT mask is enabled
[    4.306605] kernel: soundwire_bus:sdw_handle_slave_status: soundwire sdw:1:025d:1308:00:0: signaling initialization completion for Slave 2
[    5.311327] kernel: Console: switching to colour frame buffer device 480x135
[    5.337797] kernel: i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device
[    5.350462] kernel: snd_soc_rt711:rt711_init: rt711 sdw:0:025d:0711:00: rt711_init
[    5.350904] kernel: snd_soc_rt1308_sdw:rt1308_sdw_init: rt1308 sdw:1:025d:1308:00:2: rt1308_sdw_init
[    5.350908] kernel: snd_soc_rt1308_sdw:rt1308_read_prop: rt1308 sdw:1:025d:1308:00:2: rt1308_read_prop
[    5.351735] kernel: snd_soc_rt700:rt700_init: rt700 sdw:0:025d:0700:00: rt700_init
[    5.352056] kernel: snd_soc_rt1308_sdw:rt1308_io_init: rt1308 sdw:1:025d:1308:00:2: rt1308_io_init, hw_ver=0x0
[    5.353190] kernel: snd_soc_sof_sdw:mc_probe: sof_sdw sof_sdw: Entry
[    5.353195] kernel: snd_soc_sof_sdw:log_quirks: sof_sdw sof_sdw: quirk realtek,jack-detect-source 1
[    5.353196] kernel: snd_soc_sof_sdw:log_quirks: sof_sdw sof_sdw: quirk SOF_SDW_TGL_HDMI enabled
[    5.353198] kernel: snd_soc_sof_sdw:log_quirks: sof_sdw sof_sdw: quirk SOF_SDW_PCH_DMIC enabled
[    5.353199] kernel: snd_soc_sof_sdw:log_quirks: sof_sdw sof_sdw: SSP port 4
[    5.353202] kernel: snd_soc_sof_sdw:sof_card_dai_links_create: sof_sdw sof_sdw: sdw 3, ssp 0, dmic 2, hdmi 4, bt: 0
[    5.353211] kernel: snd_soc_sof_sdw:init_dai_link: sof_sdw sof_sdw: create dai link SDW0-Playback, id 0
[    5.353500] kernel: snd_soc_sof_sdw:init_dai_link: sof_sdw sof_sdw: create dai link SDW0-Capture, id 1
[    5.353508] kernel: snd_soc_sof_sdw:init_dai_link: sof_sdw sof_sdw: create dai link SDW1-Playback, id 2
[    5.353517] kernel: snd_soc_sof_sdw:init_dai_link: sof_sdw sof_sdw: create dai link dmic01, id 3
[    5.353519] kernel: snd_soc_sof_sdw:init_dai_link: sof_sdw sof_sdw: create dai link dmic16k, id 4
[    5.353523] kernel: snd_soc_sof_sdw:init_dai_link: sof_sdw sof_sdw: create dai link iDisp1, id 5
[    5.353527] kernel: snd_soc_sof_sdw:init_dai_link: sof_sdw sof_sdw: create dai link iDisp2, id 6
[    5.353531] kernel: snd_soc_sof_sdw:init_dai_link: sof_sdw sof_sdw: create dai link iDisp3, id 7
[    5.353535] kernel: snd_soc_sof_sdw:init_dai_link: sof_sdw sof_sdw: create dai link iDisp4, id 8
[    5.354593] kernel: snd_soc_rt711:rt711_sdw_write: rt711 sdw:0:025d:0711:00: [rt711_sdw_write] ff01 <= 0000
[    5.355225] kernel: snd_soc_rt711:rt711_sdw_read: rt711 sdw:0:025d:0711:00: [rt711_sdw_read] 7520 85a0 9c20 aca0 => 00008003
[    5.355565] kernel: snd_soc_rt711:rt711_sdw_write: rt711 sdw:0:025d:0711:00: [rt711_sdw_write] 7520 85a0 7420 84a0 <= 001a c003
[    5.355647] kernel: snd_soc_rt711:rt711_sdw_write: rt711 sdw:0:025d:0711:00: [rt711_sdw_write] 3501 <= 0000
[    5.355729] kernel: snd_soc_rt711:rt711_sdw_write: rt711 sdw:0:025d:0711:00: [rt711_sdw_write] 3719 <= 0025
[    5.355811] kernel: snd_soc_rt711:rt711_sdw_write: rt711 sdw:0:025d:0711:00: [rt711_sdw_write] 3721 <= 00c0
[    5.355895] kernel: snd_soc_rt711:rt711_sdw_write: rt711 sdw:0:025d:0711:00: [rt711_sdw_write] 3712 <= 0020
[    5.355979] kernel: snd_soc_rt711:rt711_sdw_write: rt711 sdw:0:025d:0711:00: [rt711_sdw_write] 3713 <= 0020
[    5.356063] kernel: snd_soc_rt711:rt711_sdw_write: rt711 sdw:0:025d:0711:00: [rt711_sdw_write] 371a <= 0020
[    5.356173] kernel: snd_soc_rt711:rt711_sdw_write: rt711 sdw:0:025d:0711:00: [rt711_sdw_write] 371b <= 0020
[    5.356324] kernel: snd_soc_rt711:rt711_sdw_write: rt711 sdw:0:025d:0711:00: [rt711_sdw_write] 7321 83a1 <= a080
[    5.356439] kernel: snd_soc_rt711:rt711_sdw_write: rt711 sdw:0:025d:0711:00: [rt711_sdw_write] 7321 83a1 <= 9080
[    5.356603] kernel: snd_soc_rt711:rt711_sdw_write: rt711 sdw:0:025d:0711:00: [rt711_sdw_write] 7308 8388 <= 6080
[    5.356791] kernel: snd_soc_rt711:rt711_sdw_write: rt711 sdw:0:025d:0711:00: [rt711_sdw_write] 7308 8388 <= 5080
[    5.356913] kernel: snd_soc_rt711:rt711_sdw_write: rt711 sdw:0:025d:0711:00: [rt711_sdw_write] 7309 8389 <= 6080
[    5.357075] kernel: snd_soc_rt711:rt711_sdw_write: rt711 sdw:0:025d:0711:00: [rt711_sdw_write] 7309 8389 <= 5080
[    5.357093] kernel: snd_soc_rt1308_sdw:rt1308_io_init: rt1308 sdw:1:025d:1308:00:2: rt1308_io_init hw_init complete
[    5.357095] kernel: soundwire_bus:sdw_drv_probe: rt1308 sdw:1:025d:1308:00:2: probe complete
[    5.357159] kernel: snd_soc_rt711:rt711_sdw_write: rt711 sdw:0:025d:0711:00: [rt711_sdw_write] 4f12 <= 0091
[    5.357244] kernel: snd_soc_rt711:rt711_sdw_write: rt711 sdw:0:025d:0711:00: [rt711_sdw_write] 4e12 <= 00d6
[    5.357326] kernel: snd_soc_rt711:rt711_sdw_write: rt711 sdw:0:025d:0711:00: [rt711_sdw_write] 4d12 <= 0011
[    5.357416] kernel: snd_soc_rt711:rt711_sdw_write: rt711 sdw:0:025d:0711:00: [rt711_sdw_write] 4c12 <= 0020
[    5.357492] kernel: snd_soc_rt711:rt711_sdw_write: rt711 sdw:0:025d:0711:00: [rt711_sdw_write] 4f13 <= 0091
[    5.357581] kernel: snd_soc_rt711:rt711_sdw_write: rt711 sdw:0:025d:0711:00: [rt711_sdw_write] 4e13 <= 00d6
[    5.357662] kernel: snd_soc_rt711:rt711_sdw_write: rt711 sdw:0:025d:0711:00: [rt711_sdw_write] 4d13 <= 0011
[    5.357741] kernel: snd_soc_rt711:rt711_sdw_write: rt711 sdw:0:025d:0711:00: [rt711_sdw_write] 4c13 <= 0021
[    5.357804] kernel: snd_soc_rt711:rt711_sdw_write: rt711 sdw:0:025d:0711:00: [rt711_sdw_write] 4c21 <= 00f0
[    5.357867] kernel: snd_soc_rt711:rt711_sdw_write: rt711 sdw:0:025d:0711:00: [rt711_sdw_write] 4d21 <= 0011
[    5.357959] kernel: snd_soc_rt711:rt711_sdw_write: rt711 sdw:0:025d:0711:00: [rt711_sdw_write] 4e21 <= 0011
[    5.358034] kernel: snd_soc_rt711:rt711_sdw_write: rt711 sdw:0:025d:0711:00: [rt711_sdw_write] 4f21 <= 0001
[    5.358187] kernel: sof_sdw sof_sdw: snd_soc_register_card failed -517
[    5.358366] kernel: snd_soc_rt711:rt711_sdw_write: rt711 sdw:0:025d:0711:00: [rt711_sdw_write] 7520 85a0 7420 84a0 <= 0091 0154
[    5.358595] kernel: snd_soc_rt1308_sdw:rt1308_sdw_init: rt1308 sdw:1:025d:1308:00:0: rt1308_sdw_init
[    5.358598] kernel: snd_soc_rt1308_sdw:rt1308_read_prop: rt1308 sdw:1:025d:1308:00:0: rt1308_read_prop
[    5.358708] kernel: snd_soc_rt711:rt711_sdw_write: rt711 sdw:0:025d:0711:00: [rt711_sdw_write] 7520 85a0 7420 84a0 <= 004a 201b
[    5.358869] kernel: soundwire_bus:sdw_drv_probe: rt700 sdw:0:025d:0700:00: probe complete

To Reproduce
Check the kernel log after booting.

Reproduction Rate
TBD

Environment

  1. Branch name and commit hash of the 2 repositories: sof (firmware/topology) and linux (kernel driver).
  2. Name of the topology file
    • Topology: {sof-tgl-rt711-rt1308-4ch.tplg}
  3. Name of the platform(s) on which the bug is observed.
    • Platform: {TGLU_RVP_SDW-ipc4}
@keqiaozhang keqiaozhang added P2 Critical bugs or normal features TGL Applies to Tiger Lake platform SDW Applies to SoundWire bus for codec connection IPC4 labels Oct 27, 2023
@ujfalusi
Copy link
Collaborator

It is deferred probing, let me create a patch to silence the print (deferring is fine and now it can happen)

@marc-hb
Copy link
Collaborator

marc-hb commented Oct 27, 2023

Observed again in https://sof-ci.01.org/sofpr/PR8405/build14293/devicetest/index.html?model=TGLU_RVP_SDW_IPC4ZPH&testcase=verify-kernel-boot-log

Interestingly, the test did not mind these other PARITY errors in the same run:

[    3.436119] kernel: soundwire_bus:sdw_handle_slave_status: soundwire sdw:0:025d:0711:00: signaling initialization completion for Slave 6
[    3.436127] kernel: snd_sof:sof_machine_register: sof-audio-pci-intel-tgl 0000:00:1f.3: created machine sof_sdw
[    3.436204] kernel: soundwire sdw:1:025d:1308:00:2: PARITY error detected before INT mask is enabled
[    3.436361] kernel: snd_sof_pci:sof_pci_probe_complete: sof-audio-pci-intel-tgl 0000:00:1f.3: Completing SOF PCI probe
[    3.436462] kernel: soundwire_bus:sdw_handle_slave_status: soundwire sdw:1:025d:1308:00:2: signaling initialization completion for Slave 1
[    3.436467] kernel: soundwire_bus:sdw_modify_slave_status: soundwire sdw:1:025d:1308:00:0: signaling enumeration completion for Slave 2
[    3.436652] kernel: soundwire sdw:1:025d:1308:00:0: PARITY error detected before INT mask is enabled
[    3.436923] kernel: soundwire_bus:sdw_handle_slave_status: soundwire sdw:1:025d:1308:00:0: signaling initialization completion for Slave 2
[    4.415954] kernel: Console: switching to colour frame buffer device 480x135
[    4.443537] kernel: i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device

ujfalusi added a commit to ujfalusi/sof-linux that referenced this issue Oct 30, 2023
The devm_snd_soc_register_card() can return with
-EPROBE_DEFER and in that case the driver should not print
an error message.

Closes: thesofproject#4668
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
@plbossart
Copy link
Member

parity errors can be ignored usually if they happen on startup.

@marc-hb
Copy link
Collaborator

marc-hb commented Oct 30, 2023

parity errors can be ignored usually if they happen on startup.

Can/should they be logged at a different level on startup?

@plbossart
Copy link
Member

It's already a warning

 dev_warn(&slave->dev, "PARITY error detected before INT mask is enabled\n");

@marc-hb
Copy link
Collaborator

marc-hb commented Oct 30, 2023

So shouldn't it be an ERROR after startup?

@plbossart
Copy link
Member

no, most codecs get it wrong so we demoted to a warning. It's fine.

ujfalusi added a commit that referenced this issue Oct 31, 2023
The devm_snd_soc_register_card() can return with
-EPROBE_DEFER and in that case the driver should not print
an error message.

Closes: #4668
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
plbossart pushed a commit that referenced this issue Nov 22, 2023
The devm_snd_soc_register_card() can return with
-EPROBE_DEFER and in that case the driver should not print
an error message.

Closes: #4668
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Chao Song <chao.song@linux.intel.com>
ujfalusi added a commit to ujfalusi/sof-linux that referenced this issue Nov 24, 2023
The devm_snd_soc_register_card() can return with
-EPROBE_DEFER and in that case the driver should not print
an error message.

Closes: thesofproject#4668
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Chao Song <chao.song@linux.intel.com>
ujfalusi added a commit to ujfalusi/sof-linux that referenced this issue Nov 27, 2023
The devm_snd_soc_register_card() can return with
-EPROBE_DEFER and in that case the driver should not print
an error message.

Closes: thesofproject#4668
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Chao Song <chao.song@linux.intel.com>
intel-lab-lkp pushed a commit to intel-lab-lkp/linux that referenced this issue Nov 28, 2023
The devm_snd_soc_register_card() can return with
-EPROBE_DEFER and in that case the driver should not print
an error message.

Closes: thesofproject#4668
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Chao Song <chao.song@linux.intel.com>
Link: https://lore.kernel.org/r/20231127133448.18449-2-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
ujfalusi added a commit to ujfalusi/sof-linux that referenced this issue Nov 29, 2023
The devm_snd_soc_register_card() can return with
-EPROBE_DEFER and in that case the driver should not print
an error message.

Closes: thesofproject#4668
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Chao Song <chao.song@linux.intel.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
IPC4 P2 Critical bugs or normal features SDW Applies to SoundWire bus for codec connection TGL Applies to Tiger Lake platform
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants