mirror of
https://github.com/torvalds/linux.git
synced 2026-07-28 18:21:24 +02:00
ASoC: Merge up fixes
Merge up the fixes to help CI.
This commit is contained in:
commit
bf628fa4d4
|
|
@ -18,7 +18,9 @@ properties:
|
|||
description: Phandles of rt5650 and rt5514 codecs
|
||||
items:
|
||||
- description: phandle of rt5650 codec
|
||||
maxItems: 1
|
||||
- description: phandle of rt5514 codec
|
||||
maxItems: 1
|
||||
|
||||
mediatek,platform:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
|
|
|
|||
|
|
@ -19448,7 +19448,6 @@ F: include/misc/ocxl*
|
|||
F: include/uapi/misc/ocxl.h
|
||||
|
||||
OMAP AUDIO SUPPORT
|
||||
M: Peter Ujfalusi <peter.ujfalusi@gmail.com>
|
||||
M: Jarkko Nikula <jarkko.nikula@bitmer.com>
|
||||
L: linux-sound@vger.kernel.org
|
||||
L: linux-omap@vger.kernel.org
|
||||
|
|
@ -26351,7 +26350,7 @@ F: arch/xtensa/
|
|||
F: drivers/irqchip/irq-xtensa-*
|
||||
|
||||
TEXAS INSTRUMENTS ASoC DRIVERS
|
||||
M: Peter Ujfalusi <peter.ujfalusi@gmail.com>
|
||||
M: Sen Wang <sen@ti.com>
|
||||
L: linux-sound@vger.kernel.org
|
||||
S: Maintained
|
||||
F: Documentation/devicetree/bindings/sound/davinci-mcasp-audio.yaml
|
||||
|
|
@ -26857,12 +26856,6 @@ S: Maintained
|
|||
F: Documentation/devicetree/bindings/iio/adc/ti,tsc2046.yaml
|
||||
F: drivers/iio/adc/ti-tsc2046.c
|
||||
|
||||
TI TWL4030 SERIES SOC CODEC DRIVER
|
||||
M: Peter Ujfalusi <peter.ujfalusi@gmail.com>
|
||||
L: linux-sound@vger.kernel.org
|
||||
S: Maintained
|
||||
F: sound/soc/codecs/twl4030*
|
||||
|
||||
TI VPE/CAL DRIVERS
|
||||
M: Yemike Abhilash Chandra <y-abhilashchandra@ti.com>
|
||||
L: linux-media@vger.kernel.org
|
||||
|
|
|
|||
|
|
@ -868,7 +868,7 @@ static int amd_spi_probe(struct platform_device *pdev)
|
|||
dev_dbg(dev, "io_remap_address: %p\n", amd_spi->io_remap_addr);
|
||||
|
||||
amd_spi->version = (uintptr_t)device_get_match_data(dev);
|
||||
host->bus_num = 0;
|
||||
host->bus_num = (amd_spi->version == AMD_HID2_SPI) ? 2 : 0;
|
||||
|
||||
return amd_spi_probe_common(dev, host);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -901,7 +901,6 @@ menu "CS35L56 driver options"
|
|||
|
||||
config SND_SOC_CS35L56_CAL_DEBUGFS
|
||||
bool "CS35L56 create debugfs for factory calibration"
|
||||
default N
|
||||
depends on DEBUG_FS
|
||||
select SND_SOC_CS35L56_CAL_DEBUGFS_COMMON
|
||||
help
|
||||
|
|
@ -912,7 +911,6 @@ config SND_SOC_CS35L56_CAL_DEBUGFS
|
|||
|
||||
config SND_SOC_CS35L56_CAL_SET_CTRL
|
||||
bool "CS35L56 ALSA control to restore factory calibration"
|
||||
default N
|
||||
select SND_SOC_CS35L56_CAL_DEBUGFS_COMMON
|
||||
help
|
||||
Allow restoring factory calibration data through an ALSA
|
||||
|
|
@ -926,7 +924,6 @@ config SND_SOC_CS35L56_CAL_SET_CTRL
|
|||
|
||||
config SND_SOC_CS35L56_CAL_PERFORM_CTRL
|
||||
bool "CS35L56 ALSA control to perform factory calibration"
|
||||
default N
|
||||
select SND_SOC_CS35L56_CAL_DEBUGFS_COMMON
|
||||
help
|
||||
Allow performing factory calibration data through an ALSA
|
||||
|
|
|
|||
|
|
@ -385,18 +385,19 @@ static int cs35l56_sdw_update_status(struct sdw_slave *peripheral,
|
|||
|
||||
switch (status) {
|
||||
case SDW_SLAVE_ATTACHED:
|
||||
dev_dbg(cs35l56->base.dev, "%s: ATTACHED\n", __func__);
|
||||
cs35l56->sdw_in_clock_stop_1 = false;
|
||||
if (cs35l56->sdw_attached)
|
||||
break;
|
||||
|
||||
dev_dbg(cs35l56->base.dev, "%s: ATTACHED\n", __func__);
|
||||
if (!cs35l56->base.init_done || cs35l56->soft_resetting)
|
||||
cs35l56_sdw_init(peripheral);
|
||||
|
||||
cs35l56->sdw_attached = true;
|
||||
break;
|
||||
case SDW_SLAVE_UNATTACHED:
|
||||
dev_dbg(cs35l56->base.dev, "%s: UNATTACHED\n", __func__);
|
||||
if (cs35l56->sdw_attached)
|
||||
dev_dbg(cs35l56->base.dev, "%s: UNATTACHED\n", __func__);
|
||||
cs35l56->sdw_attached = false;
|
||||
break;
|
||||
default:
|
||||
|
|
|
|||
|
|
@ -869,11 +869,16 @@ static void cs35l56_dsp_work(struct work_struct *work)
|
|||
if (!cs35l56->base.init_done)
|
||||
return;
|
||||
|
||||
pm_runtime_get_sync(cs35l56->base.dev);
|
||||
PM_RUNTIME_ACQUIRE(cs35l56->base.dev, pm);
|
||||
ret = PM_RUNTIME_ACQUIRE_ERR(&pm);
|
||||
if (ret) {
|
||||
dev_err(cs35l56->base.dev, "dsp_work failed to runtime-resume: %d\n", ret);
|
||||
return;
|
||||
}
|
||||
|
||||
ret = cs35l56_read_prot_status(&cs35l56->base, &firmware_missing, &firmware_version);
|
||||
if (ret)
|
||||
goto err;
|
||||
return;
|
||||
|
||||
/* Populate fw file qualifier with the revision and security state */
|
||||
kfree(cs35l56->dsp.fwf_name);
|
||||
|
|
@ -889,7 +894,7 @@ static void cs35l56_dsp_work(struct work_struct *work)
|
|||
}
|
||||
|
||||
if (!cs35l56->dsp.fwf_name)
|
||||
goto err;
|
||||
return;
|
||||
|
||||
dev_dbg(cs35l56->base.dev, "DSP fwf name: '%s' system name: '%s'\n",
|
||||
cs35l56->dsp.fwf_name, cs35l56->dsp.system_name);
|
||||
|
|
@ -907,8 +912,6 @@ static void cs35l56_dsp_work(struct work_struct *work)
|
|||
cs35l56_patch(cs35l56, firmware_missing);
|
||||
|
||||
cs35l56_log_tuning(&cs35l56->base, &cs35l56->dsp.cs_dsp);
|
||||
err:
|
||||
pm_runtime_put_autosuspend(cs35l56->base.dev);
|
||||
}
|
||||
|
||||
static struct snd_soc_dapm_context *cs35l56_power_up_for_cal(struct cs35l56_private *cs35l56)
|
||||
|
|
|
|||
|
|
@ -968,7 +968,7 @@ static int fs210x_effect_scene_info(struct snd_kcontrol *kcontrol,
|
|||
if (scene->name)
|
||||
name = scene->name;
|
||||
|
||||
strscpy(uinfo->value.enumerated.name, name, strlen(name) + 1);
|
||||
strscpy(uinfo->value.enumerated.name, name);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@
|
|||
#include <sound/soc-acpi.h>
|
||||
#include <sound/soc-acpi-intel-match.h>
|
||||
#include <sound/soc-acpi-intel-ssp-common.h>
|
||||
#include "soc-acpi-intel-sdca-quirks.h"
|
||||
#include "sof-function-topology-lib.h"
|
||||
|
||||
static const struct snd_soc_acpi_endpoint single_endpoint = {
|
||||
|
|
@ -273,6 +274,15 @@ static const struct snd_soc_acpi_adr_device rt722_0_agg_adr[] = {
|
|||
}
|
||||
};
|
||||
|
||||
static const struct snd_soc_acpi_adr_device rt712_0_agg_adr[] = {
|
||||
{
|
||||
.adr = 0x000030025D071201ull,
|
||||
.num_endpoints = ARRAY_SIZE(jack_amp_g1_dmic_endpoints),
|
||||
.endpoints = jack_amp_g1_dmic_endpoints,
|
||||
.name_prefix = "rt712"
|
||||
}
|
||||
};
|
||||
|
||||
static const struct snd_soc_acpi_adr_device rt1316_3_single_adr[] = {
|
||||
{
|
||||
.adr = 0x000330025D131601ull,
|
||||
|
|
@ -300,6 +310,15 @@ static const struct snd_soc_acpi_link_adr arl_n_mrd_es9356_link1[] = {
|
|||
{}
|
||||
};
|
||||
|
||||
static const struct snd_soc_acpi_adr_device rt1320_3_group1_adr[] = {
|
||||
{
|
||||
.adr = 0x000330025D132001ull,
|
||||
.num_endpoints = 1,
|
||||
.endpoints = &spk_r_endpoint,
|
||||
.name_prefix = "rt1320-1"
|
||||
}
|
||||
};
|
||||
|
||||
static const struct snd_soc_acpi_link_adr arl_cs42l43_l0[] = {
|
||||
{
|
||||
.mask = BIT(0),
|
||||
|
|
@ -449,6 +468,20 @@ static const struct snd_soc_acpi_link_adr arl_rt722_l0_rt1320_l2[] = {
|
|||
{}
|
||||
};
|
||||
|
||||
static const struct snd_soc_acpi_link_adr arl_rt712_l0_rt1320_l3[] = {
|
||||
{
|
||||
.mask = BIT(0),
|
||||
.num_adr = ARRAY_SIZE(rt712_0_agg_adr),
|
||||
.adr_d = rt712_0_agg_adr,
|
||||
},
|
||||
{
|
||||
.mask = BIT(3),
|
||||
.num_adr = ARRAY_SIZE(rt1320_3_group1_adr),
|
||||
.adr_d = rt1320_3_group1_adr,
|
||||
},
|
||||
{}
|
||||
};
|
||||
|
||||
static const struct snd_soc_acpi_codecs arl_essx_83x6 = {
|
||||
.num_codecs = 3,
|
||||
.codecs = { "ESSX8316", "ESSX8326", "ESSX8336"},
|
||||
|
|
@ -528,10 +561,24 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_arl_sdw_machines[] = {
|
|||
.get_function_tplg_files = sof_sdw_get_tplg_files,
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(0),
|
||||
.links = arl_cs42l43_l0,
|
||||
.link_mask = BIT(0) | BIT(2),
|
||||
.links = arl_rt722_l0_rt1320_l2,
|
||||
.drv_name = "sof_sdw",
|
||||
.sof_tplg_filename = "sof-arl-cs42l43-l0.tplg",
|
||||
.sof_tplg_filename = "sof-arl-rt722-l0_rt1320-l2.tplg",
|
||||
.get_function_tplg_files = sof_sdw_get_tplg_files,
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(0) | BIT(3),
|
||||
.links = arl_rt711_l0_rt1316_l3,
|
||||
.drv_name = "sof_sdw",
|
||||
.sof_tplg_filename = "sof-arl-rt711-l0-rt1316-l3.tplg",
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(0) | BIT(3),
|
||||
.links = arl_rt712_l0_rt1320_l3,
|
||||
.drv_name = "sof_sdw",
|
||||
.machine_check = snd_soc_acpi_intel_sdca_is_device_rt712_vb,
|
||||
.sof_tplg_filename = "sof-arl-rt712-l0-rt1320-l3.tplg",
|
||||
.get_function_tplg_files = sof_sdw_get_tplg_files,
|
||||
},
|
||||
{
|
||||
|
|
@ -542,18 +589,12 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_arl_sdw_machines[] = {
|
|||
.get_function_tplg_files = sof_sdw_get_tplg_files,
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(2),
|
||||
.links = arl_cs42l43_l2,
|
||||
.link_mask = BIT(0),
|
||||
.links = arl_cs42l43_l0,
|
||||
.drv_name = "sof_sdw",
|
||||
.sof_tplg_filename = "sof-arl-cs42l43-l2.tplg",
|
||||
.sof_tplg_filename = "sof-arl-cs42l43-l0.tplg",
|
||||
.get_function_tplg_files = sof_sdw_get_tplg_files,
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(0) | BIT(3),
|
||||
.links = arl_rt711_l0_rt1316_l3,
|
||||
.drv_name = "sof_sdw",
|
||||
.sof_tplg_filename = "sof-arl-rt711-l0-rt1316-l3.tplg",
|
||||
},
|
||||
{
|
||||
.link_mask = 0x1, /* link0 required */
|
||||
.links = arl_rvp,
|
||||
|
|
@ -567,10 +608,10 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_arl_sdw_machines[] = {
|
|||
.sof_tplg_filename = "sof-arl-rt711-l0.tplg",
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(0) | BIT(2),
|
||||
.links = arl_rt722_l0_rt1320_l2,
|
||||
.link_mask = BIT(2),
|
||||
.links = arl_cs42l43_l2,
|
||||
.drv_name = "sof_sdw",
|
||||
.sof_tplg_filename = "sof-arl-rt722-l0_rt1320-l2.tplg",
|
||||
.sof_tplg_filename = "sof-arl-cs42l43-l2.tplg",
|
||||
.get_function_tplg_files = sof_sdw_get_tplg_files,
|
||||
},
|
||||
{
|
||||
|
|
|
|||
|
|
@ -493,6 +493,20 @@ static const struct snd_soc_acpi_link_adr ptl_sdw_rt713_vb_l3_rt1320_l12[] = {
|
|||
{}
|
||||
};
|
||||
|
||||
static const struct snd_soc_acpi_link_adr ptl_sdw_rt713_vb_l3_rt1320_l1[] = {
|
||||
{
|
||||
.mask = BIT(3),
|
||||
.num_adr = ARRAY_SIZE(rt713_vb_3_adr),
|
||||
.adr_d = rt713_vb_3_adr,
|
||||
},
|
||||
{
|
||||
.mask = BIT(1),
|
||||
.num_adr = ARRAY_SIZE(rt1320_1_group2_adr),
|
||||
.adr_d = rt1320_1_group2_adr,
|
||||
},
|
||||
{}
|
||||
};
|
||||
|
||||
static const struct snd_soc_acpi_link_adr ptl_sdw_rt712_vb_l2_rt1320_l1[] = {
|
||||
{
|
||||
.mask = BIT(2),
|
||||
|
|
@ -578,6 +592,13 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_ptl_sdw_machines[] = {
|
|||
.sof_tplg_filename = "sof-ptl-rt713-l3-rt1320-l12.tplg",
|
||||
.get_function_tplg_files = sof_sdw_get_tplg_files,
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(1) | BIT(3),
|
||||
.links = ptl_sdw_rt713_vb_l3_rt1320_l1,
|
||||
.drv_name = "sof_sdw",
|
||||
.sof_tplg_filename = "sof-ptl-rt713-l3-rt1320-l1.tplg",
|
||||
.get_function_tplg_files = sof_sdw_get_tplg_files,
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(1) | BIT(2) | BIT(3),
|
||||
.links = ptl_cs42l43_l2_cs35l56x6_l13,
|
||||
|
|
|
|||
|
|
@ -345,6 +345,8 @@ struct asoc_sdw_codec_info codec_info_list[] = {
|
|||
.dai_type = SOC_SDW_DAI_TYPE_MIC,
|
||||
.dailink = {SOC_SDW_UNUSED_DAI_ID, SOC_SDW_DMIC_DAI_ID},
|
||||
.rtd_init = asoc_sdw_rt_dmic_rtd_init,
|
||||
.quirk = SOC_SDW_CODEC_MIC,
|
||||
.quirk_exclude = true,
|
||||
},
|
||||
},
|
||||
.dai_num = 3,
|
||||
|
|
@ -652,6 +654,8 @@ struct asoc_sdw_codec_info codec_info_list[] = {
|
|||
.dai_type = SOC_SDW_DAI_TYPE_MIC,
|
||||
.dailink = {SOC_SDW_UNUSED_DAI_ID, SOC_SDW_DMIC_DAI_ID},
|
||||
.rtd_init = asoc_sdw_rt_dmic_rtd_init,
|
||||
.quirk = SOC_SDW_CODEC_MIC,
|
||||
.quirk_exclude = true,
|
||||
},
|
||||
},
|
||||
.dai_num = 3,
|
||||
|
|
@ -1311,7 +1315,7 @@ int asoc_sdw_rtd_init(struct snd_soc_pcm_runtime *rtd)
|
|||
struct asoc_sdw_codec_info *codec_info;
|
||||
struct snd_soc_dai *dai;
|
||||
struct sdw_slave *sdw_peripheral;
|
||||
const char *spk_components="";
|
||||
const char *spk_components = NULL;
|
||||
int dai_index;
|
||||
int ret;
|
||||
int i;
|
||||
|
|
@ -1394,7 +1398,7 @@ int asoc_sdw_rtd_init(struct snd_soc_pcm_runtime *rtd)
|
|||
else
|
||||
component = codec_info->dais[dai_index].component_name;
|
||||
|
||||
if (strlen (spk_components) == 0)
|
||||
if (!spk_components)
|
||||
spk_components =
|
||||
devm_kasprintf(card->dev, GFP_KERNEL, "%s", component);
|
||||
else
|
||||
|
|
@ -1402,13 +1406,15 @@ int asoc_sdw_rtd_init(struct snd_soc_pcm_runtime *rtd)
|
|||
spk_components =
|
||||
devm_kasprintf(card->dev, GFP_KERNEL,
|
||||
"%s+%s", spk_components, component);
|
||||
|
||||
if (!spk_components)
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
codec_info->dais[dai_index].rtd_init_done = true;
|
||||
|
||||
}
|
||||
|
||||
if (strlen (spk_components) > 0) {
|
||||
if (spk_components) {
|
||||
/* Update card components for speaker components */
|
||||
card->components = devm_kasprintf(card->dev, GFP_KERNEL, "%s spk:%s",
|
||||
card->components, spk_components);
|
||||
|
|
|
|||
|
|
@ -223,7 +223,7 @@ static int psp_send_cmd(struct acp_dev_data *adata, int cmd)
|
|||
{
|
||||
struct snd_sof_dev *sdev = adata->dev;
|
||||
int ret;
|
||||
u32 data;
|
||||
int data;
|
||||
|
||||
if (!cmd)
|
||||
return -EINVAL;
|
||||
|
|
|
|||
|
|
@ -322,7 +322,7 @@ static int omap_dmic_select_fclk(struct omap_dmic *dmic, int clk_id,
|
|||
}
|
||||
|
||||
mux = clk_get_parent(dmic->fclk);
|
||||
if (IS_ERR(mux)) {
|
||||
if (!mux) {
|
||||
dev_err(dmic->dev, "can't get fck mux parent\n");
|
||||
clk_put(parent_clk);
|
||||
return -ENODEV;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user