asoc: lpass-cdc: Update core voting before gfmux access

GFMUX access in va clock supported in lpass-cdc v2p5
onwards. Ensure add core voting before access.

Change-Id: I36c8db86a2e7f265ab293dd6cd1f1ee3ac7722a5
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
This commit is contained in:
Laxminath Kasam
2021-04-27 16:02:45 +05:30
committed by Gerrit - the friendly Code Review server
parent 43c99c7f0a
commit 5a96e4bc5b
4 changed files with 60 additions and 32 deletions

View File

@@ -1352,7 +1352,13 @@ static int lpass_cdc_rx_macro_mclk_enable(
if (rx_priv->rx_mclk_users == 0) {
if (rx_priv->is_native_on)
rx_priv->clk_id = RX_CORE_CLK;
lpass_cdc_rx_macro_core_vote(rx_priv, true);
ret = lpass_cdc_rx_macro_core_vote(rx_priv, true);
if (ret < 0) {
dev_err(rx_priv->dev,
"%s: rx request core vote failed\n",
__func__);
goto exit;
}
ret = lpass_cdc_clk_rsc_request_clock(rx_priv->dev,
rx_priv->default_clk_id,
rx_priv->clk_id,
@@ -1407,7 +1413,13 @@ static int lpass_cdc_rx_macro_mclk_enable(
0x01, 0x00);
lpass_cdc_clk_rsc_fs_gen_request(rx_priv->dev,
false);
lpass_cdc_rx_macro_core_vote(rx_priv, true);
ret = lpass_cdc_rx_macro_core_vote(rx_priv, true);
if (ret < 0) {
dev_err(rx_priv->dev,
"%s: rx request core vote failed\n",
__func__);
goto exit;
}
lpass_cdc_clk_rsc_request_clock(rx_priv->dev,
rx_priv->default_clk_id,
rx_priv->clk_id,
@@ -1522,7 +1534,13 @@ static int lpass_cdc_rx_macro_event_handler(struct snd_soc_component *component,
}
break;
case LPASS_CDC_MACRO_EVT_PRE_SSR_UP:
lpass_cdc_rx_macro_core_vote(rx_priv, true);
ret = lpass_cdc_rx_macro_core_vote(rx_priv, true);
if (ret < 0) {
dev_err(rx_priv->dev,
"%s: rx request core vote failed\n",
__func__);
break;
}
/* enable&disable RX_CORE_CLK to reset GFMUX reg */
ret = lpass_cdc_clk_rsc_request_clock(rx_priv->dev,
rx_priv->default_clk_id,