Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 6 additions & 4 deletions src/audio/base_fw.c
Original file line number Diff line number Diff line change
Expand Up @@ -340,21 +340,23 @@ int schedulers_info_get(uint32_t *data_off_size,
if (core_id >= CONFIG_CORE_COUNT)
return IPC4_ERROR_INVALID_PARAM;

if (!cpu_is_me(core_id))
return ipc4_process_on_core(core_id, false);

struct scheduler_props *scheduler_props;
/* the internal structs have irregular sizes so we cannot use indexing, and have to
* reassign pointers for each element
*/
struct schedulers_info *schedulers_info = (struct schedulers_info *)data;

schedulers_info->scheduler_count = 0;

/* smallest response possible is just zero schedulers count
* here we replace max_len from data_off_size to serve as output size
*/
*data_off_size = sizeof(struct schedulers_info);
/* return empty scheduler_props if core is not active */
if (!cpu_is_core_enabled(core_id))
return IPC4_SUCCESS;

if (!cpu_is_me(core_id))
return ipc4_process_on_core(core_id, false);

/* ===================== LL_TIMER SCHEDULER INFO ============================ */
schedulers_info->scheduler_count++;
Expand Down