diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-08-23 17:45:14 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-08-23 17:45:14 +0000 |
commit | a60de255f0ae38c9a41e3c83a59eebcde3949fa4 (patch) | |
tree | bf9bf008362010124ea7573ec82c661905a87ff0 | |
parent | d4a5d0d2139a70d32315f2161bc98f0e2b233887 (diff) | |
parent | 0889dd30bd0f647ad07b1c9701628bac597b032a (diff) | |
download | msm-extra-android-msm-eos-5.15-tm-wear-kr3-pixel-watch.tar.gz |
Merge cherrypicks of ['partner-android-review.googlesource.com/2592698'] into android13-msm-pixelwatch-5.15-eos-release.android-wear-13.0.0_r0.8android-wear-13.0.0_r0.6android-wear-13.0.0_r0.4android-wear-13.0.0_r0.12android-wear-13.0.0_r0.10android-msm-eos-android13-wear-kr3-pixel-watchandroid-msm-eos-5.15-tm-wear-kr3-pixel-watch
Change-Id: I7f7eb1db051180144da7e185b6c71e04fa842518
-rw-r--r-- | asoc/codecs/bolero/rx-macro.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/asoc/codecs/bolero/rx-macro.c b/asoc/codecs/bolero/rx-macro.c index c65ba5ab..2465b34c 100644 --- a/asoc/codecs/bolero/rx-macro.c +++ b/asoc/codecs/bolero/rx-macro.c @@ -3764,6 +3764,8 @@ static int rx_swrm_clock(void *handle, bool enable) struct rx_macro_priv *rx_priv = (struct rx_macro_priv *) handle; struct regmap *regmap = dev_get_regmap(rx_priv->dev->parent, NULL); int ret = 0; + int pm_suspend_ret; + int usage_count; if (regmap == NULL) { dev_err(rx_priv->dev, "%s: regmap is NULL\n", __func__); @@ -3838,6 +3840,20 @@ static int rx_swrm_clock(void *handle, bool enable) __func__); goto exit; } + + // By adding a synchronous call to pm_runtime_suspend() here, + // swr_mstr_interrupt() now explicitly turns off the clock rather + // than relying on autosuspend. + pm_suspend_ret = pm_runtime_suspend(rx_priv->dev); + if (pm_suspend_ret < 0) { + usage_count = atomic_read(&rx_priv->dev->power.usage_count); + trace_printk( + "%s: pm_runtime_suspend returned %d, usage_count %d\n", + __func__, pm_suspend_ret, usage_count); + dev_err(rx_priv->dev, + "%s: pm_runtime_suspend returned %d, usage_count %d\n", + __func__, pm_suspend_ret, usage_count); + } } } trace_printk("%s: swrm clock users %d\n", |