Loading asoc/codecs/wcd934x/wcd934x.c +49 −36 Original line number Diff line number Diff line Loading @@ -2377,6 +2377,7 @@ static int tavil_codec_enable_hphr_pa(struct snd_soc_dapm_widget *w, break; case SND_SOC_DAPM_PRE_PMD: tavil_ocp_control(component, false); if (tavil->mbhc) blocking_notifier_call_chain(&tavil->mbhc->notifier, WCD_EVENT_PRE_HPHR_PA_OFF, &tavil->mbhc->wcd_mbhc); Loading Loading @@ -2409,6 +2410,7 @@ static int tavil_codec_enable_hphr_pa(struct snd_soc_dapm_widget *w, else usleep_range(5000, 5100); tavil_codec_override(component, tavil->hph_mode, event); if (tavil->mbhc) blocking_notifier_call_chain(&tavil->mbhc->notifier, WCD_EVENT_POST_HPHR_PA_OFF, &tavil->mbhc->wcd_mbhc); Loading Loading @@ -2554,6 +2556,7 @@ static int tavil_codec_enable_hphl_pa(struct snd_soc_dapm_widget *w, break; case SND_SOC_DAPM_PRE_PMD: tavil_ocp_control(component, false); if (tavil->mbhc) blocking_notifier_call_chain(&tavil->mbhc->notifier, WCD_EVENT_PRE_HPHL_PA_OFF, &tavil->mbhc->wcd_mbhc); Loading Loading @@ -2588,6 +2591,7 @@ static int tavil_codec_enable_hphl_pa(struct snd_soc_dapm_widget *w, else usleep_range(5000, 5100); tavil_codec_override(component, tavil->hph_mode, event); if (tavil->mbhc) blocking_notifier_call_chain(&tavil->mbhc->notifier, WCD_EVENT_POST_HPHL_PA_OFF, &tavil->mbhc->wcd_mbhc); Loading Loading @@ -5436,6 +5440,7 @@ static void tavil_codec_hph_reg_recover(struct tavil_priv *tavil, int i; unsigned int reg; if (tavil->mbhc) blocking_notifier_call_chain(&tavil->mbhc->notifier, WCD_EVENT_OCP_OFF, &tavil->mbhc->wcd_mbhc); Loading Loading @@ -5548,12 +5553,14 @@ static void tavil_codec_hph_reg_recover(struct tavil_priv *tavil, } end: if (tavil->mbhc) { tavil->mbhc->is_hph_recover = true; blocking_notifier_call_chain( &tavil->mbhc->notifier, WCD_EVENT_OCP_ON, &tavil->mbhc->wcd_mbhc); } } static int tavil_codec_reset_hph_registers(struct snd_soc_dapm_widget *w, struct snd_kcontrol *kcontrol, Loading Loading @@ -5596,6 +5603,7 @@ static int tavil_codec_reset_hph_registers(struct snd_soc_dapm_widget *w, } else { dev_dbg(component->dev, "%s: cache and hw reg are same\n", __func__); if (tavil->mbhc) tavil->mbhc->is_hph_recover = false; } break; Loading Loading @@ -10292,6 +10300,7 @@ static int tavil_device_down(struct wcd9xxx *wcd9xxx) priv->dai[count].bus_down_in_recovery = true; snd_event_notify(priv->dev->parent, SND_EVENT_DOWN); if (priv->mbhc) priv->mbhc->wcd_mbhc.deinit_in_progress = true; if (delayed_work_pending(&priv->spk_anc_dwork.dwork)) cancel_delayed_work(&priv->spk_anc_dwork.dwork); Loading @@ -10307,12 +10316,15 @@ static int tavil_device_down(struct wcd9xxx *wcd9xxx) } if (delayed_work_pending(&priv->power_gate_work)) cancel_delayed_work_sync(&priv->power_gate_work); if (priv->mbhc) { if (delayed_work_pending(&priv->mbhc->wcd_mbhc.mbhc_btn_dwork)) { ret = cancel_delayed_work(&priv->mbhc->wcd_mbhc.mbhc_btn_dwork); ret = cancel_delayed_work( &priv->mbhc->wcd_mbhc.mbhc_btn_dwork); if (ret) priv->mbhc->wcd_mbhc.mbhc_cb->lock_sleep (&priv->mbhc->wcd_mbhc, false); } } if (priv->swr.ctrl_data) { if (is_snd_event_fwk_enabled()) Loading Loading @@ -10397,6 +10409,7 @@ static int tavil_post_reset_cb(struct wcd9xxx *wcd9xxx) dev_err(component->dev, "%s: invalid pdata\n", __func__); /* Initialize MBHC module */ if (tavil->mbhc) { mbhc = &tavil->mbhc->wcd_mbhc; ret = tavil_mbhc_post_ssr_init(tavil->mbhc, component); if (ret) { Loading @@ -10406,7 +10419,7 @@ static int tavil_post_reset_cb(struct wcd9xxx *wcd9xxx) } else { tavil_mbhc_hs_detect(component, mbhc->mbhc_cfg); } } /* DSD initialization */ ret = tavil_dsd_post_ssr_init(tavil->dsd_config); if (ret) Loading Loading
asoc/codecs/wcd934x/wcd934x.c +49 −36 Original line number Diff line number Diff line Loading @@ -2377,6 +2377,7 @@ static int tavil_codec_enable_hphr_pa(struct snd_soc_dapm_widget *w, break; case SND_SOC_DAPM_PRE_PMD: tavil_ocp_control(component, false); if (tavil->mbhc) blocking_notifier_call_chain(&tavil->mbhc->notifier, WCD_EVENT_PRE_HPHR_PA_OFF, &tavil->mbhc->wcd_mbhc); Loading Loading @@ -2409,6 +2410,7 @@ static int tavil_codec_enable_hphr_pa(struct snd_soc_dapm_widget *w, else usleep_range(5000, 5100); tavil_codec_override(component, tavil->hph_mode, event); if (tavil->mbhc) blocking_notifier_call_chain(&tavil->mbhc->notifier, WCD_EVENT_POST_HPHR_PA_OFF, &tavil->mbhc->wcd_mbhc); Loading Loading @@ -2554,6 +2556,7 @@ static int tavil_codec_enable_hphl_pa(struct snd_soc_dapm_widget *w, break; case SND_SOC_DAPM_PRE_PMD: tavil_ocp_control(component, false); if (tavil->mbhc) blocking_notifier_call_chain(&tavil->mbhc->notifier, WCD_EVENT_PRE_HPHL_PA_OFF, &tavil->mbhc->wcd_mbhc); Loading Loading @@ -2588,6 +2591,7 @@ static int tavil_codec_enable_hphl_pa(struct snd_soc_dapm_widget *w, else usleep_range(5000, 5100); tavil_codec_override(component, tavil->hph_mode, event); if (tavil->mbhc) blocking_notifier_call_chain(&tavil->mbhc->notifier, WCD_EVENT_POST_HPHL_PA_OFF, &tavil->mbhc->wcd_mbhc); Loading Loading @@ -5436,6 +5440,7 @@ static void tavil_codec_hph_reg_recover(struct tavil_priv *tavil, int i; unsigned int reg; if (tavil->mbhc) blocking_notifier_call_chain(&tavil->mbhc->notifier, WCD_EVENT_OCP_OFF, &tavil->mbhc->wcd_mbhc); Loading Loading @@ -5548,12 +5553,14 @@ static void tavil_codec_hph_reg_recover(struct tavil_priv *tavil, } end: if (tavil->mbhc) { tavil->mbhc->is_hph_recover = true; blocking_notifier_call_chain( &tavil->mbhc->notifier, WCD_EVENT_OCP_ON, &tavil->mbhc->wcd_mbhc); } } static int tavil_codec_reset_hph_registers(struct snd_soc_dapm_widget *w, struct snd_kcontrol *kcontrol, Loading Loading @@ -5596,6 +5603,7 @@ static int tavil_codec_reset_hph_registers(struct snd_soc_dapm_widget *w, } else { dev_dbg(component->dev, "%s: cache and hw reg are same\n", __func__); if (tavil->mbhc) tavil->mbhc->is_hph_recover = false; } break; Loading Loading @@ -10292,6 +10300,7 @@ static int tavil_device_down(struct wcd9xxx *wcd9xxx) priv->dai[count].bus_down_in_recovery = true; snd_event_notify(priv->dev->parent, SND_EVENT_DOWN); if (priv->mbhc) priv->mbhc->wcd_mbhc.deinit_in_progress = true; if (delayed_work_pending(&priv->spk_anc_dwork.dwork)) cancel_delayed_work(&priv->spk_anc_dwork.dwork); Loading @@ -10307,12 +10316,15 @@ static int tavil_device_down(struct wcd9xxx *wcd9xxx) } if (delayed_work_pending(&priv->power_gate_work)) cancel_delayed_work_sync(&priv->power_gate_work); if (priv->mbhc) { if (delayed_work_pending(&priv->mbhc->wcd_mbhc.mbhc_btn_dwork)) { ret = cancel_delayed_work(&priv->mbhc->wcd_mbhc.mbhc_btn_dwork); ret = cancel_delayed_work( &priv->mbhc->wcd_mbhc.mbhc_btn_dwork); if (ret) priv->mbhc->wcd_mbhc.mbhc_cb->lock_sleep (&priv->mbhc->wcd_mbhc, false); } } if (priv->swr.ctrl_data) { if (is_snd_event_fwk_enabled()) Loading Loading @@ -10397,6 +10409,7 @@ static int tavil_post_reset_cb(struct wcd9xxx *wcd9xxx) dev_err(component->dev, "%s: invalid pdata\n", __func__); /* Initialize MBHC module */ if (tavil->mbhc) { mbhc = &tavil->mbhc->wcd_mbhc; ret = tavil_mbhc_post_ssr_init(tavil->mbhc, component); if (ret) { Loading @@ -10406,7 +10419,7 @@ static int tavil_post_reset_cb(struct wcd9xxx *wcd9xxx) } else { tavil_mbhc_hs_detect(component, mbhc->mbhc_cfg); } } /* DSD initialization */ ret = tavil_dsd_post_ssr_init(tavil->dsd_config); if (ret) Loading