diff options
author | Mark Brown <broonie@kernel.org> | 2016-05-13 15:26:22 +0200 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2016-05-13 15:26:22 +0200 |
commit | c988e26130132813e3550a7b97ab2ed2ae0455eb (patch) | |
tree | 9259bd3e05c9a3f607051501ece7c252785f2e22 /include | |
parent | Merge remote-tracking branch 'asoc/topic/imx' into asoc-next (diff) | |
parent | ASoC: hdac_hdmi: add link management (diff) | |
download | linux-c988e26130132813e3550a7b97ab2ed2ae0455eb.tar.xz linux-c988e26130132813e3550a7b97ab2ed2ae0455eb.zip |
Merge remote-tracking branch 'asoc/topic/intel' into asoc-next
Diffstat (limited to 'include')
-rw-r--r-- | include/sound/hdaudio_ext.h | 13 | ||||
-rw-r--r-- | include/sound/soc.h | 2 |
2 files changed, 14 insertions, 1 deletions
diff --git a/include/sound/hdaudio_ext.h b/include/sound/hdaudio_ext.h index 07fa59237feb..b9593b201599 100644 --- a/include/sound/hdaudio_ext.h +++ b/include/sound/hdaudio_ext.h @@ -14,6 +14,8 @@ * @gtscap: gts capabilities pointer * @drsmcap: dma resume capabilities pointer * @hlink_list: link list of HDA links + * @lock: lock for link mgmt + * @cmd_dma_state: state of cmd DMAs: CORB and RIRB */ struct hdac_ext_bus { struct hdac_bus bus; @@ -27,6 +29,9 @@ struct hdac_ext_bus { void __iomem *drsmcap; struct list_head hlink_list; + + struct mutex lock; + bool cmd_dma_state; }; int snd_hdac_ext_bus_init(struct hdac_ext_bus *sbus, struct device *dev, @@ -142,6 +147,9 @@ struct hdac_ext_link { void __iomem *ml_addr; /* link output stream reg pointer */ u32 lcaps; /* link capablities */ u16 lsdiid; /* link sdi identifier */ + + int ref_count; + struct list_head list; }; @@ -154,6 +162,11 @@ void snd_hdac_ext_link_set_stream_id(struct hdac_ext_link *link, void snd_hdac_ext_link_clear_stream_id(struct hdac_ext_link *link, int stream); +int snd_hdac_ext_bus_link_get(struct hdac_ext_bus *ebus, + struct hdac_ext_link *link); +int snd_hdac_ext_bus_link_put(struct hdac_ext_bus *ebus, + struct hdac_ext_link *link); + /* update register macro */ #define snd_hdac_updatel(addr, reg, mask, val) \ writel(((readl(addr + reg) & ~(mask)) | (val)), \ diff --git a/include/sound/soc.h b/include/sound/soc.h index 02b4a215fd75..ef25e86d51ee 100644 --- a/include/sound/soc.h +++ b/include/sound/soc.h @@ -1002,7 +1002,7 @@ struct snd_soc_dai_link { */ const char *platform_name; struct device_node *platform_of_node; - int be_id; /* optional ID for machine driver BE identification */ + int id; /* optional ID for machine driver link identification */ const struct snd_soc_pcm_stream *params; unsigned int num_params; |