You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
On BSW_CYN_MAX98090, running sof_insert.sh after sof_remove.sh scripts to test sof module unload/reload capability, it will hang the whole Linux system.
I have tried ~100 kernel builds/tries, but still can't figure out fix for this, the CSR_PWAITMODE bit will have high possibility to be 1 which means we can't take the DSP out from stalled state after module unloaded/reloaded, this issue only happens on BSW but on BYT or CHT.
@plbossart no, the BSW_CYN_MAX98090 is the only BSW I have ever touched.
BTW, I have a fix for this issue now, basically I need to send IPC to FW to inform about this driver moduel removal, working on refining it.
if these tests work on MinnowBoard and other BYT devices, I am not sure why the extra IPC is needed.
For me the issues on Cyan where due to GPIO stuff.
@plbossart no, the BSW_CYN_MAX98090 is the only BSW I have ever touched.
BTW, I have a fix for this issue now, basically I need to send IPC to FW to inform about this driver moduel removal, working on refining it.
if these tests work on MinnowBoard and other BYT devices, I am not sure why the extra IPC is needed.
That's true, though I think the extra IPC sounds reasonable, but it does require many regression test efforts on all platforms as this is a core change.
For me the issues on Cyan where due to GPIO stuff.
Um, can you get some information about this? It is an old platform, might be difficult to get support or information about it.
Call for helps here, we might need to get more BSW-CYAN platforms and more developers can involve the debugging, as the issue is much more complicated than expected, basically, there are several kinds of issues behind it:
the system hang issue. This looks like a interrupt storm after the driver module is removed, I did several refines in byt/cht/bsw part in both FW and driver, which can fix the hang issue.
the CSR_PWAITMODE bit can't reset issue. either putting the whole system to S3 and return back, or sending IPC_CONTEXT_SAVE to FW, can fix this issue.
FW boot fail issue. the FW fails occasionally on BSW, with boot trace e.g. 0x3100, or 0x3200, we need more FW debug to root cause this.
Kernel oops in module removal. This happen sometimes, seeing errors like below, either with the commit from PR#1469 applied or Morimoto's commit reverted:
For the "2" issue, we need add IPC_CTX_SAVE sending at driver removal. @keyonjie what is it that this IPC does that allows the CSR_PWAITMODE reset? Seding the CTX_SAVE IPC during device removal is the opposite of what we do normally which is disable PM and bring the device back to full-power
For the "2" issue, we need add IPC_CTX_SAVE sending at driver removal. @keyonjie what is it that this IPC does that allows the CSR_PWAITMODE reset? Seding the CTX_SAVE IPC during device removal is the opposite of what we do normally which is disable PM and bring the device back to full-power
We will keep the CTX_RESTORE and bring the device back to full-power, here what i mentioned has no relationship with the PM ops, it is in the module removal, e.g. snd_sof_device_remove().
But what you mentioned inspires me about why the issue happens randomly, so my guess is that if we remove the module when the device is in runtime-suspended (which means CTX_SAVE already sent to FW), we will get the CSR_PWAITMODE reset correctly, but if we remove the module when the device is in runtime-active, then we will hit this "2" issue -- CSR_PWAITMODE can't be reset to 0.
yes, there's a known coreboot issue that hasn't been fixed. I don't think we can keep any tests that re-downloads firmware, which rules out kmod tests unfortunately.
@marc-hb This issue is just as Xiuli described, is a known issue. the link you give just tells us that the test is skipped, just
because of this #1449 issue. I guess you may misunderstand the information in the result page.
If this is a known issue that requires skipping tests then it's obviously not "fixed". Yet it was closed as "fixed" in May 2020, so something is wrong somewhere and that's why I re-opened it. No need to understand what exactly is wrong to re-open.
Are you saying this issue should have been closed as "wontfix"?
I think what happened is that we thought we had a fix and closed the issue, but then later on found the problem remained and the root cause so we disabled the tests without updating this Linux issue.
I am positive this kmod test cannot work reliably.
Activity
keyonjie commentedon Nov 9, 2019
it looks sometimes we can't take the DSP out from stalled state at module reload, and then dsp boot fails.
keyonjie commentedon Nov 9, 2019
I have tried ~100 kernel builds/tries, but still can't figure out fix for this, the CSR_PWAITMODE bit will have high possibility to be 1 which means we can't take the DSP out from stalled state after module unloaded/reloaded, this issue only happens on BSW but on BYT or CHT.
keyonjie commentedon Nov 9, 2019
I also tried SST ATOM driver, which didn't support module unload/reload.
keyonjie commentedon Nov 9, 2019
looks the PCI config register is inaccessable, I can't set the DSP to D3hot state.
plbossart commentedon Nov 12, 2019
@keyonjie have you tried on other non-chrome CHT devices? I can't recall seeing those problems.
keyonjie commentedon Nov 12, 2019
@plbossart no, the BSW_CYN_MAX98090 is the only BSW I have ever touched.
BTW, I have a fix for this issue now, basically I need to send IPC to FW to inform about this driver module removal, working on refining it.
plbossart commentedon Nov 12, 2019
if these tests work on MinnowBoard and other BYT devices, I am not sure why the extra IPC is needed.
For me the issues on Cyan where due to GPIO stuff.
keyonjie commentedon Nov 12, 2019
That's true, though I think the extra IPC sounds reasonable, but it does require many regression test efforts on all platforms as this is a core change.
Um, can you get some information about this? It is an old platform, might be difficult to get support or information about it.
keyonjie commentedon Nov 14, 2019
Call for helps here, we might need to get more BSW-CYAN platforms and more developers can involve the debugging, as the issue is much more complicated than expected, basically, there are several kinds of issues behind it:
ranj063 commentedon Nov 14, 2019
@keyonjie can you post your patches so far so we can help?
keyonjie commentedon Nov 14, 2019
Sure, doing that this morning.
keyonjie commentedon Nov 15, 2019
@ranj063 @wenqingfu with my PR #1489 #1490 and #1491 applied, the hang issue(the "1" issue I mentioned above) is fixed.
For the "2" issue, we need add IPC_CTX_SAVE sending at driver removal.
For "3", need debugging from FW side to see what error happened there.
For "4", need to get a good base from Pierre and Morimoto, and debugging in the driver side.
ranj063 commentedon Nov 15, 2019
keyonjie commentedon Nov 15, 2019
We will keep the CTX_RESTORE and bring the device back to full-power, here what i mentioned has no relationship with the PM ops, it is in the module removal, e.g. snd_sof_device_remove().
But what you mentioned inspires me about why the issue happens randomly, so my guess is that if we remove the module when the device is in runtime-suspended (which means CTX_SAVE already sent to FW), we will get the CSR_PWAITMODE reset correctly, but if we remove the module when the device is in runtime-active, then we will hit this "2" issue -- CSR_PWAITMODE can't be reset to 0.
31 remaining items
keqiaozhang commentedon Jan 18, 2021
stress test failed on bsw-cyn-max98090:
plbossart commentedon Jan 19, 2021
yes, there's a known coreboot issue that hasn't been fixed. I don't think we can keep any tests that re-downloads firmware, which rules out kmod tests unfortunately.
marc-hb commentedon Jan 19, 2021
If this is a known issue that requires skipping tests then it's obviously not "fixed". Yet it was closed as "fixed" in May 2020, so something is wrong somewhere and that's why I re-opened it. No need to understand what exactly is wrong to re-open.
Are you saying this issue should have been closed as "wontfix"?
plbossart commentedon Jan 19, 2021
I think what happened is that we thought we had a fix and closed the issue, but then later on found the problem remained and the root cause so we disabled the tests without updating this Linux issue.
I am positive this kmod test cannot work reliably.
ranj063 commentedon Jan 19, 2021
Agree with @plbossart. This issue should be closed as "wont fix"
marc-hb commentedon Jan 19, 2021
Closing as wontfix, thanks everyone!