summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/sound/hdaudio_ext.h1
-rw-r--r--sound/hda/ext/hdac_ext_controller.c21
2 files changed, 22 insertions, 0 deletions
diff --git a/include/sound/hdaudio_ext.h b/include/sound/hdaudio_ext.h
index f3454950ee0b..07fa59237feb 100644
--- a/include/sound/hdaudio_ext.h
+++ b/include/sound/hdaudio_ext.h
@@ -147,6 +147,7 @@ struct hdac_ext_link {
147 147
148int snd_hdac_ext_bus_link_power_up(struct hdac_ext_link *link); 148int snd_hdac_ext_bus_link_power_up(struct hdac_ext_link *link);
149int snd_hdac_ext_bus_link_power_down(struct hdac_ext_link *link); 149int snd_hdac_ext_bus_link_power_down(struct hdac_ext_link *link);
150int snd_hdac_ext_bus_link_power_up_all(struct hdac_ext_bus *ebus);
150int snd_hdac_ext_bus_link_power_down_all(struct hdac_ext_bus *ebus); 151int snd_hdac_ext_bus_link_power_down_all(struct hdac_ext_bus *ebus);
151void snd_hdac_ext_link_set_stream_id(struct hdac_ext_link *link, 152void snd_hdac_ext_link_set_stream_id(struct hdac_ext_link *link,
152 int stream); 153 int stream);
diff --git a/sound/hda/ext/hdac_ext_controller.c b/sound/hda/ext/hdac_ext_controller.c
index 1a55a781270d..548cc1e4114b 100644
--- a/sound/hda/ext/hdac_ext_controller.c
+++ b/sound/hda/ext/hdac_ext_controller.c
@@ -288,6 +288,27 @@ int snd_hdac_ext_bus_link_power_down(struct hdac_ext_link *link)
288EXPORT_SYMBOL_GPL(snd_hdac_ext_bus_link_power_down); 288EXPORT_SYMBOL_GPL(snd_hdac_ext_bus_link_power_down);
289 289
290/** 290/**
291 * snd_hdac_ext_bus_link_power_up_all -power up all hda link
292 * @ebus: HD-audio extended bus
293 */
294int snd_hdac_ext_bus_link_power_up_all(struct hdac_ext_bus *ebus)
295{
296 struct hdac_ext_link *hlink = NULL;
297 int ret;
298
299 list_for_each_entry(hlink, &ebus->hlink_list, list) {
300 snd_hdac_updatel(hlink->ml_addr,
301 AZX_REG_ML_LCTL, 0, AZX_MLCTL_SPA);
302 ret = check_hdac_link_power_active(hlink, true);
303 if (ret < 0)
304 return ret;
305 }
306
307 return 0;
308}
309EXPORT_SYMBOL_GPL(snd_hdac_ext_bus_link_power_up_all);
310
311/**
291 * snd_hdac_ext_bus_link_power_down_all -power down all hda link 312 * snd_hdac_ext_bus_link_power_down_all -power down all hda link
292 * @ebus: HD-audio extended bus 313 * @ebus: HD-audio extended bus
293 */ 314 */