diff options
author | Jeeja KP <jeeja.kp@intel.com> | 2015-12-18 12:41:59 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2016-01-10 15:02:30 +0300 |
commit | a9c48f7f5906d02d4ec4aa50b1c20fccbce53eec (patch) | |
tree | 845f455a73f44b45c1f6d075ce73ab76b0363677 /sound/hda/ext/hdac_ext_controller.c | |
parent | 1e83b0475a6833a2cb88beeb79f095b0cf4b40db (diff) | |
download | linux-a9c48f7f5906d02d4ec4aa50b1c20fccbce53eec.tar.xz |
ALSA: hdac: Add support for hda DMA Resume capability
Skylake sports new capability of DMA resume, DRSM where we can
resume the DMA. This capability is defined by presence of
AZX_DRSM_CAP_ID.
If this capability is present, we use this capability.
So we add:
snd_hdac_ext_stream_drsm_enable() - DMA resume caps
snd_hdac_ext_stream_set_dpibr() - set the DMA position
snd_hdac_ext_stream_set_lpib() - set the lpib
Signed-off-by: Jeeja KP <jeeja.kp@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Reviewed-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/hda/ext/hdac_ext_controller.c')
-rw-r--r-- | sound/hda/ext/hdac_ext_controller.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sound/hda/ext/hdac_ext_controller.c b/sound/hda/ext/hdac_ext_controller.c index 63215b17247c..556267e75591 100644 --- a/sound/hda/ext/hdac_ext_controller.c +++ b/sound/hda/ext/hdac_ext_controller.c @@ -77,6 +77,12 @@ int snd_hdac_ext_bus_parse_capabilities(struct hdac_ext_bus *ebus) ebus->spbcap = bus->remap_addr + offset; break; + case AZX_DRSM_CAP_ID: + /* DMA resume capability found, handler function */ + dev_dbg(bus->dev, "Found DRSM capability\n"); + ebus->drsmcap = bus->remap_addr + offset; + break; + default: dev_dbg(bus->dev, "Unknown capability %d\n", cur_cap); break; |