asoc: lpass-cdc: Update compander zone settings for macros

Update compander settings table to calculate based on
upper gain and lower gain.

Change-Id: Ib423f3c14c900c0df03bc8fcab2df0f62fb614f1
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
This commit is contained in:
Laxminath Kasam
2020-12-18 12:39:16 +05:30
parent 1469dc6bf6
commit 96d934a968
5 changed files with 121 additions and 37 deletions

View File

@@ -123,17 +123,17 @@ enum {
WSA2_MODE_MAX
};
static u8 comp_setting_table[WSA2_MODE_MAX][COMP_MAX_SETTING] =
static struct lpass_cdc_comp_setting comp_setting_table[WSA2_MODE_MAX] =
{
{0x00, 0x10, 0x06, 0x18, 0x24, 0x2A, 0x2A, 0x2A, 0x00, 0x2A, 0x2A, 0xB0}, /* WSA2_MODE_21DB */
{0x00, 0x10, 0x06, 0x18, 0x24, 0x2A, 0x2A, 0x2A, 0xFD, 0x2A, 0x2A, 0xB0}, /* WSA2_MODE_19PDB -1.5DB*/
{0x00, 0x10, 0x06, 0x12, 0x1E, 0x24, 0x24, 0x24, 0xFA, 0x24, 0x2A, 0xB0}, /* WSA2_MODE_18DB -3DB*/
{0x00, 0x10, 0x06, 0x0C, 0x18, 0x21, 0x21, 0x21, 0xFA, 0x21, 0x2A, 0xB0}, /* WSA2_MODE_16P5DB -3DB*/
{0x00, 0x10, 0x06, 0x0C, 0x18, 0x21, 0x21, 0x21, 0xFA, 0x21, 0x2A, 0xB0}, /* WSA2_MODE_15DB -3DB -->TODO: NEED UPDATE ENTRIES */
{0x00, 0x10, 0x06, 0x12, 0x1B, 0x1B, 0x1B, 0x1B, 0xFA, 0x1B, 0x2A, 0xB0}, /* WSA2_MODE_13P5DB -3DB */
{0x00, 0x10, 0x06, 0x12, 0x18, 0x18, 0x18, 0x18, 0xFA, 0x18, 0x2A, 0xB0}, /* WSA2_MODE_12DB -3DB */
{0x00, 0x10, 0x06, 0x12, 0x18, 0x18, 0x18, 0x18, 0xFA, 0x18, 0x2A, 0xB0}, /* WSA2_MODE_10P5DB -3DB --> NEED Update entries */
{0x00, 0x10, 0x06, 0x12, 0x18, 0x18, 0x18, 0x18, 0xFA, 0x18, 0x2A, 0xB0}, /* WSA2_MODE_9DB -3DB --> NEED Update entries */
{42, 0, 42},
{39, 0, 42},
{36, 0, 42},
{33, 0, 42},
{30, 0, 42},
{27, 0, 42},
{24, 0, 42},
{21, 0, 42},
{18, 0, 42},
};
struct interp_sample_rate {
@@ -1266,7 +1266,7 @@ static int lpass_cdc_wsa2_macro_config_compander(struct snd_soc_component *compo
if (SND_SOC_DAPM_EVENT_ON(event)) {
lpass_cdc_update_compander_setting(component,
comp_ctl8_reg,
comp_setting_table[mode]);
&comp_setting_table[mode]);
/* Enable Compander Clock */
snd_soc_component_update_bits(component, comp_ctl0_reg,
0x01, 0x01);