]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - sound/soc/codecs/wm_adsp.c
Merge remote-tracking branches 'asoc/topic/arizona', 'asoc/topic/atmel', 'asoc/topic...
[karo-tx-linux.git] / sound / soc / codecs / wm_adsp.c
index f6eb2e5b2c077df2c7e754389fe5bcae3308b7d3..21fbe7d070635dd7235a53bdd25db4c472eb3cc8 100644 (file)
@@ -394,6 +394,7 @@ static const struct {
        int compr_direction;
        int num_caps;
        const struct wm_adsp_fw_caps *caps;
+       bool voice_trigger;
 } wm_adsp_fw[WM_ADSP_NUM_FW] = {
        [WM_ADSP_FW_MBC_VSS] =  { .file = "mbc-vss" },
        [WM_ADSP_FW_HIFI] =     { .file = "hifi" },
@@ -406,6 +407,7 @@ static const struct {
                .compr_direction = SND_COMPRESS_CAPTURE,
                .num_caps = ARRAY_SIZE(ctrl_caps),
                .caps = ctrl_caps,
+               .voice_trigger = true,
        },
        [WM_ADSP_FW_ASR] =      { .file = "asr" },
        [WM_ADSP_FW_TRACE] =    {
@@ -3000,6 +3002,9 @@ int wm_adsp_compr_handle_irq(struct wm_adsp *dsp)
                goto out;
        }
 
+       if (wm_adsp_fw[dsp->fw].voice_trigger && buf->irq_count == 2)
+               ret = WM_ADSP_COMPR_VOICE_TRIGGER;
+
 out_notify:
        if (compr && compr->stream)
                snd_compr_fragment_elapsed(compr->stream);