diff --git a/app/boards/intel_adsp_ace30_ptl.conf b/app/boards/intel_adsp_ace30_ptl.conf index 48a923ab7870..2a77e29cf86b 100644 --- a/app/boards/intel_adsp_ace30_ptl.conf +++ b/app/boards/intel_adsp_ace30_ptl.conf @@ -65,3 +65,12 @@ CONFIG_LOG_BACKEND_ADSP=n CONFIG_LOG_FLUSH_SLEEP_US=5000 CONFIG_LOG_OUTPUT_FORMAT_LINUX_TIMESTAMP=y CONFIG_WINSTREAM_CONSOLE=n + +# Userspace options +CONFIG_USERSPACE=y +CONFIG_DYNAMIC_THREAD=y +CONFIG_DYNAMIC_THREAD_ALLOC=y +CONFIG_DYNAMIC_THREAD_PREFER_ALLOC=y +CONFIG_SOF_STACK_SIZE=8192 +CONFIG_SOF_USERSPACE_PROXY=y +CONFIG_MAX_THREAD_BYTES=3 diff --git a/src/schedule/zephyr_dp_schedule.c b/src/schedule/zephyr_dp_schedule.c index 34e30fe78d51..b4ce7f768f90 100644 --- a/src/schedule/zephyr_dp_schedule.c +++ b/src/schedule/zephyr_dp_schedule.c @@ -405,10 +405,13 @@ static void dp_thread_fn(void *p1, void *p2, void *p3) (void)p2; (void)p3; struct task_dp_pdata *task_pdata = task->priv_data; + struct scheduler_dp_data *dp_sch = NULL; unsigned int lock_key; enum task_state state; bool task_stop; - struct scheduler_dp_data *dp_sch = scheduler_get_data(SOF_SCHEDULE_DP); + + if (!(task->flags & K_USER)) + dp_sch = scheduler_get_data(SOF_SCHEDULE_DP); do { /* @@ -454,7 +457,8 @@ static void dp_thread_fn(void *p1, void *p2, void *p3) * TODO: it should be for all tasks, for all cores * currently its limited to current core only */ - scheduler_dp_recalculate(dp_sch, false); + if (dp_sch) + scheduler_dp_recalculate(dp_sch, false); scheduler_dp_unlock(lock_key); } while (!task_stop); diff --git a/west.yml b/west.yml index 31f5235e9aec..6d8e372b1055 100644 --- a/west.yml +++ b/west.yml @@ -43,7 +43,7 @@ manifest: - name: zephyr repo-path: zephyr - revision: f908d0b5f22adaaf912e729317c323864f1e1641 + revision: 6cd7cfa104a5f4de68408c9bf6516cd1109b9782 remote: zephyrproject # Import some projects listed in zephyr/west.yml@revision