OSDN Git Service

ASoC: wcd9335: use power efficient workingqueues
authorJulian Liu <wlootlxt123@gmail.com>
Sun, 27 Oct 2019 14:21:36 +0000 (22:21 +0800)
committer0ranko0P <ranko0p@outlook.com>
Tue, 24 Dec 2019 20:42:44 +0000 (04:42 +0800)
sound/soc/codecs/wcd9335.c

index 797d488..00d67fa 100644 (file)
@@ -4357,7 +4357,7 @@ static int tasha_codec_enable_spk_anc(struct snd_soc_dapm_widget *w,
        switch (event) {
        case SND_SOC_DAPM_PRE_PMU:
                ret = tasha_codec_enable_anc(w, kcontrol, event);
-               schedule_delayed_work(&tasha->spk_anc_dwork.dwork,
+               queue_delayed_work(system_power_efficient_wq, &tasha->spk_anc_dwork.dwork,
                                      msecs_to_jiffies(spk_anc_en_delay));
                break;
        case SND_SOC_DAPM_POST_PMD:
@@ -5962,11 +5962,11 @@ static int tasha_codec_enable_dec(struct snd_soc_dapm_widget *w,
                        snd_soc_write(codec, WCD9335_MBHC_ZDET_RAMP_CTL, 0x03);
                }
                /* schedule work queue to Remove Mute */
-               schedule_delayed_work(&tasha->tx_mute_dwork[decimator].dwork,
+               queue_delayed_work(system_power_efficient_wq, &tasha->tx_mute_dwork[decimator].dwork,
                                      msecs_to_jiffies(tx_unmute_delay));
                if (tasha->tx_hpf_work[decimator].hpf_cut_off_freq !=
                                                        CF_MIN_3DB_150HZ)
-                       schedule_delayed_work(
+                       queue_delayed_work(system_power_efficient_wq, 
                                        &tasha->tx_hpf_work[decimator].dwork,
                                        msecs_to_jiffies(300));
                /* apply gain after decimator is enabled */
@@ -12161,7 +12161,7 @@ static int tasha_dig_core_power_collapse(struct tasha_priv *tasha,
 
        if (req_state == POWER_COLLAPSE) {
                if (tasha->power_active_ref == 0) {
-                       schedule_delayed_work(&tasha->power_gate_work,
+                       queue_delayed_work(system_power_efficient_wq, &tasha->power_gate_work,
                        msecs_to_jiffies(dig_core_collapse_timer * 1000));
                }
        } else if (req_state == POWER_RESUME) {