Repository navigation
Closed
Labels
CMLApplies to Comet Lake platformApplies to Comet Lake platformSDWApplies to SoundWire bus for codec connectionApplies to SoundWire bus for codec connectionbugSomething isn't workingSomething isn't workingsuspend resumeIssues related to suspend resume (e.g. rtcwake)Issues related to suspend resume (e.g. rtcwake)
Description
code: PR #1586 and configuration with no amplifier on link-2
options snd-sof-intel-hda-common sdw_clock_stop_quirks=0x8
modprobe snd-sof-pci
wait for the DSP to be suspended
rtcwake -m mem -s 3
The dmesg log shows an IO timeout when stopping the clock the second time, but when looking at the logs the clock stop command is retried and will succeed when re-issued by do_transfer()
This makes me think the state is not properly restored when doing a system resume after a clock stop done in pm_runtime suspend
master-2 traces
[ 18.739518] intel-sdw sdw-master-2: intel_suspend_runtime start
[ 18.739527] intel-sdw sdw-master-2: sdw_cdns_clock_stop: start
[ 18.739534] intel-sdw sdw-master-2: sdw_cdns_clock_stop: slave attached 0
[ 18.739738] intel-sdw sdw-master-2: Msg ignored for Slave 15
[ 18.739741] intel-sdw sdw-master-2: ClockStopNow Broadcast msg ignored -61
[ 18.739745] intel-sdw sdw-master-2: sdw_cdns_clock_stop: end
[ 18.739754] intel-sdw sdw-master-2: intel_suspend_runtime done
[ 27.807913] intel-sdw sdw-master-2: intel_suspend start
[ 27.807916] intel-sdw sdw-master-2: intel_suspend: pm_runtime status: suspended
[ 32.466649] intel-sdw sdw-master-2: intel_resume start
[ 32.466649] intel-sdw sdw-master-2: intel_resume: pm_runtime status was suspended, forcing active
[ 32.467293] intel-sdw sdw-master-2: intel_resume done
[ 35.477551] intel-sdw sdw-master-2: intel_suspend_runtime start
[ 35.477568] intel-sdw sdw-master-2: sdw_cdns_clock_stop: start
[ 35.477576] intel-sdw sdw-master-2: sdw_cdns_clock_stop: slave attached 0
[ 37.491749] intel-sdw sdw-master-2: IO transfer timed out, cmd 3 device 15 addr 44 len 1
[ 37.491768] intel-sdw sdw-master-2: sdw_cdns_clock_stop: end
[ 37.491782] intel-sdw sdw-master-2: intel_suspend_runtime done
Metadata
Metadata
Assignees
Labels
CMLApplies to Comet Lake platformApplies to Comet Lake platformSDWApplies to SoundWire bus for codec connectionApplies to SoundWire bus for codec connectionbugSomething isn't workingSomething isn't workingsuspend resumeIssues related to suspend resume (e.g. rtcwake)Issues related to suspend resume (e.g. rtcwake)
Activity
RanderWang commentedon Dec 10, 2019
@plbossart yes, it is caused by FIFO_LEVEL register setting. the detail:
CDNS_MCP_FIFOLEVEL was set to 2, and after S2idle, we send cmd with count =1 & msg_count = 1, so we don't set this register correctly. I will check it later.
RanderWang commentedon Dec 11, 2019
@plbossart fixed by plbossart#10
RanderWang commentedon Dec 11, 2019
a PR for branch soundwire-bug-fixes is #1618
YvonneYang2 commentedon Dec 11, 2019
Tested it with integretion/soundwire-latest(e375909) + #1586 + #1618 , issue cannot be reproduced.
RanderWang commentedon Dec 12, 2019
Fixed by PR #1618