Lines Matching refs:core_mask

129 static int hda_dsp_core_reset_enter(struct snd_sof_dev *sdev, unsigned int core_mask)  in hda_dsp_core_reset_enter()  argument
136 reset = HDA_DSP_ADSPCS_CRST_MASK(core_mask); in hda_dsp_core_reset_enter()
157 if ((adspcs & HDA_DSP_ADSPCS_CRST_MASK(core_mask)) != in hda_dsp_core_reset_enter()
158 HDA_DSP_ADSPCS_CRST_MASK(core_mask)) { in hda_dsp_core_reset_enter()
161 core_mask, adspcs); in hda_dsp_core_reset_enter()
168 static int hda_dsp_core_reset_leave(struct snd_sof_dev *sdev, unsigned int core_mask) in hda_dsp_core_reset_leave() argument
177 HDA_DSP_ADSPCS_CRST_MASK(core_mask), in hda_dsp_core_reset_leave()
181 crst = HDA_DSP_ADSPCS_CRST_MASK(core_mask); in hda_dsp_core_reset_leave()
198 if ((adspcs & HDA_DSP_ADSPCS_CRST_MASK(core_mask)) != 0) { in hda_dsp_core_reset_leave()
201 core_mask, adspcs); in hda_dsp_core_reset_leave()
208 int hda_dsp_core_stall_reset(struct snd_sof_dev *sdev, unsigned int core_mask) in hda_dsp_core_stall_reset() argument
213 HDA_DSP_ADSPCS_CSTALL_MASK(core_mask), in hda_dsp_core_stall_reset()
214 HDA_DSP_ADSPCS_CSTALL_MASK(core_mask)); in hda_dsp_core_stall_reset()
217 return hda_dsp_core_reset_enter(sdev, core_mask); in hda_dsp_core_stall_reset()
221 bool hda_dsp_core_is_enabled(struct snd_sof_dev *sdev, unsigned int core_mask) in hda_dsp_core_is_enabled() argument
233 is_enable = MASK_IS_EQUAL(val, core_mask, HDA_DSP_ADSPCS_CPA_MASK) && in hda_dsp_core_is_enabled()
234 MASK_IS_EQUAL(val, core_mask, HDA_DSP_ADSPCS_SPA_MASK) && in hda_dsp_core_is_enabled()
235 !(val & HDA_DSP_ADSPCS_CRST_MASK(core_mask)) && in hda_dsp_core_is_enabled()
236 !(val & HDA_DSP_ADSPCS_CSTALL_MASK(core_mask)); in hda_dsp_core_is_enabled()
241 is_enable, core_mask); in hda_dsp_core_is_enabled()
247 int hda_dsp_core_run(struct snd_sof_dev *sdev, unsigned int core_mask) in hda_dsp_core_run() argument
252 ret = hda_dsp_core_reset_leave(sdev, core_mask); in hda_dsp_core_run()
257 dev_dbg(sdev->dev, "unstall/run core: core_mask = %x\n", core_mask); in hda_dsp_core_run()
260 HDA_DSP_ADSPCS_CSTALL_MASK(core_mask), in hda_dsp_core_run()
264 if (!hda_dsp_core_is_enabled(sdev, core_mask)) { in hda_dsp_core_run()
265 hda_dsp_core_stall_reset(sdev, core_mask); in hda_dsp_core_run()
267 core_mask); in hda_dsp_core_run()
279 int hda_dsp_core_power_up(struct snd_sof_dev *sdev, unsigned int core_mask) in hda_dsp_core_power_up() argument
288 core_mask &= chip->host_managed_cores_mask; in hda_dsp_core_power_up()
290 if (!core_mask) in hda_dsp_core_power_up()
295 HDA_DSP_ADSPCS_SPA_MASK(core_mask), in hda_dsp_core_power_up()
296 HDA_DSP_ADSPCS_SPA_MASK(core_mask)); in hda_dsp_core_power_up()
299 cpa = HDA_DSP_ADSPCS_CPA_MASK(core_mask); in hda_dsp_core_power_up()
315 if ((adspcs & HDA_DSP_ADSPCS_CPA_MASK(core_mask)) != in hda_dsp_core_power_up()
316 HDA_DSP_ADSPCS_CPA_MASK(core_mask)) { in hda_dsp_core_power_up()
319 core_mask, adspcs); in hda_dsp_core_power_up()
327 static int hda_dsp_core_power_down(struct snd_sof_dev *sdev, unsigned int core_mask) in hda_dsp_core_power_down() argument
335 HDA_DSP_ADSPCS_SPA_MASK(core_mask), 0); in hda_dsp_core_power_down()
339 !(adspcs & HDA_DSP_ADSPCS_CPA_MASK(core_mask)), in hda_dsp_core_power_down()
350 int hda_dsp_enable_core(struct snd_sof_dev *sdev, unsigned int core_mask) in hda_dsp_enable_core() argument
357 core_mask &= chip->host_managed_cores_mask; in hda_dsp_enable_core()
360 if (!core_mask || hda_dsp_core_is_enabled(sdev, core_mask)) in hda_dsp_enable_core()
364 ret = hda_dsp_core_power_up(sdev, core_mask); in hda_dsp_enable_core()
367 core_mask); in hda_dsp_enable_core()
371 return hda_dsp_core_run(sdev, core_mask); in hda_dsp_enable_core()
376 unsigned int core_mask) in hda_dsp_core_reset_power_down() argument
383 core_mask &= chip->host_managed_cores_mask; in hda_dsp_core_reset_power_down()
386 if (!core_mask) in hda_dsp_core_reset_power_down()
390 ret = hda_dsp_core_stall_reset(sdev, core_mask); in hda_dsp_core_reset_power_down()
393 core_mask); in hda_dsp_core_reset_power_down()
398 ret = hda_dsp_core_power_down(sdev, core_mask); in hda_dsp_core_reset_power_down()
401 core_mask, ret); in hda_dsp_core_reset_power_down()
406 if (hda_dsp_core_is_enabled(sdev, core_mask)) { in hda_dsp_core_reset_power_down()
408 core_mask, ret); in hda_dsp_core_reset_power_down()