diff options
| -rw-r--r-- | include/sound/hdaudio_ext.h | 1 | ||||
| -rw-r--r-- | sound/hda/ext/hdac_ext_controller.c | 21 |
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 | ||
| 148 | int snd_hdac_ext_bus_link_power_up(struct hdac_ext_link *link); | 148 | int snd_hdac_ext_bus_link_power_up(struct hdac_ext_link *link); |
| 149 | int snd_hdac_ext_bus_link_power_down(struct hdac_ext_link *link); | 149 | int snd_hdac_ext_bus_link_power_down(struct hdac_ext_link *link); |
| 150 | int snd_hdac_ext_bus_link_power_up_all(struct hdac_ext_bus *ebus); | ||
| 150 | int snd_hdac_ext_bus_link_power_down_all(struct hdac_ext_bus *ebus); | 151 | int snd_hdac_ext_bus_link_power_down_all(struct hdac_ext_bus *ebus); |
| 151 | void snd_hdac_ext_link_set_stream_id(struct hdac_ext_link *link, | 152 | void 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) | |||
| 288 | EXPORT_SYMBOL_GPL(snd_hdac_ext_bus_link_power_down); | 288 | EXPORT_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 | */ | ||
| 294 | int 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 | } | ||
| 309 | EXPORT_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 | */ |
