Skip to content

Conversation

@plbossart
Copy link
Member

DO NOT MERGE

This is just a split in 3 of @marc-hb 's changes. I believe the changes impacting suspend-resume are in the last patch.

@ranj063 can you try this on CML_HELIOS? I will try on CML_SDW.

This reverts commit 57ee04f.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
This reverts commit 0def905.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
First part of trace: move CONFIG_TRACEM implementation up a couple levels

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
third part of trace: move CONFIG_TRACEM implementation up a couple
levels

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
@plbossart
Copy link
Member Author

And no joy without the third commit, so now the only hypothesis is the use of va_args that might be problematic?

@marc-hb
Copy link
Collaborator

marc-hb commented Jul 28, 2021

Tried va_copy but it didn't work, see #4558 (comment)

@lgirdwood
Copy link
Member

And no joy without the third commit, so now the only hypothesis is the use of va_args that might be problematic?

Could be - I'm seeing different trace output between GCC and XCC on #4566 based on latest dmesg.

@plbossart
Copy link
Member Author

I also get a fail on device hw:0,4 with the first patch that changes the va_args. I will redo the test since this is very surprising.

2021-07-28 21:56:03 UTC [COMMAND] arecord -Dhw:0,4 -r 48000 -c 2 -f S16_LE /dev/null -q
process: 8333 status: interruptible sleep (waiting for an event to complete)
2021-07-28 21:56:04 UTC Sub-Test: [INFO] Current suspend/resume type mode: [s2idle] deep
2021-07-28 21:56:05 UTC Sub-Test: [INFO] ===== Round(1/100) =====
2021-07-28 21:56:05 UTC Sub-Test: [COMMAND] Run the command: rtcwake -m mem -s 5
rtcwake: assuming RTC uses UTC ...
rtcwake: wakeup from "mem" using /dev/rtc0 at Wed Jul 28 21:56:12 2021
2021-07-28 21:56:12 UTC Sub-Test: [COMMAND] sleep for 5
2021-07-28 21:56:17 UTC Sub-Test: [INFO] Check for the kernel log status
declare -- cmd="journalctl_cmd --since=@1627509360"
2021-07-28 21:56:17 UTC [ERROR] Caught kernel log error
===========================>>
[ 1223.546644] kernel: sof-audio-pci-intel-cnl 0000:00:1f.3: error: hda_dsp_stream_trigger: cmd 0: timeout on STREAM_SD_OFFSET read
<<===========================

@lgirdwood
Copy link
Member

@plbossart fwiw, I think the va_ code is all in libgcc, so is compiler dependent - I would bet that the Cadence XCC version is optimized for xtensa. The other thing is we seem to be getting more trace messages coming in GCC mode, meaning there is more data (maybe due to va_list parsing ??)

@plbossart
Copy link
Member Author

plbossart commented Jul 29, 2021

I can confirm that the commit using va_args is enough to fail this test.

commit 6faa9c39a57a6e3f463f4626a634b135bc1397e1 (HEAD -> fix/cml_suspend_resume_2)
Author: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Date:   Wed Jul 28 16:11:05 2021 -0500

    trace: use va_args
    
    First part of trace: move CONFIG_TRACEM implementation up a couple levels
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>

At this point I would recommend a revert and redo. It's rather unlikely that we are going to figure this one out (edit: in the next hours/days).

@ranj063 @lgirdwood any objection?

@plbossart
Copy link
Member Author

Revert added in #4573

@plbossart plbossart closed this Jul 29, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants