summaryrefslogtreecommitdiffstats
path: root/sound/soc
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2020-10-05 15:32:13 +0100
committerMark Brown <broonie@kernel.org>2020-10-05 15:32:13 +0100
commitc8da9069979b32872a3f19e5e12d48ff5040e2af (patch)
tree6b51f2e9633216acf7421b17a6aa02ddae326105 /sound/soc
parent859ffd0af117e7ebc4d744a648551443cc90f150 (diff)
parentdf64b9882b35671c4916574a783b614c6164980b (diff)
Merge series "ASoC: Intel: sof_sdw: minor corrections" from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>:
This small patchset adds a missing component string needed by UCM and corrects a confusion on Realtek part numbers. Pierre-Louis Bossart (4): ASoC: Intel: sof_sdw_rt1308: add extra check on init ASoC: Intel: sof_sdw_rt1316: add missing component string ASoC: rt715-sdw: probe with RT714 Device ID ASoC: Intel: sof_sdw: add version_id to avoid rt714/rt715 confusion sound/soc/codecs/rt715-sdw.c | 1 + sound/soc/intel/boards/sof_sdw.c | 16 ++++++++++++++++ sound/soc/intel/boards/sof_sdw_rt1308.c | 4 ++++ sound/soc/intel/boards/sof_sdw_rt1316.c | 6 ++++++ 4 files changed, 27 insertions(+) -- 2.25.1
Diffstat (limited to 'sound/soc')
-rw-r--r--sound/soc/codecs/rt715-sdw.c1
-rw-r--r--sound/soc/intel/boards/sof_sdw.c16
-rw-r--r--sound/soc/intel/boards/sof_sdw_rt1308.c4
-rw-r--r--sound/soc/intel/boards/sof_sdw_rt1316.c6
4 files changed, 27 insertions, 0 deletions
diff --git a/sound/soc/codecs/rt715-sdw.c b/sound/soc/codecs/rt715-sdw.c
index dbb8895150a6..a5fd31c98221 100644
--- a/sound/soc/codecs/rt715-sdw.c
+++ b/sound/soc/codecs/rt715-sdw.c
@@ -541,6 +541,7 @@ static int rt715_sdw_probe(struct sdw_slave *slave,
}
static const struct sdw_device_id rt715_id[] = {
+ SDW_SLAVE_ENTRY_EXT(0x025d, 0x714, 0x2, 0, 0),
SDW_SLAVE_ENTRY_EXT(0x025d, 0x715, 0x2, 0, 0),
{},
};
diff --git a/sound/soc/intel/boards/sof_sdw.c b/sound/soc/intel/boards/sof_sdw.c
index b56df04775c2..b29946eb4355 100644
--- a/sound/soc/intel/boards/sof_sdw.c
+++ b/sound/soc/intel/boards/sof_sdw.c
@@ -295,12 +295,28 @@ static struct sof_sdw_codec_info codec_info_list[] = {
},
{
.part_id = 0x714,
+ .version_id = 3,
+ .direction = {false, true},
+ .dai_name = "rt715-aif2",
+ .init = sof_sdw_rt715_sdca_init,
+ },
+ {
+ .part_id = 0x715,
+ .version_id = 3,
.direction = {false, true},
.dai_name = "rt715-aif2",
.init = sof_sdw_rt715_sdca_init,
},
{
+ .part_id = 0x714,
+ .version_id = 2,
+ .direction = {false, true},
+ .dai_name = "rt715-aif2",
+ .init = sof_sdw_rt715_init,
+ },
+ {
.part_id = 0x715,
+ .version_id = 2,
.direction = {false, true},
.dai_name = "rt715-aif2",
.init = sof_sdw_rt715_init,
diff --git a/sound/soc/intel/boards/sof_sdw_rt1308.c b/sound/soc/intel/boards/sof_sdw_rt1308.c
index dba2fd28d77f..0d476f6f6313 100644
--- a/sound/soc/intel/boards/sof_sdw_rt1308.c
+++ b/sound/soc/intel/boards/sof_sdw_rt1308.c
@@ -132,6 +132,10 @@ int sof_sdw_rt1308_init(const struct snd_soc_acpi_link_adr *link,
struct sof_sdw_codec_info *info,
bool playback)
{
+ /* Count amp number and do init on playback link only. */
+ if (!playback)
+ return 0;
+
info->amp_num++;
if (info->amp_num == 1)
dai_links->init = first_spk_init;
diff --git a/sound/soc/intel/boards/sof_sdw_rt1316.c b/sound/soc/intel/boards/sof_sdw_rt1316.c
index 2c566330f236..d6e1ebf18d57 100644
--- a/sound/soc/intel/boards/sof_sdw_rt1316.c
+++ b/sound/soc/intel/boards/sof_sdw_rt1316.c
@@ -39,6 +39,12 @@ static int first_spk_init(struct snd_soc_pcm_runtime *rtd)
struct snd_soc_card *card = rtd->card;
int ret;
+ card->components = devm_kasprintf(card->dev, GFP_KERNEL,
+ "%s spk:rt1316",
+ card->components);
+ if (!card->components)
+ return -ENOMEM;
+
ret = snd_soc_add_card_controls(card, rt1316_controls,
ARRAY_SIZE(rt1316_controls));
if (ret) {