ASoC: cs35l41: Make Stream Arbiter highest priority

Workaround for race conditions due to
shutdown sequence.

Mot-Crs-fixed:(CR)

Change-Id: I306ddd7a0fb39302132d134e67ee8b5b0a900e40
Signed-off-by: David Rhodes <david.rhodes@cirrus.com>
Reviewed-on: https://gerrit.mot.com/1253046
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Guobin Zhang <zhanggb@motorola.com>
Submit-Approved: Jira Key
Reviewed-on: https://gerrit.mot.com/1253076
Reviewed-by: Rav(CR) Vembu <raviv@motorola.com>
Reviewed-by: Yuesheng Huang <huangys@motorola.com>
This commit is contained in:
David Rhodes 2018-08-15 10:23:24 -05:00 • committed by Yuesheng Huang
commit 56f9ee3a80

View file

@ -1741,6 +1741,18 @@ static const struct reg_sequence cs35l41_reva0_errata_patch[] = {
{0x00000054, 0x00000004},
{CS35L41_IRQ1_DB3, 0x00000000},
{CS35L41_IRQ2_DB3, 0x00000000},
{CS35L41_DSP1_YM_ACCEL_PL0_PRI, 0x00000000},
{CS35L41_DSP1_XM_ACCEL_PL0_PRI, 0x00000000},
{0x00000040, 0x0000CCCC},
{0x00000040, 0x00003333},
};
static const struct reg_sequence cs35l41_revb0_errata_patch[] = {
{0x00000040, 0x00005555},
{0x00000040, 0x0000AAAA},
{CS35L41_BSTCVRT_DCM_CTRL, 0x00000051},
{CS35L41_DSP1_YM_ACCEL_PL0_PRI, 0x00000000},
{CS35L41_DSP1_XM_ACCEL_PL0_PRI, 0x00000000},
{0x00000040, 0x0000CCCC},
{0x00000040, 0x00003333},
};
@ -1925,7 +1937,14 @@ int cs35l41_probe(struct cs35l41_private *cs35l41,
}
break;
case CS35L41_REVID_B0:
regmap_write(cs35l41->regmap, CS35L41_BSTCVRT_DCM_CTRL, 0x51);
ret = regmap_multi_reg_write(cs35l41->regmap,
cs35l41_revb0_errata_patch,
ARRAY_SIZE(cs35l41_revb0_errata_patch));
if (ret < 0) {
dev_err(cs35l41->dev,
"Failed to apply B0 errata patch %d\n", ret);
goto err;
}
break;
}