Skip to content

Conversation

@plbossart
Copy link
Member

improvement of #2989 with my own comments fixed my way. No functionality change compared to PR #2989

keyonjie and others added 5 commits December 16, 2021 14:01
Add a bit definition to the fw_ready message, to denote if the FW
supports the IMR (Isolated Memory Region) restoring feature.

If the bit is set, the driver can skip downloading the firmware again
during system resume or runtime resume.

Bump the ABI version to 3.19 to make it aligned with FW side.

Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
We introduced provider/consumer terms, and CBP_CFP acronyms for codec
drivers, let's use them as well in SOF.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Move the SSP clock configuration to the hda_set_ssp_cbp_cfp() helper,
to be used in follow-up patches

Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
If the firmware declares the IMR restore feature, we only need to do a
simple powering up to resume from D3, no firmware re-downloading
needed - the context is saved/restored to/from IMR without needing
driver support.

Add a hda_dsp_boot_imr() helper for this simple DSP reboot, and use it
when it is available.

Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Add flag _IGNORE_D3_PERSISTENT to disable IMR restore feature to
the sof_debug module parameter.

The IMR restore feature will be enabled for all Intel cAVS platforms by
default, but setting the flag _IGNORE_D3_PERSISTENT can help to disable
the feature for debug purpose, to rule out any possible regression
introduced by the change of not re-downloading firmware to the DSP at
resuming from suspended state.

Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Copy link

@keyonjie keyonjie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, lgtm.

@keyonjie
Copy link

@plbossart @marc-hb better to run a more stressful test before merging.

@keqiaozhang
Copy link

@plbossart @marc-hb better to run a more stressful test before merging.

I had triggered the stress testing, test report ID is 8998.
The results are good and no regressions were found.
Test recipe: kernel PR3340 + SOF PR 4893

@RanderWang
Copy link

currently IMR is enabled by fw_ready message which is not applicable to IPC4, so IPC4 can't be enabled by this way.

@ranj063
Copy link
Collaborator

ranj063 commented Dec 24, 2021

currently IMR is enabled by fw_ready message which is not applicable to IPC4, so IPC4 can't be enabled by this way.

@RanderWang for IPC4, shouldn't this be a default feature? For SOF we need the fw ready message because older versions do not support it.

@kv2019i
Copy link
Collaborator

kv2019i commented Jan 4, 2022

Due to the complicated history of this feature, I'll let @plbossart you do the merge.

@RanderWang
Copy link

currently IMR is enabled by fw_ready message which is not applicable to IPC4, so IPC4 can't be enabled by this way.

@RanderWang for IPC4, shouldn't this be a default feature? For SOF we need the fw ready message because older versions do not support it.

yes, It should be a default feature for IPC4 but current code can't enabled it for IPC4 since it checks fw_ready info. We may need another method for IPC4

plbossart added a commit to plbossart/sof that referenced this pull request Jan 10, 2022
Let's enable this capability, with CAVS_1_5 left out for now since there
are known issues with suspend-resume on Up2 board that were never
root-caused.

Enabling this at the firmware level is not enough, this capability
need to be enabled by kernel patches in
thesofproject/linux#3340

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

I'd like to re-run a test with thesofproject/sof#5109 before merging. I'll do this tomorrow.

lgirdwood pushed a commit to thesofproject/sof that referenced this pull request Jan 11, 2022
Let's enable this capability, with CAVS_1_5 left out for now since there
are known issues with suspend-resume on Up2 board that were never
root-caused.

Enabling this at the firmware level is not enough, this capability
need to be enabled by kernel patches in
thesofproject/linux#3340

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

SOFCI TEST

@plbossart plbossart merged commit 42b4f2f into thesofproject:topic/sof-dev Jan 17, 2022
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.

7 participants