mirror of
https://github.com/torvalds/linux.git
synced 2026-09-24 06:24:02 +02:00
ASoC: soc-acpi-intel-matchs: use function topology by default
Bard Liao <yung-chuan.liao@linux.intel.com> says:
With commit c84179a1d3 ("ASoC: Intel: sof_sdw: append dai type to dai
link name unconditionally"), function topology can apply to all
SoundWire codec configurations. Set .get_function_tplg_files callback to
use function topology by default. If any required function topology can
not be found in the file system, it will fallback to use the monolithic
topology.
Link: https://patch.msgid.link/20260723070521.870256-1-yung-chuan.liao@linux.intel.com
This commit is contained in:
commit
5d53be1cf9
|
|
@ -572,6 +572,7 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_arl_sdw_machines[] = {
|
|||
.links = arl_rt711_l0_rt1316_l3,
|
||||
.drv_name = "sof_sdw",
|
||||
.sof_tplg_filename = "sof-arl-rt711-l0-rt1316-l3.tplg",
|
||||
.get_function_tplg_files = sof_sdw_get_tplg_files,
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(0) | BIT(3),
|
||||
|
|
@ -600,12 +601,14 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_arl_sdw_machines[] = {
|
|||
.links = arl_rvp,
|
||||
.drv_name = "sof_sdw",
|
||||
.sof_tplg_filename = "sof-arl-rt711.tplg",
|
||||
.get_function_tplg_files = sof_sdw_get_tplg_files,
|
||||
},
|
||||
{
|
||||
.link_mask = 0x1, /* link0 required */
|
||||
.links = arl_sdca_rvp,
|
||||
.drv_name = "sof_sdw",
|
||||
.sof_tplg_filename = "sof-arl-rt711-l0.tplg",
|
||||
.get_function_tplg_files = sof_sdw_get_tplg_files,
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(2),
|
||||
|
|
|
|||
|
|
@ -717,24 +717,28 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_lnl_sdw_machines[] = {
|
|||
.links = lnl_3_in_1_sdca,
|
||||
.drv_name = "sof_sdw",
|
||||
.sof_tplg_filename = "sof-lnl-rt711-l0-rt1316-l23-rt714-l1.tplg",
|
||||
.get_function_tplg_files = sof_sdw_get_tplg_files,
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(0) | BIT(2) | BIT(3),
|
||||
.links = lnl_cs42l43_l0_cs35l56_l23,
|
||||
.drv_name = "sof_sdw",
|
||||
.sof_tplg_filename = "sof-lnl-cs42l43-l0-cs35l56-l23.tplg",
|
||||
.get_function_tplg_files = sof_sdw_get_tplg_files,
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(1) | BIT(2) | BIT(3),
|
||||
.links = lnl_cs42l43_l2_cs35l56x6_l13,
|
||||
.drv_name = "sof_sdw",
|
||||
.sof_tplg_filename = "sof-lnl-cs42l43-l2-cs35l56x6-l13.tplg",
|
||||
.get_function_tplg_files = sof_sdw_get_tplg_files,
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(0) | BIT(3),
|
||||
.links = lnl_cs42l43_l0_cs35l56_l3,
|
||||
.drv_name = "sof_sdw",
|
||||
.sof_tplg_filename = "sof-lnl-cs42l43-l0-cs35l56-l3.tplg",
|
||||
.get_function_tplg_files = sof_sdw_get_tplg_files,
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(0),
|
||||
|
|
@ -748,12 +752,14 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_lnl_sdw_machines[] = {
|
|||
.links = lnl_rvp,
|
||||
.drv_name = "sof_sdw",
|
||||
.sof_tplg_filename = "sof-lnl-rt711.tplg",
|
||||
.get_function_tplg_files = sof_sdw_get_tplg_files,
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(2) | BIT(3),
|
||||
.links = lnl_712_only,
|
||||
.drv_name = "sof_sdw",
|
||||
.sof_tplg_filename = "sof-lnl-rt712-l2-rt1712-l3.tplg",
|
||||
.get_function_tplg_files = sof_sdw_get_tplg_files,
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(0),
|
||||
|
|
@ -766,19 +772,22 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_lnl_sdw_machines[] = {
|
|||
.link_mask = GENMASK(2, 0),
|
||||
.links = lnl_sdw_rt1318_l12_rt714_l0,
|
||||
.drv_name = "sof_sdw",
|
||||
.sof_tplg_filename = "sof-lnl-rt1318-l12-rt714-l0.tplg"
|
||||
.sof_tplg_filename = "sof-lnl-rt1318-l12-rt714-l0.tplg",
|
||||
.get_function_tplg_files = sof_sdw_get_tplg_files,
|
||||
},
|
||||
{
|
||||
.link_mask = GENMASK(2, 0),
|
||||
.links = lnl_sdw_rt1320_l12_rt714_l0,
|
||||
.drv_name = "sof_sdw",
|
||||
.sof_tplg_filename = "sof-lnl-rt1320-l12-rt714-l0.tplg"
|
||||
.sof_tplg_filename = "sof-lnl-rt1320-l12-rt714-l0.tplg",
|
||||
.get_function_tplg_files = sof_sdw_get_tplg_files,
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(0) | BIT(1),
|
||||
.links = lnl_sdw_rt713_l0_rt1318_l1,
|
||||
.drv_name = "sof_sdw",
|
||||
.sof_tplg_filename = "sof-lnl-rt713-l0-rt1318-l1.tplg"
|
||||
.sof_tplg_filename = "sof-lnl-rt713-l0-rt1318-l1.tplg",
|
||||
.get_function_tplg_files = sof_sdw_get_tplg_files,
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(1) | BIT(2),
|
||||
|
|
|
|||
|
|
@ -1321,60 +1321,70 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_mtl_sdw_machines[] = {
|
|||
.links = tac5572_l0,
|
||||
.drv_name = "sof_sdw",
|
||||
.sof_tplg_filename = "sof-mtl-tac5572.tplg",
|
||||
.get_function_tplg_files = sof_sdw_get_tplg_files,
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(0),
|
||||
.links = tac5672_l0,
|
||||
.drv_name = "sof_sdw",
|
||||
.sof_tplg_filename = "sof-mtl-tac5672.tplg",
|
||||
.get_function_tplg_files = sof_sdw_get_tplg_files,
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(0),
|
||||
.links = tac5682_l0,
|
||||
.drv_name = "sof_sdw",
|
||||
.sof_tplg_filename = "sof-mtl-tac5682.tplg",
|
||||
.get_function_tplg_files = sof_sdw_get_tplg_files,
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(0),
|
||||
.links = tas2783_link0,
|
||||
.drv_name = "sof_sdw",
|
||||
.sof_tplg_filename = "sof-mtl-tas2783.tplg",
|
||||
.get_function_tplg_files = sof_sdw_get_tplg_files,
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(0),
|
||||
.links = tas2883_l0,
|
||||
.drv_name = "sof_sdw",
|
||||
.sof_tplg_filename = "sof-mtl-tas2883.tplg",
|
||||
.get_function_tplg_files = sof_sdw_get_tplg_files,
|
||||
},
|
||||
{
|
||||
.link_mask = GENMASK(3, 0),
|
||||
.links = mtl_rt713_l0_rt1316_l12_rt1713_l3,
|
||||
.drv_name = "sof_sdw",
|
||||
.sof_tplg_filename = "sof-mtl-rt713-l0-rt1316-l12-rt1713-l3.tplg",
|
||||
.get_function_tplg_files = sof_sdw_get_tplg_files,
|
||||
},
|
||||
{
|
||||
.link_mask = GENMASK(3, 0),
|
||||
.links = mtl_rt713_l0_rt1318_l12_rt1713_l3,
|
||||
.drv_name = "sof_sdw",
|
||||
.sof_tplg_filename = "sof-mtl-rt713-l0-rt1318-l12-rt1713-l3.tplg",
|
||||
.get_function_tplg_files = sof_sdw_get_tplg_files,
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(0) | BIT(1) | BIT(3),
|
||||
.links = mtl_rt713_l0_rt1318_l1_rt1713_l3,
|
||||
.drv_name = "sof_sdw",
|
||||
.sof_tplg_filename = "sof-mtl-rt713-l0-rt1318-l1-rt1713-l3.tplg",
|
||||
.get_function_tplg_files = sof_sdw_get_tplg_files,
|
||||
},
|
||||
{
|
||||
.link_mask = GENMASK(2, 0),
|
||||
.links = mtl_rt713_l0_rt1316_l12,
|
||||
.drv_name = "sof_sdw",
|
||||
.sof_tplg_filename = "sof-mtl-rt713-l0-rt1316-l12.tplg",
|
||||
.get_function_tplg_files = sof_sdw_get_tplg_files,
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(3) | BIT(0),
|
||||
.links = mtl_712_l0_1712_l3,
|
||||
.drv_name = "sof_sdw",
|
||||
.sof_tplg_filename = "sof-mtl-rt712-l0-rt1712-l3.tplg",
|
||||
.get_function_tplg_files = sof_sdw_get_tplg_files,
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(0),
|
||||
|
|
@ -1395,7 +1405,8 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_mtl_sdw_machines[] = {
|
|||
.link_mask = GENMASK(2, 0),
|
||||
.links = mtl_sdw_rt1318_l12_rt714_l0,
|
||||
.drv_name = "sof_sdw",
|
||||
.sof_tplg_filename = "sof-mtl-rt1318-l12-rt714-l0.tplg"
|
||||
.sof_tplg_filename = "sof-mtl-rt1318-l12-rt714-l0.tplg",
|
||||
.get_function_tplg_files = sof_sdw_get_tplg_files,
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(0) | BIT(2) | BIT(3),
|
||||
|
|
@ -1455,12 +1466,14 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_mtl_sdw_machines[] = {
|
|||
.links = mtl_3_in_1_sdca,
|
||||
.drv_name = "sof_sdw",
|
||||
.sof_tplg_filename = "sof-mtl-rt711-l0-rt1316-l23-rt714-l1.tplg",
|
||||
.get_function_tplg_files = sof_sdw_get_tplg_files,
|
||||
},
|
||||
{
|
||||
.link_mask = 0x9, /* 2 active links required */
|
||||
.links = mtl_rt711_l0_rt1316_l3,
|
||||
.drv_name = "sof_sdw",
|
||||
.sof_tplg_filename = "sof-mtl-rt711-l0-rt1316-l3.tplg",
|
||||
.get_function_tplg_files = sof_sdw_get_tplg_files,
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(0),
|
||||
|
|
@ -1474,18 +1487,21 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_mtl_sdw_machines[] = {
|
|||
.links = mtl_rvp,
|
||||
.drv_name = "sof_sdw",
|
||||
.sof_tplg_filename = "sof-mtl-rt711.tplg",
|
||||
.get_function_tplg_files = sof_sdw_get_tplg_files,
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(0) | BIT(2),
|
||||
.links = rt5682_link2_max98373_link0,
|
||||
.drv_name = "sof_sdw",
|
||||
.sof_tplg_filename = "sof-mtl-sdw-rt5682-l2-max98373-l0.tplg",
|
||||
.get_function_tplg_files = sof_sdw_get_tplg_files,
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(0) | BIT(2),
|
||||
.links = cs42l42_link0_max98363_link2,
|
||||
.drv_name = "sof_sdw",
|
||||
.sof_tplg_filename = "sof-mtl-sdw-cs42l42-l0-max98363-l2.tplg",
|
||||
.get_function_tplg_files = sof_sdw_get_tplg_files,
|
||||
},
|
||||
{},
|
||||
};
|
||||
|
|
|
|||
|
|
@ -492,7 +492,7 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_ptl_sdw_machines[] = {
|
|||
.links = ptl_rt722_l0_rt1320_l23,
|
||||
.drv_name = "sof_sdw",
|
||||
.sof_tplg_filename = "sof-ptl-rt722-l0-rt1320-l23.tplg",
|
||||
.get_function_tplg_files = sof_sdw_get_tplg_files,
|
||||
.machine_check = snd_soc_acpi_intel_no_function_topology,
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(1) | BIT(2),
|
||||
|
|
@ -522,14 +522,14 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_ptl_sdw_machines[] = {
|
|||
.links = ptl_rvp,
|
||||
.drv_name = "sof_sdw",
|
||||
.sof_tplg_filename = "sof-ptl-rt711.tplg",
|
||||
.get_function_tplg_files = sof_sdw_get_tplg_files,
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(3),
|
||||
.links = ptl_sdw_rt712_vb_l3_rt1320_l3,
|
||||
.drv_name = "sof_sdw",
|
||||
.machine_check = snd_soc_acpi_intel_sdca_is_device_rt712_vb,
|
||||
.machine_check = snd_soc_acpi_intel_rt712_vb_no_function_topology,
|
||||
.sof_tplg_filename = "sof-ptl-rt712-l3-rt1320-l3.tplg",
|
||||
.get_function_tplg_files = sof_sdw_get_tplg_files,
|
||||
},
|
||||
{},
|
||||
};
|
||||
|
|
|
|||
|
|
@ -53,6 +53,14 @@ bool snd_soc_acpi_intel_no_function_topology(void *arg)
|
|||
}
|
||||
EXPORT_SYMBOL_NS(snd_soc_acpi_intel_no_function_topology, "SND_SOC_ACPI_INTEL_SDCA_QUIRKS");
|
||||
|
||||
bool snd_soc_acpi_intel_rt712_vb_no_function_topology(void *arg)
|
||||
{
|
||||
return snd_soc_acpi_intel_sdca_is_device_rt712_vb(arg) &&
|
||||
snd_soc_acpi_intel_no_function_topology(arg);
|
||||
}
|
||||
EXPORT_SYMBOL_NS(snd_soc_acpi_intel_rt712_vb_no_function_topology,
|
||||
"SND_SOC_ACPI_INTEL_SDCA_QUIRKS");
|
||||
|
||||
MODULE_DESCRIPTION("ASoC ACPI Intel SDCA quirks");
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_IMPORT_NS("SND_SOC_SDCA");
|
||||
|
|
|
|||
|
|
@ -11,5 +11,6 @@
|
|||
|
||||
bool snd_soc_acpi_intel_sdca_is_device_rt712_vb(void *arg);
|
||||
bool snd_soc_acpi_intel_no_function_topology(void *arg);
|
||||
bool snd_soc_acpi_intel_rt712_vb_no_function_topology(void *arg);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user