aboutsummaryrefslogtreecommitdiffstats
path: root/include/sound/soc.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/sound/soc.h')
-rw-r--r--include/sound/soc.h31
1 files changed, 24 insertions, 7 deletions
diff --git a/include/sound/soc.h b/include/sound/soc.h
index 1378dcd2128a..41cec42fb456 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -1,13 +1,10 @@
1/* 1/* SPDX-License-Identifier: GPL-2.0
2 *
2 * linux/sound/soc.h -- ALSA SoC Layer 3 * linux/sound/soc.h -- ALSA SoC Layer
3 * 4 *
4 * Author: Liam Girdwood 5 * Author: Liam Girdwood
5 * Created: Aug 11th 2005 6 * Created: Aug 11th 2005
6 * Copyright: Wolfson Microelectronics. PLC. 7 * Copyright: Wolfson Microelectronics. PLC.
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation.
11 */ 8 */
12 9
13#ifndef __LINUX_SND_SOC_H 10#ifndef __LINUX_SND_SOC_H
@@ -806,6 +803,14 @@ struct snd_soc_component_driver {
806 unsigned int use_pmdown_time:1; /* care pmdown_time at stop */ 803 unsigned int use_pmdown_time:1; /* care pmdown_time at stop */
807 unsigned int endianness:1; 804 unsigned int endianness:1;
808 unsigned int non_legacy_dai_naming:1; 805 unsigned int non_legacy_dai_naming:1;
806
807 /* this component uses topology and ignore machine driver FEs */
808 const char *ignore_machine;
809 const char *topology_name_prefix;
810 int (*be_hw_params_fixup)(struct snd_soc_pcm_runtime *rtd,
811 struct snd_pcm_hw_params *params);
812 bool use_dai_pcm_id; /* use the DAI link PCM ID as PCM device number */
813 int be_pcm_base; /* base device ID for all BE PCMs */
809}; 814};
810 815
811struct snd_soc_component { 816struct snd_soc_component {
@@ -957,10 +962,17 @@ struct snd_soc_dai_link {
957 962
958 /* DPCM used FE & BE merged format */ 963 /* DPCM used FE & BE merged format */
959 unsigned int dpcm_merged_format:1; 964 unsigned int dpcm_merged_format:1;
965 /* DPCM used FE & BE merged channel */
966 unsigned int dpcm_merged_chan:1;
967 /* DPCM used FE & BE merged rate */
968 unsigned int dpcm_merged_rate:1;
960 969
961 /* pmdown_time is ignored at stop */ 970 /* pmdown_time is ignored at stop */
962 unsigned int ignore_pmdown_time:1; 971 unsigned int ignore_pmdown_time:1;
963 972
973 /* Do not create a PCM for this DAI link (Backend link) */
974 unsigned int ignore:1;
975
964 struct list_head list; /* DAI link list of the soc card */ 976 struct list_head list; /* DAI link list of the soc card */
965 struct snd_soc_dobj dobj; /* For topology */ 977 struct snd_soc_dobj dobj; /* For topology */
966}; 978};
@@ -1000,6 +1012,7 @@ struct snd_soc_card {
1000 const char *long_name; 1012 const char *long_name;
1001 const char *driver_name; 1013 const char *driver_name;
1002 char dmi_longname[80]; 1014 char dmi_longname[80];
1015 char topology_shortname[32];
1003 1016
1004 struct device *dev; 1017 struct device *dev;
1005 struct snd_card *snd_card; 1018 struct snd_card *snd_card;
@@ -1009,6 +1022,7 @@ struct snd_soc_card {
1009 struct mutex dapm_mutex; 1022 struct mutex dapm_mutex;
1010 1023
1011 bool instantiated; 1024 bool instantiated;
1025 bool topology_shortname_created;
1012 1026
1013 int (*probe)(struct snd_soc_card *card); 1027 int (*probe)(struct snd_soc_card *card);
1014 int (*late_probe)(struct snd_soc_card *card); 1028 int (*late_probe)(struct snd_soc_card *card);
@@ -1412,6 +1426,9 @@ int snd_soc_of_parse_card_name(struct snd_soc_card *card,
1412 const char *propname); 1426 const char *propname);
1413int snd_soc_of_parse_audio_simple_widgets(struct snd_soc_card *card, 1427int snd_soc_of_parse_audio_simple_widgets(struct snd_soc_card *card,
1414 const char *propname); 1428 const char *propname);
1429int snd_soc_of_get_slot_mask(struct device_node *np,
1430 const char *prop_name,
1431 unsigned int *mask);
1415int snd_soc_of_parse_tdm_slot(struct device_node *np, 1432int snd_soc_of_parse_tdm_slot(struct device_node *np,
1416 unsigned int *tx_mask, 1433 unsigned int *tx_mask,
1417 unsigned int *rx_mask, 1434 unsigned int *rx_mask,