diff options
-rw-r--r-- | sound/soc/intel/skylake/skl-sst-dsp.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/sound/soc/intel/skylake/skl-sst-dsp.c b/sound/soc/intel/skylake/skl-sst-dsp.c index 37b1d24a9a9d..33c45aa53532 100644 --- a/sound/soc/intel/skylake/skl-sst-dsp.c +++ b/sound/soc/intel/skylake/skl-sst-dsp.c | |||
@@ -106,9 +106,9 @@ static bool is_skl_dsp_core_enable(struct sst_dsp *ctx) | |||
106 | static int skl_dsp_reset_core(struct sst_dsp *ctx) | 106 | static int skl_dsp_reset_core(struct sst_dsp *ctx) |
107 | { | 107 | { |
108 | /* stall core */ | 108 | /* stall core */ |
109 | sst_dsp_shim_write_unlocked(ctx, SKL_ADSP_REG_ADSPCS, | 109 | sst_dsp_shim_update_bits_unlocked(ctx, SKL_ADSP_REG_ADSPCS, |
110 | sst_dsp_shim_read_unlocked(ctx, SKL_ADSP_REG_ADSPCS) & | 110 | SKL_ADSPCS_CSTALL_MASK, |
111 | SKL_ADSPCS_CSTALL(SKL_DSP_CORES_MASK)); | 111 | SKL_ADSPCS_CSTALL(SKL_DSP_CORES_MASK)); |
112 | 112 | ||
113 | /* set reset state */ | 113 | /* set reset state */ |
114 | return skl_dsp_core_set_reset_state(ctx); | 114 | return skl_dsp_core_set_reset_state(ctx); |
@@ -127,9 +127,8 @@ int skl_dsp_start_core(struct sst_dsp *ctx) | |||
127 | 127 | ||
128 | /* run core */ | 128 | /* run core */ |
129 | dev_dbg(ctx->dev, "run core...\n"); | 129 | dev_dbg(ctx->dev, "run core...\n"); |
130 | sst_dsp_shim_write_unlocked(ctx, SKL_ADSP_REG_ADSPCS, | 130 | sst_dsp_shim_update_bits_unlocked(ctx, SKL_ADSP_REG_ADSPCS, |
131 | sst_dsp_shim_read_unlocked(ctx, SKL_ADSP_REG_ADSPCS) & | 131 | SKL_ADSPCS_CSTALL_MASK, 0); |
132 | ~SKL_ADSPCS_CSTALL(SKL_DSP_CORES_MASK)); | ||
133 | 132 | ||
134 | if (!is_skl_dsp_core_enable(ctx)) { | 133 | if (!is_skl_dsp_core_enable(ctx)) { |
135 | skl_dsp_reset_core(ctx); | 134 | skl_dsp_reset_core(ctx); |