summaryrefslogtreecommitdiffstats
path: root/alsa-5.6.patch
diff options
context:
space:
mode:
Diffstat (limited to 'alsa-5.6.patch')
-rw-r--r--alsa-5.6.patch398
1 files changed, 0 insertions, 398 deletions
diff --git a/alsa-5.6.patch b/alsa-5.6.patch
deleted file mode 100644
index b33725784..000000000
--- a/alsa-5.6.patch
+++ /dev/null
@@ -1,398 +0,0 @@
-From 89be5f69889f7e9aeab05279869bba3e9e0d2002 Mon Sep 17 00:00:00 2001
-From: Jaroslav Kysela <perex@perex.cz>
-Date: Wed, 4 Dec 2019 15:15:45 -0600
-Subject: [PATCH 2/4] ASoC: Intel - use control components to describe card
- config
-
-Use the control interface (field 'components' in the info structure)
-to pass the I/O configuration details. The goal is to replace
-the card long name with this.
-
-Signed-off-by: Jaroslav Kysela <perex@perex.cz>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Cc: Mark Brown <broonie@kernel.org>
-Link: https://lore.kernel.org/r/20191204211556.12671-3-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 0d5c8187562848b619a35f2ffc5e18ce703e9f3d)
-Bugzilla: 1772498
----
- sound/soc/intel/boards/bytcht_es8316.c | 9 ++++++++-
- sound/soc/intel/boards/bytcr_rt5640.c | 6 ++++++
- sound/soc/intel/boards/bytcr_rt5651.c | 18 +++++++++++-------
- 3 files changed, 25 insertions(+), 8 deletions(-)
-
-diff --git a/sound/soc/intel/boards/bytcht_es8316.c b/sound/soc/intel/boards/bytcht_es8316.c
-index 46612331f5ea..efa33f30dcac 100644
---- a/sound/soc/intel/boards/bytcht_es8316.c
-+++ b/sound/soc/intel/boards/bytcht_es8316.c
-@@ -361,6 +361,7 @@ static struct snd_soc_dai_link byt_cht_es8316_dais[] = {
- /* SoC card */
- static char codec_name[SND_ACPI_I2C_ID_LEN];
- static char long_name[50]; /* = "bytcht-es8316-*-spk-*-mic" */
-+static char components_string[32]; /* = "cfg-spk:* cfg-mic:* */
-
- static int byt_cht_es8316_suspend(struct snd_soc_card *card)
- {
-@@ -572,11 +573,17 @@ static int snd_byt_cht_es8316_mc_probe(struct platform_device *pdev)
- }
- }
-
-- /* register the soc card */
-+ snprintf(components_string, sizeof(components_string),
-+ "cfg-spk:%s cfg-mic:%s",
-+ (quirk & BYT_CHT_ES8316_MONO_SPEAKER) ? "1" : "2",
-+ mic_name[BYT_CHT_ES8316_MAP(quirk)]);
-+ byt_cht_es8316_card.components = components_string;
- snprintf(long_name, sizeof(long_name), "bytcht-es8316-%s-spk-%s-mic",
- (quirk & BYT_CHT_ES8316_MONO_SPEAKER) ? "mono" : "stereo",
- mic_name[BYT_CHT_ES8316_MAP(quirk)]);
- byt_cht_es8316_card.long_name = long_name;
-+
-+ /* register the soc card */
- snd_soc_card_set_drvdata(&byt_cht_es8316_card, priv);
-
- ret = devm_snd_soc_register_card(dev, &byt_cht_es8316_card);
-diff --git a/sound/soc/intel/boards/bytcr_rt5640.c b/sound/soc/intel/boards/bytcr_rt5640.c
-index dd2b5ad08659..7bc6d3cec94c 100644
---- a/sound/soc/intel/boards/bytcr_rt5640.c
-+++ b/sound/soc/intel/boards/bytcr_rt5640.c
-@@ -1083,6 +1083,7 @@ static char byt_rt5640_codec_name[SND_ACPI_I2C_ID_LEN];
- static char byt_rt5640_codec_aif_name[12]; /* = "rt5640-aif[1|2]" */
- static char byt_rt5640_cpu_dai_name[10]; /* = "ssp[0|2]-port" */
- static char byt_rt5640_long_name[40]; /* = "bytcr-rt5640-*-spk-*-mic" */
-+static char byt_rt5640_components[32]; /* = "cfg-spk:* cfg-mic:*" */
-
- static int byt_rt5640_suspend(struct snd_soc_card *card)
- {
-@@ -1305,6 +1306,11 @@ static int snd_byt_rt5640_mc_probe(struct platform_device *pdev)
- }
- }
-
-+ snprintf(byt_rt5640_components, sizeof(byt_rt5640_components),
-+ "cfg-spk:%s cfg-mic:%s",
-+ (byt_rt5640_quirk & BYT_RT5640_MONO_SPEAKER) ? "1" : "2",
-+ map_name[BYT_RT5640_MAP(byt_rt5640_quirk)]);
-+ byt_rt5640_card.components = byt_rt5640_components;
- snprintf(byt_rt5640_long_name, sizeof(byt_rt5640_long_name),
- "bytcr-rt5640-%s-spk-%s-mic",
- (byt_rt5640_quirk & BYT_RT5640_MONO_SPEAKER) ?
-diff --git a/sound/soc/intel/boards/bytcr_rt5651.c b/sound/soc/intel/boards/bytcr_rt5651.c
-index 4606f6f582d6..80a5674ddb1b 100644
---- a/sound/soc/intel/boards/bytcr_rt5651.c
-+++ b/sound/soc/intel/boards/bytcr_rt5651.c
-@@ -798,6 +798,7 @@ static char byt_rt5651_codec_name[SND_ACPI_I2C_ID_LEN];
- static char byt_rt5651_codec_aif_name[12]; /* = "rt5651-aif[1|2]" */
- static char byt_rt5651_cpu_dai_name[10]; /* = "ssp[0|2]-port" */
- static char byt_rt5651_long_name[50]; /* = "bytcr-rt5651-*-spk-*-mic[-swapped-hp]" */
-+static char byt_rt5651_components[50]; /* = "cfg-spk:* cfg-mic:*" */
-
- static int byt_rt5651_suspend(struct snd_soc_card *card)
- {
-@@ -876,7 +877,6 @@ static int snd_byt_rt5651_mc_probe(struct platform_device *pdev)
- const char *platform_name;
- struct acpi_device *adev;
- struct device *codec_dev;
-- const char *hp_swapped;
- bool is_bytcr = false;
- int ret_val = 0;
- int dai_index = 0;
-@@ -1080,16 +1080,20 @@ static int snd_byt_rt5651_mc_probe(struct platform_device *pdev)
- }
- }
-
-- if (byt_rt5651_quirk & BYT_RT5651_HP_LR_SWAPPED)
-- hp_swapped = "-hp-swapped";
-- else
-- hp_swapped = "";
--
-+ snprintf(byt_rt5651_components, sizeof(byt_rt5651_components),
-+ "cfg-spk:%s cfg-mic:%s%s",
-+ (byt_rt5651_quirk & BYT_RT5651_MONO_SPEAKER) ? "1" : "2",
-+ mic_name[BYT_RT5651_MAP(byt_rt5651_quirk)],
-+ (byt_rt5651_quirk & BYT_RT5651_HP_LR_SWAPPED) ?
-+ " cfg-hp:lrswap" : "");
-+ byt_rt5651_card.components = byt_rt5651_components;
- snprintf(byt_rt5651_long_name, sizeof(byt_rt5651_long_name),
- "bytcr-rt5651-%s-spk-%s-mic%s",
- (byt_rt5651_quirk & BYT_RT5651_MONO_SPEAKER) ?
- "mono" : "stereo",
-- mic_name[BYT_RT5651_MAP(byt_rt5651_quirk)], hp_swapped);
-+ mic_name[BYT_RT5651_MAP(byt_rt5651_quirk)],
-+ (byt_rt5651_quirk & BYT_RT5651_HP_LR_SWAPPED) ?
-+ "-hp-swapped" : "");
- byt_rt5651_card.long_name = byt_rt5651_long_name;
-
- /* override plaform name, if required */
---
-2.20.1
-
-
-From 36c175e19e9cbb685708519d41e27cd803206737 Mon Sep 17 00:00:00 2001
-From: Jaroslav Kysela <perex@perex.cz>
-Date: Wed, 4 Dec 2019 15:15:46 -0600
-Subject: [PATCH 3/4] ASoC: Intel - do not describe I/O configuration in the
- long card name
-
-The long card name might be used in GUI. This information should be hidden.
-
-Add CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES configuration option.
-
-Signed-off-by: Jaroslav Kysela <perex@perex.cz>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Cc: Mark Brown <broonie@kernel.org>
-Link: https://lore.kernel.org/r/20191204211556.12671-4-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit b5706f8ec29fb461571d25e3e813ede121fe31cd)
-Bugzilla: 1772498
----
- sound/soc/intel/boards/Kconfig | 13 +++++++++++++
- sound/soc/intel/boards/bytcht_es8316.c | 4 ++++
- sound/soc/intel/boards/bytcr_rt5640.c | 4 ++++
- sound/soc/intel/boards/bytcr_rt5651.c | 4 ++++
- 4 files changed, 25 insertions(+)
-
-diff --git a/sound/soc/intel/boards/Kconfig b/sound/soc/intel/boards/Kconfig
-index ef20316e83d1..145eb55bd691 100644
---- a/sound/soc/intel/boards/Kconfig
-+++ b/sound/soc/intel/boards/Kconfig
-@@ -13,6 +13,19 @@ menuconfig SND_SOC_INTEL_MACH
-
- if SND_SOC_INTEL_MACH
-
-+config SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES
-+ bool "Use more user friendly long card names"
-+ help
-+ Some drivers report the I/O configuration to userspace through the
-+ soundcard's long card name in the control user space AP. An unfortunate
-+ side effect is that this long name may also be used by the GUI,
-+ confusing users with information they don't need.
-+ This option prevents the long name from being modified, and the I/O
-+ configuration will be provided through a different component interface.
-+ Select Y if userspace like UCM (Use Case Manager) uses the component
-+ interface.
-+ If unsure select N.
-+
- if SND_SOC_INTEL_HASWELL
-
- config SND_SOC_INTEL_HASWELL_MACH
-diff --git a/sound/soc/intel/boards/bytcht_es8316.c b/sound/soc/intel/boards/bytcht_es8316.c
-index efa33f30dcac..12a1c5255484 100644
---- a/sound/soc/intel/boards/bytcht_es8316.c
-+++ b/sound/soc/intel/boards/bytcht_es8316.c
-@@ -360,7 +360,9 @@ static struct snd_soc_dai_link byt_cht_es8316_dais[] = {
-
- /* SoC card */
- static char codec_name[SND_ACPI_I2C_ID_LEN];
-+#if !IS_ENABLED(CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES)
- static char long_name[50]; /* = "bytcht-es8316-*-spk-*-mic" */
-+#endif
- static char components_string[32]; /* = "cfg-spk:* cfg-mic:* */
-
- static int byt_cht_es8316_suspend(struct snd_soc_card *card)
-@@ -578,10 +580,12 @@ static int snd_byt_cht_es8316_mc_probe(struct platform_device *pdev)
- (quirk & BYT_CHT_ES8316_MONO_SPEAKER) ? "1" : "2",
- mic_name[BYT_CHT_ES8316_MAP(quirk)]);
- byt_cht_es8316_card.components = components_string;
-+#if !IS_ENABLED(CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES)
- snprintf(long_name, sizeof(long_name), "bytcht-es8316-%s-spk-%s-mic",
- (quirk & BYT_CHT_ES8316_MONO_SPEAKER) ? "mono" : "stereo",
- mic_name[BYT_CHT_ES8316_MAP(quirk)]);
- byt_cht_es8316_card.long_name = long_name;
-+#endif
-
- /* register the soc card */
- snd_soc_card_set_drvdata(&byt_cht_es8316_card, priv);
-diff --git a/sound/soc/intel/boards/bytcr_rt5640.c b/sound/soc/intel/boards/bytcr_rt5640.c
-index 7bc6d3cec94c..648fcc1d07b5 100644
---- a/sound/soc/intel/boards/bytcr_rt5640.c
-+++ b/sound/soc/intel/boards/bytcr_rt5640.c
-@@ -1082,7 +1082,9 @@ static struct snd_soc_dai_link byt_rt5640_dais[] = {
- static char byt_rt5640_codec_name[SND_ACPI_I2C_ID_LEN];
- static char byt_rt5640_codec_aif_name[12]; /* = "rt5640-aif[1|2]" */
- static char byt_rt5640_cpu_dai_name[10]; /* = "ssp[0|2]-port" */
-+#if !IS_ENABLED(CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES)
- static char byt_rt5640_long_name[40]; /* = "bytcr-rt5640-*-spk-*-mic" */
-+#endif
- static char byt_rt5640_components[32]; /* = "cfg-spk:* cfg-mic:*" */
-
- static int byt_rt5640_suspend(struct snd_soc_card *card)
-@@ -1311,12 +1313,14 @@ static int snd_byt_rt5640_mc_probe(struct platform_device *pdev)
- (byt_rt5640_quirk & BYT_RT5640_MONO_SPEAKER) ? "1" : "2",
- map_name[BYT_RT5640_MAP(byt_rt5640_quirk)]);
- byt_rt5640_card.components = byt_rt5640_components;
-+#if !IS_ENABLED(CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES)
- snprintf(byt_rt5640_long_name, sizeof(byt_rt5640_long_name),
- "bytcr-rt5640-%s-spk-%s-mic",
- (byt_rt5640_quirk & BYT_RT5640_MONO_SPEAKER) ?
- "mono" : "stereo",
- map_name[BYT_RT5640_MAP(byt_rt5640_quirk)]);
- byt_rt5640_card.long_name = byt_rt5640_long_name;
-+#endif
-
- /* override plaform name, if required */
- platform_name = mach->mach_params.platform;
-diff --git a/sound/soc/intel/boards/bytcr_rt5651.c b/sound/soc/intel/boards/bytcr_rt5651.c
-index 80a5674ddb1b..c0d322a859f7 100644
---- a/sound/soc/intel/boards/bytcr_rt5651.c
-+++ b/sound/soc/intel/boards/bytcr_rt5651.c
-@@ -797,7 +797,9 @@ static struct snd_soc_dai_link byt_rt5651_dais[] = {
- static char byt_rt5651_codec_name[SND_ACPI_I2C_ID_LEN];
- static char byt_rt5651_codec_aif_name[12]; /* = "rt5651-aif[1|2]" */
- static char byt_rt5651_cpu_dai_name[10]; /* = "ssp[0|2]-port" */
-+#if !IS_ENABLED(CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES)
- static char byt_rt5651_long_name[50]; /* = "bytcr-rt5651-*-spk-*-mic[-swapped-hp]" */
-+#endif
- static char byt_rt5651_components[50]; /* = "cfg-spk:* cfg-mic:*" */
-
- static int byt_rt5651_suspend(struct snd_soc_card *card)
-@@ -1087,6 +1089,7 @@ static int snd_byt_rt5651_mc_probe(struct platform_device *pdev)
- (byt_rt5651_quirk & BYT_RT5651_HP_LR_SWAPPED) ?
- " cfg-hp:lrswap" : "");
- byt_rt5651_card.components = byt_rt5651_components;
-+#if !IS_ENABLED(CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES)
- snprintf(byt_rt5651_long_name, sizeof(byt_rt5651_long_name),
- "bytcr-rt5651-%s-spk-%s-mic%s",
- (byt_rt5651_quirk & BYT_RT5651_MONO_SPEAKER) ?
-@@ -1095,6 +1098,7 @@ static int snd_byt_rt5651_mc_probe(struct platform_device *pdev)
- (byt_rt5651_quirk & BYT_RT5651_HP_LR_SWAPPED) ?
- "-hp-swapped" : "");
- byt_rt5651_card.long_name = byt_rt5651_long_name;
-+#endif
-
- /* override plaform name, if required */
- platform_name = mach->mach_params.platform;
---
-2.20.1
-
-
-From 9008dcbcf36b9d67ea24920e05b50c8754488ebd Mon Sep 17 00:00:00 2001
-From: Jaroslav Kysela <perex@perex.cz>
-Date: Fri, 22 Nov 2019 09:31:03 +0100
-Subject: [PATCH] ASoC: SOF - topology - do not change the link trigger order
- for pre-1.4 firmware
-
-This patch is for SOF v1.3 firmware. The DSP firmware will crash (DSP oops)
-without this patch. The 1.4.1 firmare has this issue fixed.
-
-The ABI version is used for the comparison, because the firmware version
-for the firmware files before 1.4.2 was not set properly (git hash was
-used).
-
-BugLink: https://github.com/thesofproject/sof/issues/2102
-Signed-off-by: Jaroslav Kysela <perex@perex.cz>
-Cc: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Cc: Mark Brown <broonie@kernel.org>
----
- sound/soc/sof/topology.c | 10 +++++++---
- 1 file changed, 7 insertions(+), 3 deletions(-)
-
-diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c
-index 9f4f8868b386..58ff4766b47b 100644
---- a/sound/soc/sof/topology.c
-+++ b/sound/soc/sof/topology.c
-@@ -3111,6 +3111,7 @@ static int sof_link_load(struct snd_soc_component *scomp, int index,
- struct snd_soc_tplg_private *private = &cfg->priv;
- struct sof_ipc_dai_config config;
- struct snd_soc_tplg_hw_config *hw_config;
-+ struct sof_ipc_fw_version *v = &sdev->fw_ready.version;
- int num_hw_configs;
- int ret;
- int i = 0;
-@@ -3128,9 +3129,12 @@ static int sof_link_load(struct snd_soc_component *scomp, int index,
- if (!link->no_pcm) {
- link->nonatomic = true;
-
-- /* set trigger order */
-- link->trigger[0] = SND_SOC_DPCM_TRIGGER_POST;
-- link->trigger[1] = SND_SOC_DPCM_TRIGGER_POST;
-+ /* this causes DSP panic on firmware v1.3 */
-+ if (v->abi_version > SOF_ABI_VER(3, 7, 0)) {
-+ /* set trigger order */
-+ link->trigger[0] = SND_SOC_DPCM_TRIGGER_POST;
-+ link->trigger[1] = SND_SOC_DPCM_TRIGGER_POST;
-+ }
-
- /* nothing more to do for FE dai links */
- return 0;
---
-2.24.1
-
-
-From af7aae1b1f6306a1cda4da393e920a1334eaa3d4 Mon Sep 17 00:00:00 2001
-From: Kai Vehmanen <kai.vehmanen@linux.intel.com>
-Date: Thu, 6 Feb 2020 22:02:23 +0200
-Subject: [PATCH] ASoC: SOF: Intel: hda: move i915 init earlier
-
-To be compliant with i915 display driver requirements, i915 power-up
-must be done before any HDA communication takes place, including
-parsing the bus capabilities. Otherwise the initial codec probe
-may fail.
-
-Move i915 initialization earlier in the SOF HDA sequence. This
-sequence is now aligned with the snd-hda-intel driver where the
-display_power() call is before snd_hdac_bus_parse_capabilities()
-and rest of the capability parsing.
-
-Also remove unnecessary ifdef around hda_codec_i915_init(). There's
-a dummy implementation provided if CONFIG_SND_SOC_SOF_HDA is not
-enabled.
-
-Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
-Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
-Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Reviewed-by: Takashi Iwai <tiwai@suse.de>
-Link: https://lore.kernel.org/r/20200206200223.7715-3-kai.vehmanen@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
----
- sound/soc/sof/intel/hda.c | 17 ++++++++---------
- 1 file changed, 8 insertions(+), 9 deletions(-)
-
-diff --git a/sound/soc/sof/intel/hda.c b/sound/soc/sof/intel/hda.c
-index 8fddafb5c1d4..25946a1c2822 100644
---- a/sound/soc/sof/intel/hda.c
-+++ b/sound/soc/sof/intel/hda.c
-@@ -286,6 +286,13 @@ static int hda_init(struct snd_sof_dev *sdev)
- /* HDA base */
- sdev->bar[HDA_DSP_HDA_BAR] = bus->remap_addr;
-
-+ /* init i915 and HDMI codecs */
-+ ret = hda_codec_i915_init(sdev);
-+ if (ret < 0) {
-+ dev_err(sdev->dev, "error: init i915 and HDMI codec failed\n");
-+ return ret;
-+ }
-+
- /* get controller capabilities */
- ret = hda_dsp_ctrl_get_caps(sdev);
- if (ret < 0)
-@@ -353,15 +360,6 @@ static int hda_init_caps(struct snd_sof_dev *sdev)
- if (bus->ppcap)
- dev_dbg(sdev->dev, "PP capability, will probe DSP later.\n");
-
--#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA)
-- /* init i915 and HDMI codecs */
-- ret = hda_codec_i915_init(sdev);
-- if (ret < 0) {
-- dev_err(sdev->dev, "error: init i915 and HDMI codec failed\n");
-- return ret;
-- }
--#endif
--
- /* Init HDA controller after i915 init */
- ret = hda_dsp_ctrl_init_chip(sdev, true);
- if (ret < 0) {
-@@ -611,6 +609,7 @@ int hda_dsp_probe(struct snd_sof_dev *sdev)
- iounmap(sdev->bar[HDA_DSP_BAR]);
- hdac_bus_unmap:
- iounmap(bus->remap_addr);
-+ hda_codec_i915_exit(sdev);
- err:
- return ret;
- }
---
-2.24.1
-