Lines Matching refs:core_mask

39 static int hda_dsp_core_reset_enter(struct snd_sof_dev *sdev, unsigned int core_mask)  in hda_dsp_core_reset_enter()  argument
46 reset = HDA_DSP_ADSPCS_CRST_MASK(core_mask); in hda_dsp_core_reset_enter()
67 if ((adspcs & HDA_DSP_ADSPCS_CRST_MASK(core_mask)) != in hda_dsp_core_reset_enter()
68 HDA_DSP_ADSPCS_CRST_MASK(core_mask)) { in hda_dsp_core_reset_enter()
71 core_mask, adspcs); in hda_dsp_core_reset_enter()
78 static int hda_dsp_core_reset_leave(struct snd_sof_dev *sdev, unsigned int core_mask) in hda_dsp_core_reset_leave() argument
87 HDA_DSP_ADSPCS_CRST_MASK(core_mask), in hda_dsp_core_reset_leave()
91 crst = HDA_DSP_ADSPCS_CRST_MASK(core_mask); in hda_dsp_core_reset_leave()
108 if ((adspcs & HDA_DSP_ADSPCS_CRST_MASK(core_mask)) != 0) { in hda_dsp_core_reset_leave()
111 core_mask, adspcs); in hda_dsp_core_reset_leave()
118 int hda_dsp_core_stall_reset(struct snd_sof_dev *sdev, unsigned int core_mask) in hda_dsp_core_stall_reset() argument
123 HDA_DSP_ADSPCS_CSTALL_MASK(core_mask), in hda_dsp_core_stall_reset()
124 HDA_DSP_ADSPCS_CSTALL_MASK(core_mask)); in hda_dsp_core_stall_reset()
127 return hda_dsp_core_reset_enter(sdev, core_mask); in hda_dsp_core_stall_reset()
130 bool hda_dsp_core_is_enabled(struct snd_sof_dev *sdev, unsigned int core_mask) in hda_dsp_core_is_enabled() argument
142 is_enable = MASK_IS_EQUAL(val, core_mask, HDA_DSP_ADSPCS_CPA_MASK) && in hda_dsp_core_is_enabled()
143 MASK_IS_EQUAL(val, core_mask, HDA_DSP_ADSPCS_SPA_MASK) && in hda_dsp_core_is_enabled()
144 !(val & HDA_DSP_ADSPCS_CRST_MASK(core_mask)) && in hda_dsp_core_is_enabled()
145 !(val & HDA_DSP_ADSPCS_CSTALL_MASK(core_mask)); in hda_dsp_core_is_enabled()
150 is_enable, core_mask); in hda_dsp_core_is_enabled()
155 int hda_dsp_core_run(struct snd_sof_dev *sdev, unsigned int core_mask) in hda_dsp_core_run() argument
160 ret = hda_dsp_core_reset_leave(sdev, core_mask); in hda_dsp_core_run()
165 dev_dbg(sdev->dev, "unstall/run core: core_mask = %x\n", core_mask); in hda_dsp_core_run()
168 HDA_DSP_ADSPCS_CSTALL_MASK(core_mask), in hda_dsp_core_run()
172 if (!hda_dsp_core_is_enabled(sdev, core_mask)) { in hda_dsp_core_run()
173 hda_dsp_core_stall_reset(sdev, core_mask); in hda_dsp_core_run()
175 core_mask); in hda_dsp_core_run()
186 int hda_dsp_core_power_up(struct snd_sof_dev *sdev, unsigned int core_mask) in hda_dsp_core_power_up() argument
195 core_mask &= chip->host_managed_cores_mask; in hda_dsp_core_power_up()
197 if (!core_mask) in hda_dsp_core_power_up()
202 HDA_DSP_ADSPCS_SPA_MASK(core_mask), in hda_dsp_core_power_up()
203 HDA_DSP_ADSPCS_SPA_MASK(core_mask)); in hda_dsp_core_power_up()
206 cpa = HDA_DSP_ADSPCS_CPA_MASK(core_mask); in hda_dsp_core_power_up()
222 if ((adspcs & HDA_DSP_ADSPCS_CPA_MASK(core_mask)) != in hda_dsp_core_power_up()
223 HDA_DSP_ADSPCS_CPA_MASK(core_mask)) { in hda_dsp_core_power_up()
226 core_mask, adspcs); in hda_dsp_core_power_up()
233 static int hda_dsp_core_power_down(struct snd_sof_dev *sdev, unsigned int core_mask) in hda_dsp_core_power_down() argument
241 HDA_DSP_ADSPCS_SPA_MASK(core_mask), 0); in hda_dsp_core_power_down()
245 !(adspcs & HDA_DSP_ADSPCS_CPA_MASK(core_mask)), in hda_dsp_core_power_down()
256 int hda_dsp_enable_core(struct snd_sof_dev *sdev, unsigned int core_mask) in hda_dsp_enable_core() argument
263 core_mask &= chip->host_managed_cores_mask; in hda_dsp_enable_core()
266 if (!core_mask || hda_dsp_core_is_enabled(sdev, core_mask)) in hda_dsp_enable_core()
270 ret = hda_dsp_core_power_up(sdev, core_mask); in hda_dsp_enable_core()
273 core_mask); in hda_dsp_enable_core()
277 return hda_dsp_core_run(sdev, core_mask); in hda_dsp_enable_core()
281 unsigned int core_mask) in hda_dsp_core_reset_power_down() argument
288 core_mask &= chip->host_managed_cores_mask; in hda_dsp_core_reset_power_down()
291 if (!core_mask) in hda_dsp_core_reset_power_down()
295 ret = hda_dsp_core_stall_reset(sdev, core_mask); in hda_dsp_core_reset_power_down()
298 core_mask); in hda_dsp_core_reset_power_down()
303 ret = hda_dsp_core_power_down(sdev, core_mask); in hda_dsp_core_reset_power_down()
306 core_mask, ret); in hda_dsp_core_reset_power_down()
311 if (hda_dsp_core_is_enabled(sdev, core_mask)) { in hda_dsp_core_reset_power_down()
313 core_mask, ret); in hda_dsp_core_reset_power_down()