Lines Matching refs:core_mask
35 cnl_dsp_core_set_reset_state(struct sst_dsp *ctx, unsigned int core_mask) in cnl_dsp_core_set_reset_state() argument
39 CNL_ADSP_REG_ADSPCS, CNL_ADSPCS_CRST(core_mask), in cnl_dsp_core_set_reset_state()
40 CNL_ADSPCS_CRST(core_mask)); in cnl_dsp_core_set_reset_state()
45 CNL_ADSPCS_CRST(core_mask), in cnl_dsp_core_set_reset_state()
46 CNL_ADSPCS_CRST(core_mask), in cnl_dsp_core_set_reset_state()
52 cnl_dsp_core_unset_reset_state(struct sst_dsp *ctx, unsigned int core_mask) in cnl_dsp_core_unset_reset_state() argument
56 CNL_ADSPCS_CRST(core_mask), 0); in cnl_dsp_core_unset_reset_state()
61 CNL_ADSPCS_CRST(core_mask), in cnl_dsp_core_unset_reset_state()
67 static bool is_cnl_dsp_core_enable(struct sst_dsp *ctx, unsigned int core_mask) in is_cnl_dsp_core_enable() argument
74 is_enable = (val & CNL_ADSPCS_CPA(core_mask)) && in is_cnl_dsp_core_enable()
75 (val & CNL_ADSPCS_SPA(core_mask)) && in is_cnl_dsp_core_enable()
76 !(val & CNL_ADSPCS_CRST(core_mask)) && in is_cnl_dsp_core_enable()
77 !(val & CNL_ADSPCS_CSTALL(core_mask)); in is_cnl_dsp_core_enable()
80 is_enable, core_mask); in is_cnl_dsp_core_enable()
85 static int cnl_dsp_reset_core(struct sst_dsp *ctx, unsigned int core_mask) in cnl_dsp_reset_core() argument
89 CNL_ADSPCS_CSTALL(core_mask), in cnl_dsp_reset_core()
90 CNL_ADSPCS_CSTALL(core_mask)); in cnl_dsp_reset_core()
93 return cnl_dsp_core_set_reset_state(ctx, core_mask); in cnl_dsp_reset_core()
96 static int cnl_dsp_start_core(struct sst_dsp *ctx, unsigned int core_mask) in cnl_dsp_start_core() argument
101 ret = cnl_dsp_core_unset_reset_state(ctx, core_mask); in cnl_dsp_start_core()
107 CNL_ADSPCS_CSTALL(core_mask), 0); in cnl_dsp_start_core()
109 if (!is_cnl_dsp_core_enable(ctx, core_mask)) { in cnl_dsp_start_core()
110 cnl_dsp_reset_core(ctx, core_mask); in cnl_dsp_start_core()
112 core_mask); in cnl_dsp_start_core()
119 static int cnl_dsp_core_power_up(struct sst_dsp *ctx, unsigned int core_mask) in cnl_dsp_core_power_up() argument
123 CNL_ADSPCS_SPA(core_mask), in cnl_dsp_core_power_up()
124 CNL_ADSPCS_SPA(core_mask)); in cnl_dsp_core_power_up()
128 CNL_ADSPCS_CPA(core_mask), in cnl_dsp_core_power_up()
129 CNL_ADSPCS_CPA(core_mask), in cnl_dsp_core_power_up()
134 static int cnl_dsp_core_power_down(struct sst_dsp *ctx, unsigned int core_mask) in cnl_dsp_core_power_down() argument
138 CNL_ADSPCS_SPA(core_mask), 0); in cnl_dsp_core_power_down()
143 CNL_ADSPCS_CPA(core_mask), in cnl_dsp_core_power_down()
149 int cnl_dsp_enable_core(struct sst_dsp *ctx, unsigned int core_mask) in cnl_dsp_enable_core() argument
154 ret = cnl_dsp_core_power_up(ctx, core_mask); in cnl_dsp_enable_core()
157 core_mask); in cnl_dsp_enable_core()
161 return cnl_dsp_start_core(ctx, core_mask); in cnl_dsp_enable_core()
164 int cnl_dsp_disable_core(struct sst_dsp *ctx, unsigned int core_mask) in cnl_dsp_disable_core() argument
168 ret = cnl_dsp_reset_core(ctx, core_mask); in cnl_dsp_disable_core()
171 core_mask); in cnl_dsp_disable_core()
176 ret = cnl_dsp_core_power_down(ctx, core_mask); in cnl_dsp_disable_core()
179 core_mask); in cnl_dsp_disable_core()
183 if (is_cnl_dsp_core_enable(ctx, core_mask)) { in cnl_dsp_disable_core()
185 core_mask); in cnl_dsp_disable_core()