asoc: codec: Enable RX1 mix path

Enable WSA RX1 mix path to ensure DMA is enabled
properly and data is consumed to drive right channel
using wsa mix path.

Change-Id: I2b0bc92eeaa82734254ceda96de39f20a761dc75
Signed-off-by: sarath varma ganapathiraju <quic_ganavarm@quicinc.com>
This commit is contained in:
sarath varma ganapathiraju
2024-01-30 19:07:37 +05:30
committed by Sarath Varma Ganapathiraju
parent 74ecbee24e
commit 86102f43f6

View File

@@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2018-2021, The Linux Foundation. All rights reserved.
* Copyright (c) 2022-2023, Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2022-2024, Qualcomm Innovation Center, Inc. All rights reserved.
*/
#include <linux/module.h>
@@ -1343,19 +1343,22 @@ static int lpass_cdc_wsa_macro_enable_mix_path(struct snd_soc_dapm_widget *w,
if (!(strcmp(w->name, "WSA_RX0 MIX INP"))) {
gain_reg = LPASS_CDC_WSA_RX0_RX_VOL_MIX_CTL;
reg = LPASS_CDC_WSA_RX0_RX_PATH_CTL +
(LPASS_CDC_WSA_MACRO_RX_PATH_OFFSET * w->shift);
mix_reg = LPASS_CDC_WSA_RX0_RX_PATH_MIX_CTL +
LPASS_CDC_WSA_MACRO_RX_PATH_OFFSET * w->shift;
} else if (!(strcmp(w->name, "WSA_RX1 MIX INP"))) {
gain_reg = LPASS_CDC_WSA_RX1_RX_VOL_MIX_CTL;
reg = LPASS_CDC_WSA_RX1_RX_PATH_CTL +
(LPASS_CDC_WSA_MACRO_RX_PATH_OFFSET * w->shift);
mix_reg = LPASS_CDC_WSA_RX1_RX_PATH_MIX_CTL +
LPASS_CDC_WSA_MACRO_RX_PATH_OFFSET * w->shift;
} else {
dev_err_ratelimited(component->dev, "%s: No gain register avail for %s\n",
__func__, w->name);
return 0;
}
reg = LPASS_CDC_WSA_RX0_RX_PATH_CTL +
(LPASS_CDC_WSA_MACRO_RX_PATH_OFFSET * w->shift);
mix_reg = LPASS_CDC_WSA_RX0_RX_PATH_MIX_CTL +
LPASS_CDC_WSA_MACRO_RX_PATH_OFFSET * w->shift;
switch (event) {
case SND_SOC_DAPM_PRE_PMU:
snd_soc_component_update_bits(component, mix_reg, 0x40, 0x40);