Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ASoC: Merge up fixes

To facilitate testing get our current fixes into the branch.

+25 -9
+14 -2
sound/soc/amd/acp/acp-mach-common.c
··· 505 505 506 506 clk_set_rate(drvdata->wclk, srate); 507 507 clk_set_rate(drvdata->bclk, srate * ch * format); 508 + if (!drvdata->soc_mclk) { 509 + ret = acp_clk_enable(drvdata, srate, ch * format); 510 + if (ret < 0) { 511 + dev_err(rtd->card->dev, "Failed to enable HS clk: %d\n", ret); 512 + return ret; 513 + } 514 + } 508 515 509 516 return 0; 510 517 } ··· 1471 1464 if (drv_data->amp_cpu_id == I2S_SP) { 1472 1465 links[i].name = "acp-amp-codec"; 1473 1466 links[i].id = AMP_BE_ID; 1474 - links[i].cpus = sof_sp_virtual; 1475 - links[i].num_cpus = ARRAY_SIZE(sof_sp_virtual); 1467 + if (drv_data->platform == RENOIR) { 1468 + links[i].cpus = sof_sp; 1469 + links[i].num_cpus = ARRAY_SIZE(sof_sp); 1470 + } else { 1471 + links[i].cpus = sof_sp_virtual; 1472 + links[i].num_cpus = ARRAY_SIZE(sof_sp_virtual); 1473 + } 1476 1474 links[i].platforms = sof_component; 1477 1475 links[i].num_platforms = ARRAY_SIZE(sof_component); 1478 1476 links[i].dpcm_playback = 1;
+4
sound/soc/amd/acp/acp-sof-mach.c
··· 46 46 .hs_codec_id = RT5682S, 47 47 .amp_codec_id = RT1019, 48 48 .dmic_codec_id = DMIC, 49 + .platform = RENOIR, 49 50 }; 50 51 51 52 static struct acp_card_drvdata sof_rt5682s_max_data = { ··· 56 55 .hs_codec_id = RT5682S, 57 56 .amp_codec_id = MAX98360A, 58 57 .dmic_codec_id = DMIC, 58 + .platform = RENOIR, 59 59 }; 60 60 61 61 static struct acp_card_drvdata sof_nau8825_data = { ··· 66 64 .hs_codec_id = NAU8825, 67 65 .amp_codec_id = MAX98360A, 68 66 .dmic_codec_id = DMIC, 67 + .platform = REMBRANDT, 69 68 .soc_mclk = true, 70 69 }; 71 70 ··· 77 74 .hs_codec_id = RT5682S, 78 75 .amp_codec_id = RT1019, 79 76 .dmic_codec_id = DMIC, 77 + .platform = REMBRANDT, 80 78 .soc_mclk = true, 81 79 }; 82 80
-1
sound/soc/codecs/wcd934x.c
··· 13 13 #include <linux/of.h> 14 14 #include <linux/platform_device.h> 15 15 #include <linux/regmap.h> 16 - #include <linux/regulator/consumer.h> 17 16 #include <linux/slab.h> 18 17 #include <linux/slimbus.h> 19 18 #include <sound/pcm_params.h>
+3 -5
sound/soc/codecs/wcd938x.c
··· 210 210 }; 211 211 212 212 static const SNDRV_CTL_TLVD_DECLARE_DB_MINMAX(ear_pa_gain, 600, -1800); 213 - static const DECLARE_TLV_DB_SCALE(line_gain, -3000, 150, -3000); 213 + static const DECLARE_TLV_DB_SCALE(line_gain, -3000, 150, 0); 214 214 static const SNDRV_CTL_TLVD_DECLARE_DB_MINMAX(analog_gain, 0, 3000); 215 215 216 216 struct wcd938x_mbhc_zdet_param { ··· 3587 3587 mutex_init(&wcd938x->micb_lock); 3588 3588 3589 3589 ret = wcd938x_populate_dt_data(wcd938x, dev); 3590 - if (ret) { 3591 - dev_err(dev, "%s: Fail to obtain platform data\n", __func__); 3592 - return -EINVAL; 3593 - } 3590 + if (ret) 3591 + return ret; 3594 3592 3595 3593 ret = wcd938x_add_slave_components(wcd938x, dev, &match); 3596 3594 if (ret)
+4 -1
sound/soc/soc-core.c
··· 1037 1037 return -EINVAL; 1038 1038 } 1039 1039 1040 - #define MAX_DEFAULT_CH_MAP_SIZE 7 1040 + #define MAX_DEFAULT_CH_MAP_SIZE 8 1041 1041 static struct snd_soc_dai_link_ch_map default_ch_map_sync[MAX_DEFAULT_CH_MAP_SIZE] = { 1042 1042 { .cpu = 0, .codec = 0 }, 1043 1043 { .cpu = 1, .codec = 1 }, ··· 1046 1046 { .cpu = 4, .codec = 4 }, 1047 1047 { .cpu = 5, .codec = 5 }, 1048 1048 { .cpu = 6, .codec = 6 }, 1049 + { .cpu = 7, .codec = 7 }, 1049 1050 }; 1050 1051 static struct snd_soc_dai_link_ch_map default_ch_map_1cpu[MAX_DEFAULT_CH_MAP_SIZE] = { 1051 1052 { .cpu = 0, .codec = 0 }, ··· 1056 1055 { .cpu = 0, .codec = 4 }, 1057 1056 { .cpu = 0, .codec = 5 }, 1058 1057 { .cpu = 0, .codec = 6 }, 1058 + { .cpu = 0, .codec = 7 }, 1059 1059 }; 1060 1060 static struct snd_soc_dai_link_ch_map default_ch_map_1codec[MAX_DEFAULT_CH_MAP_SIZE] = { 1061 1061 { .cpu = 0, .codec = 0 }, ··· 1066 1064 { .cpu = 4, .codec = 0 }, 1067 1065 { .cpu = 5, .codec = 0 }, 1068 1066 { .cpu = 6, .codec = 0 }, 1067 + { .cpu = 7, .codec = 0 }, 1069 1068 }; 1070 1069 static int snd_soc_compensate_channel_connection_map(struct snd_soc_card *card, 1071 1070 struct snd_soc_dai_link *dai_link)