diff options
author | Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> | 2015-02-07 00:55:52 +0300 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2015-02-09 18:02:11 +0300 |
commit | ed610af86a717152be5aa5e29410c5183992b4f2 (patch) | |
tree | 7b0e4c8d3076d841acd28d4a450e85bcbc386286 | |
parent | 2b79d7a6bf341ebeffb85fc2b3577d0cfa810c49 (diff) | |
download | linux-ed610af86a717152be5aa5e29410c5183992b4f2.tar.xz |
ALSA: hda: read trigger_timestamp immediately after starting DMA
Make sure wallclock counter and trigger timestamp are read very
close to each other for better alignment.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r-- | sound/pci/hda/hda_controller.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/pci/hda/hda_controller.c b/sound/pci/hda/hda_controller.c index 27dcb142f596..dfcb5e929f9f 100644 --- a/sound/pci/hda/hda_controller.c +++ b/sound/pci/hda/hda_controller.c @@ -657,6 +657,9 @@ static int azx_pcm_trigger(struct snd_pcm_substream *substream, int cmd) azx_writel(chip, SSYNC, azx_readl(chip, SSYNC) & ~sbits); if (start) { azx_timecounter_init(substream, 0, 0); + snd_pcm_gettime(substream->runtime, &substream->runtime->trigger_tstamp); + substream->runtime->trigger_tstamp_latched = true; + if (nsync > 1) { cycle_t cycle_last; |