Lines Matching refs:core_mask
60 unsigned int core_mask, en_cores_mask; in skl_dsp_get_enabled_cores() local
63 core_mask = SKL_DSP_CORES_MASK(skl->cores.count); in skl_dsp_get_enabled_cores()
68 en_cores_mask = (val & SKL_ADSPCS_CPA_MASK(core_mask)) >> in skl_dsp_get_enabled_cores()
72 en_cores_mask &= (~val & SKL_ADSPCS_CRST_MASK(core_mask)) >> in skl_dsp_get_enabled_cores()
76 en_cores_mask &= (~val & SKL_ADSPCS_CSTALL_MASK(core_mask)) >> in skl_dsp_get_enabled_cores()
78 en_cores_mask &= core_mask; in skl_dsp_get_enabled_cores()
86 skl_dsp_core_set_reset_state(struct sst_dsp *ctx, unsigned int core_mask) in skl_dsp_core_set_reset_state() argument
92 SKL_ADSP_REG_ADSPCS, SKL_ADSPCS_CRST_MASK(core_mask), in skl_dsp_core_set_reset_state()
93 SKL_ADSPCS_CRST_MASK(core_mask)); in skl_dsp_core_set_reset_state()
98 SKL_ADSPCS_CRST_MASK(core_mask), in skl_dsp_core_set_reset_state()
99 SKL_ADSPCS_CRST_MASK(core_mask), in skl_dsp_core_set_reset_state()
103 SKL_ADSPCS_CRST_MASK(core_mask)) != in skl_dsp_core_set_reset_state()
104 SKL_ADSPCS_CRST_MASK(core_mask)) { in skl_dsp_core_set_reset_state()
106 core_mask); in skl_dsp_core_set_reset_state()
114 struct sst_dsp *ctx, unsigned int core_mask) in skl_dsp_core_unset_reset_state() argument
122 SKL_ADSPCS_CRST_MASK(core_mask), 0); in skl_dsp_core_unset_reset_state()
127 SKL_ADSPCS_CRST_MASK(core_mask), in skl_dsp_core_unset_reset_state()
133 SKL_ADSPCS_CRST_MASK(core_mask)) != 0) { in skl_dsp_core_unset_reset_state()
135 core_mask); in skl_dsp_core_unset_reset_state()
143 is_skl_dsp_core_enable(struct sst_dsp *ctx, unsigned int core_mask) in is_skl_dsp_core_enable() argument
150 is_enable = ((val & SKL_ADSPCS_CPA_MASK(core_mask)) && in is_skl_dsp_core_enable()
151 (val & SKL_ADSPCS_SPA_MASK(core_mask)) && in is_skl_dsp_core_enable()
152 !(val & SKL_ADSPCS_CRST_MASK(core_mask)) && in is_skl_dsp_core_enable()
153 !(val & SKL_ADSPCS_CSTALL_MASK(core_mask))); in is_skl_dsp_core_enable()
156 is_enable, core_mask); in is_skl_dsp_core_enable()
161 static int skl_dsp_reset_core(struct sst_dsp *ctx, unsigned int core_mask) in skl_dsp_reset_core() argument
165 SKL_ADSPCS_CSTALL_MASK(core_mask), in skl_dsp_reset_core()
166 SKL_ADSPCS_CSTALL_MASK(core_mask)); in skl_dsp_reset_core()
169 return skl_dsp_core_set_reset_state(ctx, core_mask); in skl_dsp_reset_core()
172 int skl_dsp_start_core(struct sst_dsp *ctx, unsigned int core_mask) in skl_dsp_start_core() argument
177 ret = skl_dsp_core_unset_reset_state(ctx, core_mask); in skl_dsp_start_core()
182 dev_dbg(ctx->dev, "unstall/run core: core_mask = %x\n", core_mask); in skl_dsp_start_core()
184 SKL_ADSPCS_CSTALL_MASK(core_mask), 0); in skl_dsp_start_core()
186 if (!is_skl_dsp_core_enable(ctx, core_mask)) { in skl_dsp_start_core()
187 skl_dsp_reset_core(ctx, core_mask); in skl_dsp_start_core()
189 core_mask); in skl_dsp_start_core()
196 int skl_dsp_core_power_up(struct sst_dsp *ctx, unsigned int core_mask) in skl_dsp_core_power_up() argument
202 SKL_ADSPCS_SPA_MASK(core_mask), in skl_dsp_core_power_up()
203 SKL_ADSPCS_SPA_MASK(core_mask)); in skl_dsp_core_power_up()
208 SKL_ADSPCS_CPA_MASK(core_mask), in skl_dsp_core_power_up()
209 SKL_ADSPCS_CPA_MASK(core_mask), in skl_dsp_core_power_up()
214 SKL_ADSPCS_CPA_MASK(core_mask)) != in skl_dsp_core_power_up()
215 SKL_ADSPCS_CPA_MASK(core_mask)) { in skl_dsp_core_power_up()
217 core_mask); in skl_dsp_core_power_up()
224 int skl_dsp_core_power_down(struct sst_dsp *ctx, unsigned int core_mask) in skl_dsp_core_power_down() argument
228 SKL_ADSPCS_SPA_MASK(core_mask), 0); in skl_dsp_core_power_down()
233 SKL_ADSPCS_CPA_MASK(core_mask), in skl_dsp_core_power_down()
239 int skl_dsp_enable_core(struct sst_dsp *ctx, unsigned int core_mask) in skl_dsp_enable_core() argument
244 ret = skl_dsp_core_power_up(ctx, core_mask); in skl_dsp_enable_core()
247 core_mask); in skl_dsp_enable_core()
251 return skl_dsp_start_core(ctx, core_mask); in skl_dsp_enable_core()
254 int skl_dsp_disable_core(struct sst_dsp *ctx, unsigned int core_mask) in skl_dsp_disable_core() argument
258 ret = skl_dsp_reset_core(ctx, core_mask); in skl_dsp_disable_core()
261 core_mask); in skl_dsp_disable_core()
266 ret = skl_dsp_core_power_down(ctx, core_mask); in skl_dsp_disable_core()
269 core_mask, ret); in skl_dsp_disable_core()
273 if (is_skl_dsp_core_enable(ctx, core_mask)) { in skl_dsp_disable_core()
275 core_mask, ret); in skl_dsp_disable_core()