Skip to content

Commit

Permalink
ADSP: align a variable on a cache-line size border
Browse files Browse the repository at this point in the history
power_down() locks the cache line, containing the address, passed to
the function in its second argument. However, current builds cause an
"alloca" DSP exception when trying to lock that cache line. Aligning
that variable on a cache-line size border fixes the problem.

Signed-off-by: Guennadi Liakhovetski <[email protected]>
  • Loading branch information
lyakh committed Mar 4, 2024
1 parent 792a569 commit cf41d26
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion soc/xtensa/intel_adsp/ace/power.c
Original file line number Diff line number Diff line change
Expand Up @@ -303,7 +303,7 @@ void pm_state_set(enum pm_state state, uint8_t substate_id)
(void *)rom_entry;
sys_cache_data_flush_range(imr_layout, sizeof(*imr_layout));
#endif /* CONFIG_ADSP_IMR_CONTEXT_SAVE */
uint32_t hpsram_mask = 0;
uint32_t hpsram_mask __aligned(64) = 0;
#ifdef CONFIG_ADSP_POWER_DOWN_HPSRAM
/* turn off all HPSRAM banks - get a full bitmap */
uint32_t ebb_banks = ace_hpsram_get_bank_count();
Expand Down

0 comments on commit cf41d26

Please sign in to comment.