提交 e8dede5a 编写于 作者: T Takashi Iwai 提交者: Jaroslav Kysela

[ALSA] hda-intel - Disable DMA position auto-correction

HDA Intel driver
Disable the auto-correction of DMA position temporarily.
It doesn't work as expected yet...
Signed-off-by: NTakashi Iwai <tiwai@suse.de>
上级 84802f0d
...@@ -1137,6 +1137,7 @@ static snd_pcm_uframes_t azx_pcm_pointer(snd_pcm_substream_t *substream) ...@@ -1137,6 +1137,7 @@ static snd_pcm_uframes_t azx_pcm_pointer(snd_pcm_substream_t *substream)
pos = azx_sd_readl(azx_dev, SD_LPIB); pos = azx_sd_readl(azx_dev, SD_LPIB);
if (chip->position_fix == POS_FIX_FIFO) if (chip->position_fix == POS_FIX_FIFO)
pos += azx_dev->fifo_size; pos += azx_dev->fifo_size;
#if 0 /* disabled temprarily, auto-correction doesn't work well... */
else if (chip->position_fix == POS_FIX_AUTO && azx_dev->period_updating) { else if (chip->position_fix == POS_FIX_AUTO && azx_dev->period_updating) {
/* check the validity of DMA position */ /* check the validity of DMA position */
unsigned int diff = 0; unsigned int diff = 0;
...@@ -1157,6 +1158,10 @@ static snd_pcm_uframes_t azx_pcm_pointer(snd_pcm_substream_t *substream) ...@@ -1157,6 +1158,10 @@ static snd_pcm_uframes_t azx_pcm_pointer(snd_pcm_substream_t *substream)
} }
azx_dev->period_updating = 0; azx_dev->period_updating = 0;
} }
#else
else if (chip->position_fix == POS_FIX_AUTO)
pos += azx_dev->fifo_size;
#endif
} }
if (pos >= azx_dev->bufsize) if (pos >= azx_dev->bufsize)
pos = 0; pos = 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册