diff options
author | Vinod Koul <vinod.koul@intel.com> | 2016-05-12 08:58:53 +0530 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2016-05-13 11:43:00 +0100 |
commit | 4446085d21e75dd6c0c45577f12db0bd7c7bf35f (patch) | |
tree | 2a96c35b59641cb3cf898333398388b0155af77e /sound/hda/ext/hdac_ext_bus.c | |
parent | bfb7802a06ac1855096a3f248822e8f943e6574d (diff) | |
download | linux-4446085d21e75dd6c0c45577f12db0bd7c7bf35f.tar.bz2 |
ALSA: hdac: add link pm and ref counting
The HDA links can be switched off when not is use, similarly
command DMA can be stopped as well. This calls for a reference
counting mechanism on the link by it's users to manage the link
power. The DMA can be turned off when all links are off
For this we add two APIs
snd_hdac_ext_bus_link_get
snd_hdac_ext_bus_link_put
They help users to turn up/down link and manage the DMA as well
Signed-off-by: Jeeja KP <jeeja.kp@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Acked-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/hda/ext/hdac_ext_bus.c')
-rw-r--r-- | sound/hda/ext/hdac_ext_bus.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/hda/ext/hdac_ext_bus.c b/sound/hda/ext/hdac_ext_bus.c index 2433f7c81472..3b7ae24900fd 100644 --- a/sound/hda/ext/hdac_ext_bus.c +++ b/sound/hda/ext/hdac_ext_bus.c @@ -105,6 +105,9 @@ int snd_hdac_ext_bus_init(struct hdac_ext_bus *ebus, struct device *dev, INIT_LIST_HEAD(&ebus->hlink_list); ebus->idx = idx++; + mutex_init(&ebus->lock); + ebus->cmd_dma_state = true; + return 0; } EXPORT_SYMBOL_GPL(snd_hdac_ext_bus_init); |