forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 140
suspend/resume fix #1479
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
suspend/resume fix #1479
Changes from all commits
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@keyonjie
I am really starting to wonder if we are in spaghetti code territory. Do we really need all of
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I also don't get how the code worked without this patch, and only crapped out with your IPC changes.
More explanations please?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I feel it a bit nasty also, but I can't remove any of them easily now. I think most of these are initiated from the DAPM PM event for the detect pipeline, once the SOF FW can support pipeline-segment feature, we can refine and clean up things here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Without the patch here, we will not power off DSP cores when doing S2Idle even without D0I3-compatible streams opened, and then in the subsequent resuming, we will try to power on cores and downloading FW and re-run it, it will fails in the first cl_dsp_init() try, but the retrying mechanism taking effect and we will succeed eventually, the final succeed hid the problems.
Yes, basically, we need to power down the dsp cores at suspend, otherwise, the next power on to the cores is not resetting the running of the core and the ROM code can't accept and respond to the FW_PURGE IPC. Doing a forced powering down to the DSP cores at the begin of cl_dsp_init() will also work-around this issue.
And actually, the BSW-CYAN issue I have been working on these days is a little relative to this, on BSW, we don't have register/bit to power off the DSP core, which taking a lot of DSP re-booting troubles to us.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the last one was removed by @ranj063 in #1478. but replaced by yet another flag. I get dizzy with all these changes. Maybe I should enforce a 2 day interface stabilization delay...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@plbossart @keyonjie let me spend some time to clean up the S0ix related flags today. Can we please hold off on merging this one until I come back with my proposal?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
definitlvely not merging anything until I have a warm and fuzzy feeling on the S0ix directions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@plbossart @ranj063 I still suggest take these firstly as they are fixes, and then the cleanup/refining and the subsequent S0 D0i3 support, doing them one by one will make the code easier to be tracked and bisected.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
no, I don't want patches that get modified immediately by another PR. This will look bad when we upstream and I don't want to be the one squashing stuff because developers didn't talk to each other on related topics.