diff --git a/soc/swr-mstr-ctrl.c b/soc/swr-mstr-ctrl.c index 0307a884d8..054e188c2b 100644 --- a/soc/swr-mstr-ctrl.c +++ b/soc/swr-mstr-ctrl.c @@ -1,7 +1,7 @@ // SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2015-2021, The Linux Foundation. All rights reserved. - * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. + * Copyright (c) 2022-2023, Qualcomm Innovation Center, Inc. All rights reserved. */ #include @@ -800,19 +800,9 @@ static int swrm_pcm_port_config(struct swr_mstr_ctrl *swrm, u8 port_num, reg_addr = ((dir) ? SWRM_DIN_DP_PCM_PORT_CTRL(port_num) : \ SWRM_DOUT_DP_PCM_PORT_CTRL(port_num)); reg_val = enable ? 0x3 : 0x0; - if (enable) { - if (swrm->pcm_enable_count == 0) - swr_master_write(swrm, reg_addr, reg_val); - swrm->pcm_enable_count++; - } else { - if (swrm->pcm_enable_count > 0) - swrm->pcm_enable_count--; - if (swrm->pcm_enable_count == 0) - swr_master_write(swrm, reg_addr, reg_val); - } - dev_dbg(swrm->dev, "%s : pcm port %s, reg_val = %d, for addr %x, pcm_enable_cnt:%d\n", - __func__, enable ? "Enabled" : "disabled", reg_val, reg_addr, - swrm->pcm_enable_count); + swr_master_write(swrm, reg_addr, reg_val); + dev_dbg(swrm->dev, "%s : pcm port %s, reg_val = %d, for addr %x\n", + __func__, enable ? "Enabled" : "disabled", reg_val, reg_addr); return 0; } @@ -1710,8 +1700,6 @@ static int swrm_slvdev_datapath_control(struct swr_master *master, bool enable) } clear_bit(DISABLE_PENDING, &swrm->port_req_pending); swrm_cleanup_disabled_port_reqs(master); - /* reset enable_count to 0 in SSR if master is already down */ - swrm->pcm_enable_count = 0; if (!swrm_is_port_en(master)) { dev_dbg(&master->dev, "%s: pm_runtime auto suspend triggered\n", __func__); @@ -2846,7 +2834,7 @@ static int swrm_probe(struct platform_device *pdev) dev_err(swrm->dev, "missing port mapping\n"); goto err_pdata_fail; } - swrm->pcm_enable_count = 0; + map_length = map_size / (3 * sizeof(u32)); if (num_ports > SWR_MSTR_PORT_LEN) { dev_err(&pdev->dev, "%s:invalid number of swr ports\n", diff --git a/soc/swr-mstr-ctrl.h b/soc/swr-mstr-ctrl.h index 577900f5cd..2d133e451e 100644 --- a/soc/swr-mstr-ctrl.h +++ b/soc/swr-mstr-ctrl.h @@ -1,6 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright (c) 2015-2021, The Linux Foundation. All rights reserved. + * Copyright (c) 2023, Qualcomm Innovation Center, Inc. All rights reserved. */ #ifndef _SWR_WCD_CTRL_H @@ -185,7 +186,6 @@ struct swr_mstr_ctrl { struct clk *lpass_core_hw_vote; struct clk *lpass_core_audio; u8 num_usecase; - u32 pcm_enable_count; u32 swr_irq_wakeup_capable; int hw_core_clk_en; int aud_core_clk_en;