From ca2ef8c9c5dcd94fc3a9552bd03c70f7165b167d Mon Sep 17 00:00:00 2001 From: WeirdTreeThing Date: Mon, 27 Nov 2023 18:54:37 -0500 Subject: [PATCH] Drop avs_rt5514 patches They caused the kernel to not compile. They are also useless without a topology, which we don't currently have. --- config | 1 - ...oC-Intel-avs-Add-rt5514-machine-board.diff | 234 ------------------ ...oC-Intel-avs-Add-rt5514-machine-board.diff | 20 -- 3 files changed, 255 deletions(-) delete mode 100644 patches/1-2-ASoC-Intel-avs-Add-rt5514-machine-board.diff delete mode 100644 patches/2-2-ASoC-Intel-avs-Add-rt5514-machine-board.diff diff --git a/config b/config index 4b8b946..71a01d5 100644 --- a/config +++ b/config @@ -7320,7 +7320,6 @@ CONFIG_SND_SOC_INTEL_AVS_MACH_NAU8825=m CONFIG_SND_SOC_INTEL_AVS_MACH_RT274=m CONFIG_SND_SOC_INTEL_AVS_MACH_RT286=m CONFIG_SND_SOC_INTEL_AVS_MACH_RT298=m -CONFIG_SND_SOC_INTEL_AVS_MACH_RT5514=m CONFIG_SND_SOC_INTEL_AVS_MACH_RT5663=m CONFIG_SND_SOC_INTEL_AVS_MACH_RT5682=m CONFIG_SND_SOC_INTEL_AVS_MACH_SSM4567=m diff --git a/patches/1-2-ASoC-Intel-avs-Add-rt5514-machine-board.diff b/patches/1-2-ASoC-Intel-avs-Add-rt5514-machine-board.diff deleted file mode 100644 index a330b2d..0000000 --- a/patches/1-2-ASoC-Intel-avs-Add-rt5514-machine-board.diff +++ /dev/null @@ -1,234 +0,0 @@ -diff --git a/sound/soc/intel/avs/boards/Kconfig b/sound/soc/intel/avs/boards/Kconfig -index 07353d37ecae..00b0f6c176d6 100644 ---- a/sound/soc/intel/avs/boards/Kconfig -+++ b/sound/soc/intel/avs/boards/Kconfig -@@ -125,6 +125,16 @@ config SND_SOC_INTEL_AVS_MACH_RT298 - Say Y or m if you have such a device. This is a recommended option. - If unsure select "N". - -+config SND_SOC_INTEL_AVS_MACH_RT5514 -+ tristate "rt5514 in I2S mode" -+ depends on I2C -+ depends on MFD_INTEL_LPSS || COMPILE_TEST -+ select SND_SOC_RT5514 -+ help -+ This adds support for ASoC machine driver with RT5514 I2S audio codec. -+ Say Y or m if you have such a device. This is a recommended option. -+ If unsure select "N". -+ - config SND_SOC_INTEL_AVS_MACH_RT5663 - tristate "rt5663 in I2S mode" - depends on I2C -diff --git a/sound/soc/intel/avs/boards/Makefile b/sound/soc/intel/avs/boards/Makefile -index 34347bcd1e7d..0ff21d55be24 100644 ---- a/sound/soc/intel/avs/boards/Makefile -+++ b/sound/soc/intel/avs/boards/Makefile -@@ -13,6 +13,7 @@ snd-soc-avs-probe-objs := probe.o - snd-soc-avs-rt274-objs := rt274.o - snd-soc-avs-rt286-objs := rt286.o - snd-soc-avs-rt298-objs := rt298.o -+snd-soc-avs-rt5514-objs := rt5514.o - snd-soc-avs-rt5663-objs := rt5663.o - snd-soc-avs-rt5682-objs := rt5682.o - snd-soc-avs-ssm4567-objs := ssm4567.o -@@ -30,6 +31,7 @@ obj-$(CONFIG_SND_SOC_INTEL_AVS_MACH_PROBE) += snd-soc-avs-probe.o - obj-$(CONFIG_SND_SOC_INTEL_AVS_MACH_RT274) += snd-soc-avs-rt274.o - obj-$(CONFIG_SND_SOC_INTEL_AVS_MACH_RT286) += snd-soc-avs-rt286.o - obj-$(CONFIG_SND_SOC_INTEL_AVS_MACH_RT298) += snd-soc-avs-rt298.o -+obj-$(CONFIG_SND_SOC_INTEL_AVS_MACH_RT5514) += snd-soc-avs-rt5514.o - obj-$(CONFIG_SND_SOC_INTEL_AVS_MACH_RT5663) += snd-soc-avs-rt5663.o - obj-$(CONFIG_SND_SOC_INTEL_AVS_MACH_RT5682) += snd-soc-avs-rt5682.o - obj-$(CONFIG_SND_SOC_INTEL_AVS_MACH_SSM4567) += snd-soc-avs-ssm4567.o -diff --git a/sound/soc/intel/avs/boards/rt5514.c b/sound/soc/intel/avs/boards/rt5514.c -new file mode 100644 -index 000000000000..ad486a52e5e3 ---- /dev/null -+++ b/sound/soc/intel/avs/boards/rt5514.c -@@ -0,0 +1,187 @@ -+// SPDX-License-Identifier: GPL-2.0-only -+// -+// Copyright(c) 2021-2023 Intel Corporation. All rights reserved. -+// -+// Authors: Cezary Rojewski -+// Amadeusz Slawinski -+// -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include "../../../codecs/rt5514.h" -+#include "../utils.h" -+ -+#define RT5514_CODEC_DAI "rt5514-aif1" -+ -+static const struct snd_soc_dapm_widget card_widgets[] = { -+ SND_SOC_DAPM_MIC("DMIC", NULL), -+}; -+ -+static const struct snd_soc_dapm_route card_base_routes[] = { -+ /* DMIC */ -+ { "DMIC1L", NULL, "DMIC" }, -+ { "DMIC1R", NULL, "DMIC" }, -+ { "DMIC2L", NULL, "DMIC" }, -+ { "DMIC2R", NULL, "DMIC" }, -+}; -+ -+static int avs_rt5514_codec_init(struct snd_soc_pcm_runtime *runtime) -+{ -+ int ret = snd_soc_dapm_ignore_suspend(&runtime->card->dapm, "DMIC"); -+ -+ if (ret) -+ dev_err(runtime->dev, "DMIC - Ignore suspend failed = %d\n", ret); -+ -+ return ret; -+} -+ -+static int avs_rt5514_be_fixup(struct snd_soc_pcm_runtime *runtime, -+ struct snd_pcm_hw_params *params) -+{ -+ struct snd_interval *rate, *channels; -+ struct snd_mask *fmt; -+ -+ rate = hw_param_interval(params, SNDRV_PCM_HW_PARAM_RATE); -+ channels = hw_param_interval(params, SNDRV_PCM_HW_PARAM_CHANNELS); -+ fmt = hw_param_mask(params, SNDRV_PCM_HW_PARAM_FORMAT); -+ -+ rate->min = rate->max = 48000; -+ channels->min = channels->max = 4; -+ -+ snd_mask_none(fmt); -+ snd_mask_set_format(fmt, SNDRV_PCM_FORMAT_S16_LE); -+ -+ return 0; -+} -+ -+static int avs_rt5514_hw_params(struct snd_pcm_substream *substream, -+ struct snd_pcm_hw_params *params) -+{ -+ struct snd_soc_pcm_runtime *rtd = snd_soc_substream_to_rtd(substream); -+ struct snd_soc_dai *codec_dai = snd_soc_rtd_to_codec(rtd, 0); -+ int ret; -+ -+ ret = snd_soc_dai_set_tdm_slot(codec_dai, 0xF, 0, 8, 16); -+ if (ret < 0) { -+ dev_err(rtd->dev, "set TDM slot err:%d\n", ret); -+ return ret; -+ } -+ -+ ret = snd_soc_dai_set_sysclk(codec_dai, RT5514_SCLK_S_MCLK, 24576000, SND_SOC_CLOCK_IN); -+ if (ret < 0) -+ dev_err(rtd->dev, "set sysclk err: %d\n", ret); -+ -+ return ret; -+} -+ -+static const struct snd_soc_ops avs_rt5514_ops = { -+ .hw_params = avs_rt5514_hw_params, -+}; -+ -+static int avs_create_dai_link(struct device *dev, const char *platform_name, int ssp_port, -+ int tdm_slot, struct snd_soc_dai_link **dai_link) -+{ -+ struct snd_soc_dai_link_component *platform; -+ struct snd_soc_dai_link *dl; -+ -+ dl = devm_kzalloc(dev, sizeof(*dl), GFP_KERNEL); -+ platform = devm_kzalloc(dev, sizeof(*platform), GFP_KERNEL); -+ if (!dl || !platform) -+ return -ENOMEM; -+ -+ platform->name = platform_name; -+ -+ dl->name = devm_kasprintf(dev, GFP_KERNEL, -+ AVS_STRING_FMT("SSP", "-Codec", ssp_port, tdm_slot)); -+ dl->cpus = devm_kzalloc(dev, sizeof(*dl->cpus), GFP_KERNEL); -+ dl->codecs = devm_kzalloc(dev, sizeof(*dl->codecs), GFP_KERNEL); -+ if (!dl->name || !dl->cpus || !dl->codecs) -+ return -ENOMEM; -+ -+ dl->cpus->dai_name = devm_kasprintf(dev, GFP_KERNEL, -+ AVS_STRING_FMT("SSP", " Pin", ssp_port, tdm_slot)); -+ dl->codecs->name = devm_kasprintf(dev, GFP_KERNEL, "i2c-10EC5514:00"); -+ dl->codecs->dai_name = devm_kasprintf(dev, GFP_KERNEL, RT5514_CODEC_DAI); -+ if (!dl->cpus->dai_name || !dl->codecs->name || !dl->codecs->dai_name) -+ return -ENOMEM; -+ -+ dl->num_cpus = 1; -+ dl->num_codecs = 1; -+ dl->platforms = platform; -+ dl->num_platforms = 1; -+ dl->id = 0; -+ dl->dai_fmt = SND_SOC_DAIFMT_DSP_B | SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBS_CFS; -+ dl->init = avs_rt5514_codec_init; -+ dl->be_hw_params_fixup = avs_rt5514_be_fixup; -+ dl->nonatomic = 1; -+ dl->no_pcm = 1; -+ dl->dpcm_capture = 1; -+ dl->ops = &avs_rt5514_ops; -+ -+ *dai_link = dl; -+ -+ return 0; -+} -+ -+static int avs_rt5514_probe(struct platform_device *pdev) -+{ -+ struct snd_soc_dai_link *dai_link; -+ struct snd_soc_acpi_mach *mach; -+ struct snd_soc_card *card; -+ struct device *dev = &pdev->dev; -+ const char *pname; -+ int ssp_port, tdm_slot, ret; -+ -+ mach = dev_get_platdata(dev); -+ pname = mach->mach_params.platform; -+ -+ ret = avs_mach_get_ssp_tdm(dev, mach, &ssp_port, &tdm_slot); -+ if (ret) -+ return ret; -+ -+ ret = avs_create_dai_link(dev, pname, ssp_port, tdm_slot, &dai_link); -+ if (ret) { -+ dev_err(dev, "Failed to create dai link: %d", ret); -+ return ret; -+ } -+ -+ card = devm_kzalloc(dev, sizeof(*card), GFP_KERNEL); -+ if (!card) -+ return -ENOMEM; -+ -+ card->name = "avs_rt5514"; -+ card->dev = dev; -+ card->owner = THIS_MODULE; -+ card->dai_link = dai_link; -+ card->num_links = 1; -+ card->dapm_widgets = card_widgets; -+ card->num_dapm_widgets = ARRAY_SIZE(card_widgets); -+ card->dapm_routes = card_base_routes; -+ card->num_dapm_routes = ARRAY_SIZE(card_base_routes); -+ card->fully_routed = true; -+ -+ ret = snd_soc_fixup_dai_links_platform_name(card, pname); -+ if (ret) -+ return ret; -+ -+ return devm_snd_soc_register_card(dev, card); -+} -+ -+static struct platform_driver avs_rt5514_driver = { -+ .probe = avs_rt5514_probe, -+ .driver = { -+ .name = "avs_rt5514", -+ .pm = &snd_soc_pm_ops, -+ }, -+}; -+ -+module_platform_driver(avs_rt5514_driver); -+ -+MODULE_LICENSE("GPL"); -+MODULE_ALIAS("platform:avs_rt5514"); diff --git a/patches/2-2-ASoC-Intel-avs-Add-rt5514-machine-board.diff b/patches/2-2-ASoC-Intel-avs-Add-rt5514-machine-board.diff deleted file mode 100644 index 93abf2b..0000000 --- a/patches/2-2-ASoC-Intel-avs-Add-rt5514-machine-board.diff +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/sound/soc/intel/avs/board_selection.c b/sound/soc/intel/avs/board_selection.c -index c10fff705496..8e91eece992d 100644 ---- a/sound/soc/intel/avs/board_selection.c -+++ b/sound/soc/intel/avs/board_selection.c -@@ -135,6 +135,15 @@ static struct snd_soc_acpi_mach avs_kbl_i2s_machines[] = { - }, - .tplg_filename = "max98927-tplg.bin", - }, -+ { -+ .id = "10EC5514", -+ .drv_name = "avs_rt5514", -+ .mach_params = { -+ .i2s_link_mask = AVS_SSP(0), -+ }, -+ .pdata = (unsigned long[]){ 0x2, 0, 0, 0, 0, 0 }, /* SSP0 TDMs */ -+ .tplg_filename = "rt5514-tplg.bin", -+ }, - { - .id = "10EC5663", - .drv_name = "avs_rt5663",