diff --git a/src/platform/intel/ace/platform.c b/src/platform/intel/ace/platform.c index a70d2db94a5c..f86a46b1fa71 100644 --- a/src/platform/intel/ace/platform.c +++ b/src/platform/intel/ace/platform.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include @@ -80,6 +81,13 @@ static struct pm_notifier pm_state_notifier = { .state_exit = cpu_notify_state_exit, }; +#if CONFIG_KCPS_DYNAMIC_CLOCK_CONTROL +/* Value to be determined experimentaly */ +#define BASE_CPS_USAGE 10000 +#else +#define BASE_CPS_USAGE (CLK_MAX_CPU_HZ / 1000) +#endif + /* Runs on the primary core only */ int platform_init(struct sof *sof) { @@ -89,10 +97,7 @@ int platform_init(struct sof *sof) platform_clock_init(sof); kcps_budget_init(); - /* Set DSP clock to MAX using KCPS API. Value should be lowered when KCPS API - * for modules is implemented - */ - ret = core_kcps_adjust(cpu_get_id(), CLK_MAX_CPU_HZ / 1000); + ret = core_kcps_adjust(cpu_get_id(), BASE_CPS_USAGE); if (ret < 0) return ret; diff --git a/src/platform/meteorlake/include/platform/lib/clk.h b/src/platform/meteorlake/include/platform/lib/clk.h index 2eb1732aad55..e76a626e8a1a 100644 --- a/src/platform/meteorlake/include/platform/lib/clk.h +++ b/src/platform/meteorlake/include/platform/lib/clk.h @@ -24,7 +24,7 @@ #define CPU_LOWEST_FREQ_IDX CPU_WOVCRO_FREQ_IDX -#define CPU_DEFAULT_IDX CPU_HPRO_FREQ_IDX +#define CPU_DEFAULT_IDX CPU_LOWEST_FREQ_IDX #define SSP_DEFAULT_IDX 1