Skip to content

SoundWire: msg ignored during BTP transfer with pm_runtime enabled (dspless mode) #4784

@plbossart

Description

@plbossart

When doing a BPT transfer without the DSP, we ALWAYS see an error

[  461.872854] IO error in rt711_sdca_headset_detect, ret -61

This is very odd because the SAME device 6 replies to BPT commands without any errors. @shumingfan @bardliao any idea why this might fail?

full sequence:

[  461.112081] soundwire_bus:set_command: rt711-sdca sdw:0:0:025d:0711:01: command: write
[  461.112108] soundwire_bus:set_command_type: rt711-sdca sdw:0:0:025d:0711:01: command type: BRA
[  461.112125] soundwire_bus:set_start_address: rt711-sdca sdw:0:0:025d:0711:01: start address 0x44010000
[  461.112144] soundwire_bus:set_num_bytes: rt711-sdca sdw:0:0:025d:0711:01: number of bytes 524288
[  461.132347] snd_sof:snd_sof_pci_update_bits_unlocked: sof-audio-pci-intel-lnl 0000:00:1f.3: Debug PCIR: 00000000 at  00000044
[  461.132359] snd_sof:snd_sof_pci_update_bits_unlocked: sof-audio-pci-intel-lnl 0000:00:1f.3: Debug PCIR: 00000000 at  00000048
[  461.135901] snd_sof_intel_hda:hda_codec_detect_mask: sof-audio-pci-intel-lnl 0000:00:1f.3: codec_mask = 0x0
[  461.135942] snd_sof:snd_sof_pci_update_bits_unlocked: sof-audio-pci-intel-lnl 0000:00:1f.3: Debug PCIR: 00000000 at  00000048
[  461.135947] snd_sof:snd_sof_pci_update_bits_unlocked: sof-audio-pci-intel-lnl 0000:00:1f.3: Debug PCIW: 00000040 at  00000048
[  461.135955] snd_sof_intel_hda_common:hda_dsp_state_log: sof-audio-pci-intel-lnl 0000:00:1f.3: Current DSP power state: D0I0
[  461.135958] snd_sof:sof_set_fw_state: sof-audio-pci-intel-lnl 0000:00:1f.3: fw_state change: 0 -> 1
[  461.136014] soundwire_intel:intel_shim_vs_set_clock_source: soundwire_intel soundwire_intel.link.0: clock source 0 LVSCTL 0x0
[  461.136017] soundwire_intel:intel_link_power_up: soundwire_intel soundwire_intel.link.0: first link up, programming SYNCPRD
[  461.136048] soundwire_bus:sdw_modify_slave_status: rt711-sdca sdw:0:0:025d:0711:01: initializing enumeration and init completion for Slave 6
[  461.136056] soundwire_cadence:cdns_init_clock_ctrl: soundwire_intel soundwire_intel.link.0: mclk 19200000 max 4800000 row 50 col 4
[  461.137598] soundwire_cadence:cdns_update_slave_status_work: soundwire_intel soundwire_intel.link.0: Slave status change: 0x2
[  461.137617] soundwire_bus:sdw_handle_slave_status: soundwire sdw-master-0-0: Slave attached, programming device number
[  461.137803] soundwire_bus:sdw_extract_slave_id: soundwire sdw-master-0-0: SDW Slave Addr: 30025d071101
[  461.137805] soundwire_bus:sdw_extract_slave_id: soundwire sdw-master-0-0: SDW Slave class_id 0x01, mfg_id 0x025d, part_id 0x0711, unique_id 0x0, version 0x3
[  461.137807] soundwire_bus:sdw_assign_device_num: soundwire sdw-master-0-0: Slave already registered, reusing dev_num:6
[  461.138220] soundwire_cadence:cdns_fill_msg_resp: soundwire_intel soundwire_intel.link.0: Msg ignored for Slave 0
[  461.138222] soundwire_bus:sdw_program_device_num: soundwire sdw-master-0-0: No more devices to enumerate
[  461.138313] soundwire_cadence:cdns_update_slave_status_work: soundwire_intel soundwire_intel.link.0: Slave status change: 0x2000001
[  461.138332] soundwire_bus:sdw_modify_slave_status: rt711-sdca sdw:0:0:025d:0711:01: signaling enumeration completion for Slave 6
[  461.138830] soundwire_bus:sdw_slave_set_frequency: rt711-sdca sdw:0:0:025d:0711:01: Configured bus base 1, scale 3, mclk 19200000, curr_freq 4800000
[  461.337736] snd_soc_rt711_sdca:rt711_sdca_calibration: rt711-sdca sdw:0:0:025d:0711:01: rt711_sdca_calibration calibration complete, ret=0
[  461.348882] snd_soc_rt711_sdca:rt711_sdca_jack_init: rt711-sdca sdw:0:0:025d:0711:01: in rt711_sdca_jack_init enable
[  461.348885] snd_soc_rt711_sdca:rt711_sdca_io_init: rt711-sdca sdw:0:0:025d:0711:01: rt711_sdca_io_init hw_init complete
[  461.348886] soundwire_bus:sdw_handle_slave_status: rt711-sdca sdw:0:0:025d:0711:01: signaling initialization completion for Slave 6
[  461.369195] soundwire_bus:cmd_go: rt711-sdca sdw:0:0:025d:0711:01: starting command
[  461.369199] soundwire_intel:intel_ace2x_bpt_send_async: soundwire_intel soundwire_intel.link.0: BPT Transfer start
[  461.372258] soundwire_intel:intel_ace2x_bpt_open_stream: soundwire_intel soundwire_intel.link.0: Message len 524288 transferred in 65536 frames (8 per frame)
[  461.372262] soundwire_intel:intel_ace2x_bpt_open_stream: soundwire_intel soundwire_intel.link.0: sizes pdi0 2359296 pdi1 524288 tx_bandwidth 13824000 rx_bandwidth 3072000
[  461.372264] snd_sof_intel_hda_sdw_bpt:hda_sdw_bpt_dma_prepare: sof-audio-pci-intel-lnl 0000:00:1f.3: direction 0 format_val 1842
[  461.372446] snd_sof_intel_hda_common:hda_dsp_stream_hw_params: sof-audio-pci-intel-lnl 0000:00:1f.3: FW Poll Status: reg[0x1e0]=0x40000 successful
[  461.372463] snd_sof_intel_hda_common:hda_dsp_stream_hw_params: sof-audio-pci-intel-lnl 0000:00:1f.3: FW Poll Status: reg[0x1e0]=0x40000 successful
[  461.372468] snd_sof_intel_hda_common:hda_dsp_stream_setup_bdl: sof-audio-pci-intel-lnl 0000:00:1f.3: period_bytes:0x0
[  461.372470] snd_sof_intel_hda_common:hda_dsp_stream_setup_bdl: sof-audio-pci-intel-lnl 0000:00:1f.3: periods:1
[  461.372483] snd_sof_intel_hda_sdw_bpt:hda_sdw_bpt_dma_prepare: sof-audio-pci-intel-lnl 0000:00:1f.3: direction 1 format_val 1840
[  461.372532] snd_sof_intel_hda_common:hda_dsp_stream_hw_params: sof-audio-pci-intel-lnl 0000:00:1f.3: FW Poll Status: reg[0x80]=0x40000 successful
[  461.373671] snd_sof_intel_hda_common:hda_dsp_stream_hw_params: sof-audio-pci-intel-lnl 0000:00:1f.3: FW Poll Status: reg[0x80]=0x40000 successful
[  461.373676] snd_sof_intel_hda_common:hda_dsp_stream_setup_bdl: sof-audio-pci-intel-lnl 0000:00:1f.3: period_bytes:0x0
[  461.373678] snd_sof_intel_hda_common:hda_dsp_stream_setup_bdl: sof-audio-pci-intel-lnl 0000:00:1f.3: periods:1
[  461.379098] soundwire_intel:intel_ace2x_bpt_send_async: soundwire_intel soundwire_intel.link.0: intel_ace2x_bpt_send_async: done
[  461.379101] soundwire_bus:do_bpt_sequence: rt711-sdca sdw:0:0:025d:0711:01: send_async done
[  461.379103] soundwire_intel:intel_ace2x_bpt_wait: soundwire_intel soundwire_intel.link.0: BPT Transfer wait
[  461.839695] soundwire_cadence:cdns_update_slave_status_work: soundwire_intel soundwire_intel.link.0: Slave status change: 0x4000000
[  461.840774] snd_soc_rt711_sdca:rt711_sdca_interrupt_callback: rt711-sdca sdw:0:0:025d:0711:01: rt711_sdca_interrupt_callback control_port_stat=4, sdca_cascade=1
[  461.842449] soundwire_cadence:cdns_update_slave_status_work: soundwire_intel soundwire_intel.link.0: Slave status change: 0x2000000
[  461.872530] rt711_sdca_headset_detect: trying to read from address 0x40600490
[  461.872853] soundwire_cadence:cdns_fill_msg_resp: soundwire_intel soundwire_intel.link.0: Msg ignored for Slave 6
[  461.872854] IO error in rt711_sdca_headset_detect, ret -61
[  462.393165] rfkill: input handler enabled
[  462.745031] snd_sof_intel_hda_common:hda_dsp_stream_trigger: sof-audio-pci-intel-lnl 0000:00:1f.3: FW Poll Status: reg[0x80]=0x20140000 successful
[  462.745038] snd_sof_intel_hda_common:hda_dsp_stream_trigger: sof-audio-pci-intel-lnl 0000:00:1f.3: FW Poll Status: reg[0x1e0]=0x140000 successful
[  462.748441] soundwire_intel:intel_ace2x_bpt_wait: soundwire_intel soundwire_intel.link.0: BPT Transfer done
[  462.751480] soundwire_bus:do_bpt_sequence: rt711-sdca sdw:0:0:025d:0711:01: wait done
[  462.751661] soundwire_bus:cmd_go: rt711-sdca sdw:0:0:025d:0711:01: command completed, status 0, time 1382 ms
[  466.502279] soundwire_bus:sdw_bus_wait_for_clk_prep_deprep: soundwire sdw-master-0-0: clock stop prepare done slave:15
[  466.502767] snd_sof:snd_sof_pci_update_bits_unlocked: sof-audio-pci-intel-lnl 0000:00:1f.3: Debug PCIR: 00000000 at  00000044
[  466.502774] snd_sof:snd_sof_pci_update_bits_unlocked: sof-audio-pci-intel-lnl 0000:00:1f.3: Debug PCIW: 00000010 at  00000044
[  466.503573] snd_sof_intel_hda_common:hda_dsp_state_log: sof-audio-pci-intel-lnl 0000:00:1f.3: Current DSP power state: D3
[  466.503578] snd_sof:sof_set_fw_state: sof-audio-pci-intel-lnl 0000:00:1f.3: fw_state change: 1 -> 0

Metadata

Metadata

Assignees

No one assigned

    Labels

    SDWApplies to SoundWire bus for codec connectionwon't fixThis will not be worked on atm (e.g. a bug closed for lack of user request, hardware etc)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions