Merge remote-tracking branches 'asoc/topic/adav80x', 'asoc/topic/adsp', 'asoc/topic...
[deliverable/linux.git] / sound / soc / codecs / wm_adsp.c
index 6a2a03570977c36fa68a937cee9a94683759121e..720d6e852986c3e7c6b0b1128876b7c4c4fa4ffb 100644 (file)
@@ -1353,6 +1353,7 @@ static int wm_adsp_load_coeff(struct wm_adsp *dsp)
                          file, blocks, pos - firmware->size);
 
 out_fw:
+       regmap_async_complete(regmap);
        release_firmware(firmware);
        wm_adsp_buf_free(&buf_list);
 out:
@@ -1592,13 +1593,6 @@ static void wm_adsp2_boot_work(struct work_struct *work)
        if (ret != 0)
                goto err;
 
-       ret = regmap_update_bits_async(dsp->regmap,
-                                      dsp->base + ADSP2_CONTROL,
-                                      ADSP2_CORE_ENA,
-                                      ADSP2_CORE_ENA);
-       if (ret != 0)
-               goto err;
-
        dsp->running = true;
 
        return;
@@ -1648,8 +1642,8 @@ int wm_adsp2_event(struct snd_soc_dapm_widget *w,
 
                ret = regmap_update_bits(dsp->regmap,
                                         dsp->base + ADSP2_CONTROL,
-                                        ADSP2_START,
-                                        ADSP2_START);
+                                        ADSP2_CORE_ENA | ADSP2_START,
+                                        ADSP2_CORE_ENA | ADSP2_START);
                if (ret != 0)
                        goto err;
                break;
This page took 0.027605 seconds and 5 git commands to generate.