Lines Matching refs:core_mask

128 static int hda_dsp_core_reset_enter(struct snd_sof_dev *sdev, unsigned int core_mask)  in hda_dsp_core_reset_enter()  argument
135 reset = HDA_DSP_ADSPCS_CRST_MASK(core_mask); in hda_dsp_core_reset_enter()
156 if ((adspcs & HDA_DSP_ADSPCS_CRST_MASK(core_mask)) != in hda_dsp_core_reset_enter()
157 HDA_DSP_ADSPCS_CRST_MASK(core_mask)) { in hda_dsp_core_reset_enter()
160 core_mask, adspcs); in hda_dsp_core_reset_enter()
167 static int hda_dsp_core_reset_leave(struct snd_sof_dev *sdev, unsigned int core_mask) in hda_dsp_core_reset_leave() argument
176 HDA_DSP_ADSPCS_CRST_MASK(core_mask), in hda_dsp_core_reset_leave()
180 crst = HDA_DSP_ADSPCS_CRST_MASK(core_mask); in hda_dsp_core_reset_leave()
197 if ((adspcs & HDA_DSP_ADSPCS_CRST_MASK(core_mask)) != 0) { in hda_dsp_core_reset_leave()
200 core_mask, adspcs); in hda_dsp_core_reset_leave()
207 int hda_dsp_core_stall_reset(struct snd_sof_dev *sdev, unsigned int core_mask) in hda_dsp_core_stall_reset() argument
212 HDA_DSP_ADSPCS_CSTALL_MASK(core_mask), in hda_dsp_core_stall_reset()
213 HDA_DSP_ADSPCS_CSTALL_MASK(core_mask)); in hda_dsp_core_stall_reset()
216 return hda_dsp_core_reset_enter(sdev, core_mask); in hda_dsp_core_stall_reset()
220 bool hda_dsp_core_is_enabled(struct snd_sof_dev *sdev, unsigned int core_mask) in hda_dsp_core_is_enabled() argument
232 is_enable = MASK_IS_EQUAL(val, core_mask, HDA_DSP_ADSPCS_CPA_MASK) && in hda_dsp_core_is_enabled()
233 MASK_IS_EQUAL(val, core_mask, HDA_DSP_ADSPCS_SPA_MASK) && in hda_dsp_core_is_enabled()
234 !(val & HDA_DSP_ADSPCS_CRST_MASK(core_mask)) && in hda_dsp_core_is_enabled()
235 !(val & HDA_DSP_ADSPCS_CSTALL_MASK(core_mask)); in hda_dsp_core_is_enabled()
240 is_enable, core_mask); in hda_dsp_core_is_enabled()
246 int hda_dsp_core_run(struct snd_sof_dev *sdev, unsigned int core_mask) in hda_dsp_core_run() argument
251 ret = hda_dsp_core_reset_leave(sdev, core_mask); in hda_dsp_core_run()
256 dev_dbg(sdev->dev, "unstall/run core: core_mask = %x\n", core_mask); in hda_dsp_core_run()
259 HDA_DSP_ADSPCS_CSTALL_MASK(core_mask), in hda_dsp_core_run()
263 if (!hda_dsp_core_is_enabled(sdev, core_mask)) { in hda_dsp_core_run()
264 hda_dsp_core_stall_reset(sdev, core_mask); in hda_dsp_core_run()
266 core_mask); in hda_dsp_core_run()
278 int hda_dsp_core_power_up(struct snd_sof_dev *sdev, unsigned int core_mask) in hda_dsp_core_power_up() argument
287 core_mask &= chip->host_managed_cores_mask; in hda_dsp_core_power_up()
289 if (!core_mask) in hda_dsp_core_power_up()
294 HDA_DSP_ADSPCS_SPA_MASK(core_mask), in hda_dsp_core_power_up()
295 HDA_DSP_ADSPCS_SPA_MASK(core_mask)); in hda_dsp_core_power_up()
298 cpa = HDA_DSP_ADSPCS_CPA_MASK(core_mask); in hda_dsp_core_power_up()
314 if ((adspcs & HDA_DSP_ADSPCS_CPA_MASK(core_mask)) != in hda_dsp_core_power_up()
315 HDA_DSP_ADSPCS_CPA_MASK(core_mask)) { in hda_dsp_core_power_up()
318 core_mask, adspcs); in hda_dsp_core_power_up()
326 static int hda_dsp_core_power_down(struct snd_sof_dev *sdev, unsigned int core_mask) in hda_dsp_core_power_down() argument
334 HDA_DSP_ADSPCS_SPA_MASK(core_mask), 0); in hda_dsp_core_power_down()
338 !(adspcs & HDA_DSP_ADSPCS_CPA_MASK(core_mask)), in hda_dsp_core_power_down()
349 int hda_dsp_enable_core(struct snd_sof_dev *sdev, unsigned int core_mask) in hda_dsp_enable_core() argument
356 core_mask &= chip->host_managed_cores_mask; in hda_dsp_enable_core()
359 if (!core_mask || hda_dsp_core_is_enabled(sdev, core_mask)) in hda_dsp_enable_core()
363 ret = hda_dsp_core_power_up(sdev, core_mask); in hda_dsp_enable_core()
366 core_mask); in hda_dsp_enable_core()
370 return hda_dsp_core_run(sdev, core_mask); in hda_dsp_enable_core()
375 unsigned int core_mask) in hda_dsp_core_reset_power_down() argument
382 core_mask &= chip->host_managed_cores_mask; in hda_dsp_core_reset_power_down()
385 if (!core_mask) in hda_dsp_core_reset_power_down()
389 ret = hda_dsp_core_stall_reset(sdev, core_mask); in hda_dsp_core_reset_power_down()
392 core_mask); in hda_dsp_core_reset_power_down()
397 ret = hda_dsp_core_power_down(sdev, core_mask); in hda_dsp_core_reset_power_down()
400 core_mask, ret); in hda_dsp_core_reset_power_down()
405 if (hda_dsp_core_is_enabled(sdev, core_mask)) { in hda_dsp_core_reset_power_down()
407 core_mask, ret); in hda_dsp_core_reset_power_down()