Skip to content

Commit e3e3299

Browse files
committed
ASoC: mt8192: Fixes from initial glance at kselftest
Merge series from Mark Brown <broonie@kernel.org>: This is a collection of fixes I came up after glancing through an initial test run with the Spherion Chromebook on KernelCI. There are more issues flagged, this is just what I fixed thus far - the volume controls on the MT6359 have issues for example, and a lot of controls aren't marked as Switches like they should be.
2 parents d52279d + ce40d93 commit e3e3299

1 file changed

Lines changed: 19 additions & 39 deletions

File tree

sound/soc/mediatek/mt8192/mt8192-dai-adda.c

Lines changed: 19 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -303,9 +303,6 @@ static int mtk_adda_ul_event(struct snd_soc_dapm_widget *w,
303303
struct mt8192_afe_private *afe_priv = afe->platform_priv;
304304
int mtkaif_dmic = afe_priv->mtkaif_dmic;
305305

306-
dev_info(afe->dev, "%s(), name %s, event 0x%x, mtkaif_dmic %d\n",
307-
__func__, w->name, event, mtkaif_dmic);
308-
309306
switch (event) {
310307
case SND_SOC_DAPM_PRE_PMU:
311308
mt8192_afe_gpio_request(afe->dev, true, MT8192_DAI_ADDA, 1);
@@ -345,10 +342,6 @@ static int mtk_adda_ch34_ul_event(struct snd_soc_dapm_widget *w,
345342
int mtkaif_dmic = afe_priv->mtkaif_dmic_ch34;
346343
int mtkaif_adda6_only = afe_priv->mtkaif_adda6_only;
347344

348-
dev_info(afe->dev,
349-
"%s(), name %s, event 0x%x, mtkaif_dmic %d, mtkaif_adda6_only %d\n",
350-
__func__, w->name, event, mtkaif_dmic, mtkaif_adda6_only);
351-
352345
switch (event) {
353346
case SND_SOC_DAPM_PRE_PMU:
354347
mt8192_afe_gpio_request(afe->dev, true, MT8192_DAI_ADDA_CH34,
@@ -538,9 +531,6 @@ static int mtk_adda_dl_event(struct snd_soc_dapm_widget *w,
538531
struct snd_soc_component *cmpnt = snd_soc_dapm_to_component(w->dapm);
539532
struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt);
540533

541-
dev_info(afe->dev, "%s(), name %s, event 0x%x\n",
542-
__func__, w->name, event);
543-
544534
switch (event) {
545535
case SND_SOC_DAPM_PRE_PMU:
546536
mt8192_afe_gpio_request(afe->dev, true, MT8192_DAI_ADDA, 0);
@@ -564,9 +554,6 @@ static int mtk_adda_ch34_dl_event(struct snd_soc_dapm_widget *w,
564554
struct snd_soc_component *cmpnt = snd_soc_dapm_to_component(w->dapm);
565555
struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt);
566556

567-
dev_info(afe->dev, "%s(), name %s, event 0x%x\n",
568-
__func__, w->name, event);
569-
570557
switch (event) {
571558
case SND_SOC_DAPM_PRE_PMU:
572559
mt8192_afe_gpio_request(afe->dev, true, MT8192_DAI_ADDA_CH34,
@@ -604,19 +591,21 @@ static int stf_positive_gain_set(struct snd_kcontrol *kcontrol,
604591
struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt);
605592
struct mt8192_afe_private *afe_priv = afe->platform_priv;
606593
int gain_db = ucontrol->value.integer.value[0];
594+
bool change = false;
607595

608596
afe_priv->stf_positive_gain_db = gain_db;
609597

610598
if (gain_db >= 0 && gain_db <= 24) {
611-
regmap_update_bits(afe->regmap,
612-
AFE_SIDETONE_GAIN,
613-
POSITIVE_GAIN_MASK_SFT,
614-
(gain_db / 6) << POSITIVE_GAIN_SFT);
599+
regmap_update_bits_check(afe->regmap,
600+
AFE_SIDETONE_GAIN,
601+
POSITIVE_GAIN_MASK_SFT,
602+
(gain_db / 6) << POSITIVE_GAIN_SFT,
603+
&change);
615604
} else {
616-
dev_warn(afe->dev, "%s(), gain_db %d invalid\n",
617-
__func__, gain_db);
605+
return -EINVAL;
618606
}
619-
return 0;
607+
608+
return change;
620609
}
621610

622611
static int mt8192_adda_dmic_get(struct snd_kcontrol *kcontrol,
@@ -637,15 +626,17 @@ static int mt8192_adda_dmic_set(struct snd_kcontrol *kcontrol,
637626
struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt);
638627
struct mt8192_afe_private *afe_priv = afe->platform_priv;
639628
int dmic_on;
629+
bool change;
640630

641631
dmic_on = ucontrol->value.integer.value[0];
642632

643-
dev_info(afe->dev, "%s(), kcontrol name %s, dmic_on %d\n",
644-
__func__, kcontrol->id.name, dmic_on);
633+
change = (afe_priv->mtkaif_dmic != dmic_on) ||
634+
(afe_priv->mtkaif_dmic_ch34 != dmic_on);
645635

646636
afe_priv->mtkaif_dmic = dmic_on;
647637
afe_priv->mtkaif_dmic_ch34 = dmic_on;
648-
return 0;
638+
639+
return change;
649640
}
650641

651642
static int mt8192_adda6_only_get(struct snd_kcontrol *kcontrol,
@@ -666,20 +657,20 @@ static int mt8192_adda6_only_set(struct snd_kcontrol *kcontrol,
666657
struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt);
667658
struct mt8192_afe_private *afe_priv = afe->platform_priv;
668659
int mtkaif_adda6_only;
660+
bool change;
669661

670662
mtkaif_adda6_only = ucontrol->value.integer.value[0];
671663

672-
dev_info(afe->dev, "%s(), kcontrol name %s, mtkaif_adda6_only %d\n",
673-
__func__, kcontrol->id.name, mtkaif_adda6_only);
674-
664+
change = afe_priv->mtkaif_adda6_only != mtkaif_adda6_only;
675665
afe_priv->mtkaif_adda6_only = mtkaif_adda6_only;
676-
return 0;
666+
667+
return change;
677668
}
678669

679670
static const struct snd_kcontrol_new mtk_adda_controls[] = {
680671
SOC_SINGLE("Sidetone_Gain", AFE_SIDETONE_GAIN,
681672
SIDE_TONE_GAIN_SFT, SIDE_TONE_GAIN_MASK, 0),
682-
SOC_SINGLE_EXT("Sidetone_Positive_Gain_dB", SND_SOC_NOPM, 0, 100, 0,
673+
SOC_SINGLE_EXT("Sidetone_Positive_Gain_dB", SND_SOC_NOPM, 0, 24, 0,
683674
stf_positive_gain_get, stf_positive_gain_set),
684675
SOC_SINGLE("ADDA_DL_GAIN", AFE_ADDA_DL_SRC2_CON1,
685676
DL_2_GAIN_CTL_PRE_SFT, DL_2_GAIN_CTL_PRE_MASK, 0),
@@ -750,9 +741,6 @@ static int mtk_stf_event(struct snd_soc_dapm_widget *w,
750741

751742
regmap_read(afe->regmap, AFE_SIDETONE_CON1, &reg_value);
752743

753-
dev_info(afe->dev, "%s(), name %s, event 0x%x, ul_rate 0x%x, AFE_SIDETONE_CON1 0x%x\n",
754-
__func__, w->name, event, ul_rate, reg_value);
755-
756744
switch (event) {
757745
case SND_SOC_DAPM_PRE_PMU:
758746
/* set side tone gain = 0 */
@@ -1163,12 +1151,6 @@ static int mtk_dai_adda_hw_params(struct snd_pcm_substream *substream,
11631151
unsigned int rate = params_rate(params);
11641152
int id = dai->id;
11651153

1166-
dev_info(afe->dev, "%s(), id %d, stream %d, rate %d\n",
1167-
__func__,
1168-
id,
1169-
substream->stream,
1170-
rate);
1171-
11721154
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
11731155
unsigned int dl_src2_con0 = 0;
11741156
unsigned int dl_src2_con1 = 0;
@@ -1441,8 +1423,6 @@ int mt8192_dai_adda_register(struct mtk_base_afe *afe)
14411423
struct mtk_base_afe_dai *dai;
14421424
struct mt8192_afe_private *afe_priv = afe->platform_priv;
14431425

1444-
dev_info(afe->dev, "%s()\n", __func__);
1445-
14461426
dai = devm_kzalloc(afe->dev, sizeof(*dai), GFP_KERNEL);
14471427
if (!dai)
14481428
return -ENOMEM;

0 commit comments

Comments
 (0)