Commit aa785705 authored by Steve Lee's avatar Steve Lee Committed by Mark Brown

ASoC: max98390: Update dsm init sequence and condition.

 Modify dsm_init sequence and dsm param bin check condition.
  - Move dsm_init() to after amp init setting to
    make sure dsm init is last setting.
  - dsm param bin check condition changed for extended register setting.
Signed-off-by: default avatarSteve Lee <steves.lee@maximintegrated.com>
Link: https://lore.kernel.org/r/20200724060149.19261-1-steves.lee@maximintegrated.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent cc4d8ceb
...@@ -790,7 +790,7 @@ static int max98390_dsm_init(struct snd_soc_component *component) ...@@ -790,7 +790,7 @@ static int max98390_dsm_init(struct snd_soc_component *component)
param_start_addr = (dsm_param[0] & 0xff) | (dsm_param[1] & 0xff) << 8; param_start_addr = (dsm_param[0] & 0xff) | (dsm_param[1] & 0xff) << 8;
param_size = (dsm_param[2] & 0xff) | (dsm_param[3] & 0xff) << 8; param_size = (dsm_param[2] & 0xff) | (dsm_param[3] & 0xff) << 8;
if (param_size > MAX98390_DSM_PARAM_MAX_SIZE || if (param_size > MAX98390_DSM_PARAM_MAX_SIZE ||
param_start_addr < DSM_STBASS_HPF_B0_BYTE0 || param_start_addr < MAX98390_IRQ_CTRL ||
fw->size < param_size + MAX98390_DSM_PAYLOAD_OFFSET) { fw->size < param_size + MAX98390_DSM_PAYLOAD_OFFSET) {
dev_err(component->dev, dev_err(component->dev,
"param fw is invalid.\n"); "param fw is invalid.\n");
...@@ -864,11 +864,11 @@ static int max98390_probe(struct snd_soc_component *component) ...@@ -864,11 +864,11 @@ static int max98390_probe(struct snd_soc_component *component)
regmap_write(max98390->regmap, MAX98390_SOFTWARE_RESET, 0x01); regmap_write(max98390->regmap, MAX98390_SOFTWARE_RESET, 0x01);
/* Sleep reset settle time */ /* Sleep reset settle time */
msleep(20); msleep(20);
/* Update dsm bin param */
max98390_dsm_init(component);
/* Amp init setting */ /* Amp init setting */
max98390_init_regs(component); max98390_init_regs(component);
/* Update dsm bin param */
max98390_dsm_init(component);
/* Dsm Setting */ /* Dsm Setting */
if (max98390->ref_rdc_value) { if (max98390->ref_rdc_value) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment