Skip to content

[TGL] [I2S/SDW][max98373 DSM]: sof-audio-pci 0000:00:1f.3: error: ipc timed out for 0x40010000 size 76 #3541

Closed

Description

@naveen-manohar

Observe following Log randomly, during stress cycling.. Speaker Audio-Functionality post this scenario is yet to be verified as its a cold-reboot stress test.
Log: system_logs.txt

[ 1432.644301] max98373 sdw:1:19f:8373:0:7: ASoC: error at soc_component_read_no_lock on sdw:1:19f:8373:0:7: -16
[ 1432.644318] max98373 sdw:1:19f:8373:0:7: ASoC: error at soc_component_read_no_lock on sdw:1:19f:8373:0:7: -16
[ 1432.644331] max98373 sdw:1:19f:8373:0:7: ASoC: error at soc_component_read_no_lock on sdw:1:19f:8373:0:7: -16
[ 1432.644563] max98373 sdw:1:19f:8373:0:3: ASoC: error at soc_component_read_no_lock on sdw:1:19f:8373:0:3: -16
[ 1432.644576] max98373 sdw:1:19f:8373:0:3: ASoC: error at soc_component_read_no_lock on sdw:1:19f:8373:0:3: -16
[ 1432.644586] max98373 sdw:1:19f:8373:0:3: ASoC: error at soc_component_read_no_lock on sdw:1:19f:8373:0:3: -16
[ 1432.748544] max98373 sdw:1:19f:8373:0:7: ASoC: error at soc_component_read_no_lock on sdw:1:19f:8373:0:7: -16

Recipe Based on SoF_V0.8/0.9 Release
Hardware: Volteer Proto Board

Activity

  1. naveen-manohar commented on Oct 1, 2020

    @naveen-manohar
    ContributorAuthor

    Customer reported an issue which broke down into no audio with the same error signature.. Can we bump the priority in-par with customer's priority P-1

  2. plbossart commented on Oct 1, 2020

    @plbossart
    Member

    @naveen-manohar unless you help us by using the topic/sof-dev kernel and providing more detailed logs, changing the priority is not going to help. Keep in mind I am the only SoundWire support for the next week or so (Chinese Fall festival)....

    Specifically I don't see where "soc_component_read_no_lock" is called and what sequence leads to this problem. Please add dynamic debug for the soundwire parts as well, e.g. by adding this in /etc/modprobe.d/sof-ddbug.conf
    ddebug.txt

  3. naveen-manohar commented on Oct 2, 2020

    @naveen-manohar
    ContributorAuthor

    Sure @plbossart , ww40.5 is India Site Holiday, by ww41.1 EoD, shall post the specified data.

  4. naveen-manohar commented on Oct 4, 2020

    @naveen-manohar
    ContributorAuthor

    With chrome latest kernel based on SoF_v010 was to able to reproduce issue during warm_boot stress test with debug logs..
    Seems like the DSP fails to enter D3 during certain iteration and further access to soundwire device fails
    Logs:
    dmesg-issue_ipc_timeout.log - FAILS
    dmesg-working.log - PASS

    sof-audio-pci 0000:00:1f.3: FW Poll Status: reg=0x20140000 successful
    sof-audio-pci 0000:00:1f.3: ipc tx: 0x40010000
    sof-audio-pci 0000:00:1f.3: error: ipc timed out for 0x40010000 size 76
    sof-audio-pci 0000:00:1f.3: info: preventing DSP entering D3 state to preserve context
    sof-audio-pci 0000:00:1f.3: unknown ROM status value ffffffff
    sof-audio-pci 0000:00:1f.3: invalid header size 0xffffffff. FW oops is bogus
    sof-audio-pci 0000:00:1f.3: error: unexpected fault 0xffffffff trace 0xffffffff
    sof-audio-pci 0000:00:1f.3: error: hda irq intsts 0x00000000 intlctl 0xc0000000 rirb 00
    sof-audio-pci 0000:00:1f.3: error: dsp irq ppsts 0x00000000 adspis 0x00000000
    sof-audio-pci 0000:00:1f.3: error: host status 0x00000000 dsp status 0x00000000 mask 0x00000003
    sof-audio-pci 0000:00:1f.3: ctx_save ipc error -110, proceeding with suspend
    sof-audio-pci 0000:00:1f.3: FW Poll Status: reg=0x9010f0f successful
    sof-audio-pci 0000:00:1f.3: FW Poll Status: reg=0x9000f0f successful
    sof-audio-pci 0000:00:1f.3: DSP core(s) enabled? 0 : core_mask 1
    sof-audio-pci 0000:00:1f.3: Debug PCIR: 00000000 at  00000044
    sof-audio-pci 0000:00:1f.3: Debug PCIW: 00000010 at  00000044
    sof-audio-pci 0000:00:1f.3: Turning i915 HDAC power 0
    sof-audio-pci 0000:00:1f.3: Current DSP power state: D3
    max98373 sdw:1:19f:8373:0:7: ASoC: error at soc_component_read_no_lock on sdw:1:19f:8373:0:7: -16
    

    Please let me know if any more information required.

  5. kv2019i commented on Oct 5, 2020

    @kv2019i
    Collaborator

    Discussed with @naveen-manohar and we'll try to get:

    • DSP FW logs
    • more debug from the codec driver

    One thing that pops up in the error case log is that we are getting traces from the codec driver after
    2020-10-04T15:35:01,501726+05:30 intel-sdw intel-sdw.1: intel_link_power_down: powering down all links
    ...
    2020-10-04T15:35:27,168791+05:30 max98373 sdw:1:19f:8373:0:7: ASoC: error at soc_component_read_no_lock on sdw:1:19f:8373:0:7: -16

    The ordering is not right, something is wrong here.

  6. kv2019i commented on Oct 5, 2020

    @kv2019i
    Collaborator

    Quick update. The soc_component_read_no_lock errors are probably amixer reads after all, and regmap_read returns -EBUSY if regmap is in cache_only mode, which would be the case when powered down, so these look harmless in the end. So the main question is now to why the IPC fails.

  7. naveen-manohar commented on Oct 5, 2020

    @naveen-manohar
    ContributorAuthor

    Thanks @kv2019i for the quick support.. Sure I'm working on the DSP FW logs during Failure Scenario
    Things is, Issue is reproduced in stress test, so I need to make find some way to stop the test during failure.
    Let me reproduce and update with FW trace. Thanks

  8. naveen-manohar commented on Oct 5, 2020

    @naveen-manohar
    ContributorAuthor

    attached firmware trace..
    trace.log
    dmesg.log

  9. plbossart commented on Oct 5, 2020

    @plbossart
    Member

    Quick update. The soc_component_read_no_lock errors are probably amixer reads after all, and regmap_read returns -EBUSY if regmap is in cache_only mode, which would be the case when powered down, so these look harmless in the end. So the main question is now to why the IPC fails.

    can you share a pointer to this behavior @kv2019i? that's not intended, the point about cache_only mode was to avoid sending commands on the bus but there's no reason to return an error.

  10. plbossart commented on Oct 5, 2020

    @plbossart
    Member

    @naveen-manohar I don't see a smoking gun but I don't understand the sequence either. it looks like in the tests the failure happens on the first suspend, which is not really a stress test...I also don't see if this is due to pm_runtime or a system suspend. more info would be good here.

  11. naveen-manohar commented on Oct 5, 2020

    @naveen-manohar
    ContributorAuthor

    Hi @plbossart ,
    Apologies for not sharing the exact test being tried..
    The stress test is about cold-boot test ran using a set of scripts.. sequence is like below:
    Boot -> Check all devices are loaded -> Dump corresponding logs -> cold-reboot -> redo test till iteration specified.
    Here Cold reboot = ectool reboot_ec cold at-shutdown, shutdown -h now

    Each iteration's boot log/dump will be stored in a separate folder..
    Finally i did a grep to check any iteration failed..

  12. ranj063 commented on Oct 5, 2020

    @ranj063
    Collaborator

    @plbossart looking at intel_suspend_runtime() it looks we disable interrupts before powering down the links. Is that intended?

  13. kv2019i commented on Oct 5, 2020

    @kv2019i
    Collaborator

    @plbossart wrote:

    @kv2019i wrote:

    -EBUSY if regmap is in cache_only mode, which would be the case when powered down, so these look harmless in the end.

    can you share a pointer to this behavior @kv2019i? that's not intended, the point about cache_only mode was to avoid sending commands on the bus but there's no reason to return an error.

    Basicly I was searching the codebase where codec soc_component_read I/O would return -EBUSY and pretty much the only place
    is regmap.c:_regmap_read(). There's code that checks map->cache_only and returns -EBUSY in this case.

  14. plbossart commented on Oct 5, 2020

    @plbossart
    Member

    @plbossart looking at intel_suspend_runtime() it looks we disable interrupts before powering down the links. Is that intended?

    yes, we let the workqueue complete, then disable Cadence IP interrupts then power down links.

    @naveen-manohar can you double-check if you have the patch "soundwire: cadence: fix race condition between suspend and Slave device alerts", that's the only thing I can think of on the suspend path that we fixed recently (August).

  15. 35 remaining items

  16. RanderWang commented on Oct 21, 2020

    @RanderWang
    Collaborator

    @naveen-manohar @RanderWang I don't understand what the root cause for this error might be.

    In theory if we attempt to read from the device while in suspend, we already resume the entire bus and codec.

    One exception case: user queries alsa mixer settings by "amixer cget numid = xxxx"

  17. removed their assignment
    on Oct 21, 2020
  18. added
    P1Blocker bugs or important features
    TGLApplies to Tiger Lake
    on Oct 22, 2020
  19. naveen-manohar commented on Oct 22, 2020

    @naveen-manohar
    ContributorAuthor

    @RDharageswari shared a patch & DSP-firmware to free-up maxim resource at stop, and with this Issue is not reproducible on SDW SKU 10/10 times.
    Log: dsm_free_fw-dmesg.lo.txt FW:
    sof-tgl_resigned_fix_issue.zip

    2020-10-22T12:32:31,507438+05:30 sof-audio-pci 0000:00:1f.3: FW Poll Status: reg=0x20140000 successful
    2020-10-22T12:32:31,563133+05:30 sof-audio-pci 0000:00:1f.3: ipc tx: 0x40010000
    2020-10-22T12:32:31,563374+05:30 sof-audio-pci 0000:00:1f.3: ipc tx succeeded: 0x40010000
    2020-10-22T12:32:31,563538+05:30 sof-audio-pci 0000:00:1f.3: FW Poll Status: reg=0x9010f0f successful
    2020-10-22T12:32:31,563554+05:30 sof-audio-pci 0000:00:1f.3: FW Poll Status: reg=0xf0f successful
    2020-10-22T12:32:31,563556+05:30 sof-audio-pci 0000:00:1f.3: DSP core(s) enabled? 0 : core_mask 1
    2020-10-22T12:32:31,563611+05:30 sof-audio-pci 0000:00:1f.3: Debug PCIR: 00000000 at  00000044
    2020-10-22T12:32:31,563618+05:30 sof-audio-pci 0000:00:1f.3: Debug PCIW: 00000010 at  00000044
    2020-10-22T12:32:31,563623+05:30 sof-audio-pci 0000:00:1f.3: Turning i915 HDAC power 0
    2020-10-22T12:32:31,563624+05:30 sof-audio-pci 0000:00:1f.3: Current DSP power state: D3
    
    

    Tried Speaker functionality between suspend-resume & with my limited test, it worked fine..

  20. RanderWang commented on Oct 22, 2020

    @RanderWang
    Collaborator

    great!

  21. plbossart commented on Oct 22, 2020

    @plbossart
    Member

    @RDharageswari shared a patch & DSP-firmware to free-up maxim resource at stop, and with this Issue is not reproducible on SDW SKU 10/10 times.

    Was this patch shared @naveen-manohar @RDharageswari ?

  22. changed the title [-][TGL] [I2S/SDW][DSM]: sof-audio-pci 0000:00:1f.3: error: ipc timed out for 0x40010000 size 76[/-] [+][TGL] [I2S/SDW][max98373 DSM]: sof-audio-pci 0000:00:1f.3: error: ipc timed out for 0x40010000 size 76[/+] on Oct 22, 2020
  23. naveen-manohar commented on Oct 24, 2020

    @naveen-manohar
    ContributorAuthor

    @RDharageswari shared a patch & DSP-firmware to free-up maxim resource at stop, and with this Issue is not reproducible on SDW SKU 10/10 times.

    Was this patch shared @naveen-manohar @RDharageswari ?

    Now I notice that @RDharageswari is tracking the DSP FW issue caused due to DSM is being updated here - #3538 (comment)

  24. lgirdwood commented on Oct 29, 2020

    @lgirdwood
    Member

    @naveen-manohar @RDharageswari is there a PR for the fix ?

  25. keyonjie commented on Nov 2, 2020

    @keyonjie
    Contributor

    since we have track this on the FW side #3538, let's close this one for driver, @naveen-manohar please re-open it if needed.

  26. marc-hb commented on Nov 2, 2020

    @marc-hb
    Collaborator

    since we have track this on the FW side #3538, let's close this one for driver, @naveen-manohar please re-open it if needed.

    This bug is located in sof, it's not in linux.

    In #3541 @RDharageswari does not think they're duplicates.

    Even if they were duplicates, this one seems to have much more information.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    IPC timeoutIPC timeout observedP1Blocker bugs or important featuresTGLApplies to Tiger Lake

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions