Skip to content

Make cpu power down IDC blocking - #4628

Merged
lgirdwood merged 1 commit into
thesofproject:mainfrom
ranj063:fix/core_power_down
Aug 12, 2021
Merged

lgirdwood merged 1 commit into
thesofproject:mainfrom
ranj063:fix/core_power_down

Conversation

@ranj063

@ranj063 ranj063 commented Aug 12, 2021 •

Copy link
Copy Markdown
Collaborator

Make sure to clock the power down IDC block until the core is idled

Fixes #4602

@ranj063 ranj063 changed the title arch: xtensa: cpu: mask interrupts during core power down [RFC] arch: xtensa: cpu: mask interrupts during core power down Aug 12, 2021
@ranj063

ranj063 commented Aug 12, 2021

Copy link
Copy Markdown
Collaborator Author

@lgirdwood this change fixes the IDC timeout issue with repeated core power up/down but I'm not convinced this is entirely right.
We call interrupt_unmask() in idc_eable_interrupts() but at the point the idc->irq is not even registered. What am I missing?

@ranj063 ranj063 changed the title [RFC] arch: xtensa: cpu: mask interrupts during core power down [RFC] [DO NOT MERGE] arch: xtensa: cpu: mask interrupts during core power down Aug 12, 2021
@ranj063
ranj063 force-pushed the fix/core_power_down branch from c9b742f to 2d34e90 Compare August 12, 2021 03:44
make the core power down IDC blocking to ensure the core is
actually idle before notifying the host.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
@ranj063
ranj063 force-pushed the fix/core_power_down branch from 2d34e90 to a11d752 Compare August 12, 2021 04:21
@ranj063 ranj063 changed the title [RFC] [DO NOT MERGE] arch: xtensa: cpu: mask interrupts during core power down Make cpu power down IDC blocking Aug 12, 2021
@ranj063

ranj063 commented Aug 12, 2021

Copy link
Copy Markdown
Collaborator Author

@lgirdwood this change fixes the IDC timeout issue with repeated core power up/down but I'm not convinced this is entirely right.
We call interrupt_unmask() in idc_eable_interrupts() but at the point the idc->irq is not even registered. What am I missing?

@lgirdwood after a bit more testing, I realized that simply making sure to block until the power down IDC actually idles the core fixes the issue for me

@lgirdwood

Copy link
Copy Markdown
Member

CI showing Zephyr, known and unrelated.

@lgirdwood
lgirdwood merged commit dd14583 into thesofproject:main Aug 12, 2021
@ranj063
ranj063 deleted the fix/core_power_down branch November 1, 2021 22:58
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.

[BUG]Enabling/disabling secondary cores in a loop fails with an IDC timeout

3 participants