Lines Matching refs:core_mask
27 int hda_dsp_core_reset_enter(struct snd_sof_dev *sdev, unsigned int core_mask) in hda_dsp_core_reset_enter() argument
34 reset = HDA_DSP_ADSPCS_CRST_MASK(core_mask); in hda_dsp_core_reset_enter()
49 if ((adspcs & HDA_DSP_ADSPCS_CRST_MASK(core_mask)) != in hda_dsp_core_reset_enter()
50 HDA_DSP_ADSPCS_CRST_MASK(core_mask)) { in hda_dsp_core_reset_enter()
53 core_mask, adspcs); in hda_dsp_core_reset_enter()
60 int hda_dsp_core_reset_leave(struct snd_sof_dev *sdev, unsigned int core_mask) in hda_dsp_core_reset_leave() argument
69 HDA_DSP_ADSPCS_CRST_MASK(core_mask), in hda_dsp_core_reset_leave()
73 crst = HDA_DSP_ADSPCS_CRST_MASK(core_mask); in hda_dsp_core_reset_leave()
83 if ((adspcs & HDA_DSP_ADSPCS_CRST_MASK(core_mask)) != 0) { in hda_dsp_core_reset_leave()
86 core_mask, adspcs); in hda_dsp_core_reset_leave()
93 int hda_dsp_core_stall_reset(struct snd_sof_dev *sdev, unsigned int core_mask) in hda_dsp_core_stall_reset() argument
98 HDA_DSP_ADSPCS_CSTALL_MASK(core_mask), in hda_dsp_core_stall_reset()
99 HDA_DSP_ADSPCS_CSTALL_MASK(core_mask)); in hda_dsp_core_stall_reset()
102 return hda_dsp_core_reset_enter(sdev, core_mask); in hda_dsp_core_stall_reset()
105 int hda_dsp_core_run(struct snd_sof_dev *sdev, unsigned int core_mask) in hda_dsp_core_run() argument
110 ret = hda_dsp_core_reset_leave(sdev, core_mask); in hda_dsp_core_run()
115 dev_dbg(sdev->dev, "unstall/run core: core_mask = %x\n", core_mask); in hda_dsp_core_run()
118 HDA_DSP_ADSPCS_CSTALL_MASK(core_mask), in hda_dsp_core_run()
122 if (!hda_dsp_core_is_enabled(sdev, core_mask)) { in hda_dsp_core_run()
123 hda_dsp_core_stall_reset(sdev, core_mask); in hda_dsp_core_run()
125 core_mask); in hda_dsp_core_run()
136 int hda_dsp_core_power_up(struct snd_sof_dev *sdev, unsigned int core_mask) in hda_dsp_core_power_up() argument
144 HDA_DSP_ADSPCS_SPA_MASK(core_mask), in hda_dsp_core_power_up()
145 HDA_DSP_ADSPCS_SPA_MASK(core_mask)); in hda_dsp_core_power_up()
148 cpa = HDA_DSP_ADSPCS_CPA_MASK(core_mask); in hda_dsp_core_power_up()
160 if ((adspcs & HDA_DSP_ADSPCS_CPA_MASK(core_mask)) != in hda_dsp_core_power_up()
161 HDA_DSP_ADSPCS_CPA_MASK(core_mask)) { in hda_dsp_core_power_up()
164 core_mask, adspcs); in hda_dsp_core_power_up()
171 int hda_dsp_core_power_down(struct snd_sof_dev *sdev, unsigned int core_mask) in hda_dsp_core_power_down() argument
178 HDA_DSP_ADSPCS_SPA_MASK(core_mask), 0); in hda_dsp_core_power_down()
182 !(adspcs & HDA_DSP_ADSPCS_SPA_MASK(core_mask)), in hda_dsp_core_power_down()
188 unsigned int core_mask) in hda_dsp_core_is_enabled() argument
195 is_enable = ((val & HDA_DSP_ADSPCS_CPA_MASK(core_mask)) && in hda_dsp_core_is_enabled()
196 (val & HDA_DSP_ADSPCS_SPA_MASK(core_mask)) && in hda_dsp_core_is_enabled()
197 !(val & HDA_DSP_ADSPCS_CRST_MASK(core_mask)) && in hda_dsp_core_is_enabled()
198 !(val & HDA_DSP_ADSPCS_CSTALL_MASK(core_mask))); in hda_dsp_core_is_enabled()
201 is_enable, core_mask); in hda_dsp_core_is_enabled()
206 int hda_dsp_enable_core(struct snd_sof_dev *sdev, unsigned int core_mask) in hda_dsp_enable_core() argument
211 if (hda_dsp_core_is_enabled(sdev, core_mask)) in hda_dsp_enable_core()
215 ret = hda_dsp_core_power_up(sdev, core_mask); in hda_dsp_enable_core()
218 core_mask); in hda_dsp_enable_core()
222 return hda_dsp_core_run(sdev, core_mask); in hda_dsp_enable_core()
226 unsigned int core_mask) in hda_dsp_core_reset_power_down() argument
231 ret = hda_dsp_core_stall_reset(sdev, core_mask); in hda_dsp_core_reset_power_down()
234 core_mask); in hda_dsp_core_reset_power_down()
239 ret = hda_dsp_core_power_down(sdev, core_mask); in hda_dsp_core_reset_power_down()
242 core_mask, ret); in hda_dsp_core_reset_power_down()
247 if (hda_dsp_core_is_enabled(sdev, core_mask)) { in hda_dsp_core_reset_power_down()
249 core_mask, ret); in hda_dsp_core_reset_power_down()