Lines Matching refs:core_mask
27 cnl_dsp_core_set_reset_state(struct sst_dsp *ctx, unsigned int core_mask) in cnl_dsp_core_set_reset_state() argument
31 CNL_ADSP_REG_ADSPCS, CNL_ADSPCS_CRST(core_mask), in cnl_dsp_core_set_reset_state()
32 CNL_ADSPCS_CRST(core_mask)); in cnl_dsp_core_set_reset_state()
37 CNL_ADSPCS_CRST(core_mask), in cnl_dsp_core_set_reset_state()
38 CNL_ADSPCS_CRST(core_mask), in cnl_dsp_core_set_reset_state()
44 cnl_dsp_core_unset_reset_state(struct sst_dsp *ctx, unsigned int core_mask) in cnl_dsp_core_unset_reset_state() argument
48 CNL_ADSPCS_CRST(core_mask), 0); in cnl_dsp_core_unset_reset_state()
53 CNL_ADSPCS_CRST(core_mask), in cnl_dsp_core_unset_reset_state()
59 static bool is_cnl_dsp_core_enable(struct sst_dsp *ctx, unsigned int core_mask) in is_cnl_dsp_core_enable() argument
66 is_enable = (val & CNL_ADSPCS_CPA(core_mask)) && in is_cnl_dsp_core_enable()
67 (val & CNL_ADSPCS_SPA(core_mask)) && in is_cnl_dsp_core_enable()
68 !(val & CNL_ADSPCS_CRST(core_mask)) && in is_cnl_dsp_core_enable()
69 !(val & CNL_ADSPCS_CSTALL(core_mask)); in is_cnl_dsp_core_enable()
72 is_enable, core_mask); in is_cnl_dsp_core_enable()
77 static int cnl_dsp_reset_core(struct sst_dsp *ctx, unsigned int core_mask) in cnl_dsp_reset_core() argument
81 CNL_ADSPCS_CSTALL(core_mask), in cnl_dsp_reset_core()
82 CNL_ADSPCS_CSTALL(core_mask)); in cnl_dsp_reset_core()
85 return cnl_dsp_core_set_reset_state(ctx, core_mask); in cnl_dsp_reset_core()
88 static int cnl_dsp_start_core(struct sst_dsp *ctx, unsigned int core_mask) in cnl_dsp_start_core() argument
93 ret = cnl_dsp_core_unset_reset_state(ctx, core_mask); in cnl_dsp_start_core()
99 CNL_ADSPCS_CSTALL(core_mask), 0); in cnl_dsp_start_core()
101 if (!is_cnl_dsp_core_enable(ctx, core_mask)) { in cnl_dsp_start_core()
102 cnl_dsp_reset_core(ctx, core_mask); in cnl_dsp_start_core()
104 core_mask); in cnl_dsp_start_core()
111 static int cnl_dsp_core_power_up(struct sst_dsp *ctx, unsigned int core_mask) in cnl_dsp_core_power_up() argument
115 CNL_ADSPCS_SPA(core_mask), in cnl_dsp_core_power_up()
116 CNL_ADSPCS_SPA(core_mask)); in cnl_dsp_core_power_up()
120 CNL_ADSPCS_CPA(core_mask), in cnl_dsp_core_power_up()
121 CNL_ADSPCS_CPA(core_mask), in cnl_dsp_core_power_up()
126 static int cnl_dsp_core_power_down(struct sst_dsp *ctx, unsigned int core_mask) in cnl_dsp_core_power_down() argument
130 CNL_ADSPCS_SPA(core_mask), 0); in cnl_dsp_core_power_down()
135 CNL_ADSPCS_CPA(core_mask), in cnl_dsp_core_power_down()
141 int cnl_dsp_enable_core(struct sst_dsp *ctx, unsigned int core_mask) in cnl_dsp_enable_core() argument
146 ret = cnl_dsp_core_power_up(ctx, core_mask); in cnl_dsp_enable_core()
149 core_mask); in cnl_dsp_enable_core()
153 return cnl_dsp_start_core(ctx, core_mask); in cnl_dsp_enable_core()
156 int cnl_dsp_disable_core(struct sst_dsp *ctx, unsigned int core_mask) in cnl_dsp_disable_core() argument
160 ret = cnl_dsp_reset_core(ctx, core_mask); in cnl_dsp_disable_core()
163 core_mask); in cnl_dsp_disable_core()
168 ret = cnl_dsp_core_power_down(ctx, core_mask); in cnl_dsp_disable_core()
171 core_mask); in cnl_dsp_disable_core()
175 if (is_cnl_dsp_core_enable(ctx, core_mask)) { in cnl_dsp_disable_core()
177 core_mask); in cnl_dsp_disable_core()