summaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorRene Herman2007-03-28 15:23:53 +0200
committerJaroslav Kysela2007-05-11 16:55:54 +0200
commitb942cf815b5775288550f99f3790e29815bb70cb (patch)
tree1b7ec7d36b3504139d7b9dd32eb25c56e4d877b3 /sound
parent[ALSA] hda-codec - Fix missing array terminators (diff)
downloadkernel-qcow2-linux-b942cf815b5775288550f99f3790e29815bb70cb.tar.gz
kernel-qcow2-linux-b942cf815b5775288550f99f3790e29815bb70cb.tar.xz
kernel-qcow2-linux-b942cf815b5775288550f99f3790e29815bb70cb.zip
[ALSA] es1968 - Fix stuttering capture
Looks like the buffer size for the stereo capture has to be a power of two. Now added a constraint to buffer bytes. Also removed unnecessary #if 0 lines. Signed-off-by: Rene Herman <rene.herman@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Diffstat (limited to 'sound')
-rw-r--r--sound/pci/es1968.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/sound/pci/es1968.c b/sound/pci/es1968.c
index dc84c189b05f..2faf009076bb 100644
--- a/sound/pci/es1968.c
+++ b/sound/pci/es1968.c
@@ -1554,10 +1554,7 @@ static int snd_es1968_playback_open(struct snd_pcm_substream *substream)
runtime->hw = snd_es1968_playback;
runtime->hw.buffer_bytes_max = runtime->hw.period_bytes_max =
calc_available_memory_size(chip);
-#if 0
- snd_pcm_hw_constraint_step(runtime, 0, SNDRV_PCM_HW_PARAM_BUFFER_BYTES,
- 1024);
-#endif
+
spin_lock_irq(&chip->substream_lock);
list_add(&es->list, &chip->substream_list);
spin_unlock_irq(&chip->substream_lock);
@@ -1613,10 +1610,8 @@ static int snd_es1968_capture_open(struct snd_pcm_substream *substream)
runtime->hw = snd_es1968_capture;
runtime->hw.buffer_bytes_max = runtime->hw.period_bytes_max =
calc_available_memory_size(chip) - 1024; /* keep MIXBUF size */
-#if 0
- snd_pcm_hw_constraint_step(runtime, 0, SNDRV_PCM_HW_PARAM_BUFFER_BYTES,
- 1024);
-#endif
+ snd_pcm_hw_constraint_pow2(runtime, 0, SNDRV_PCM_HW_PARAM_BUFFER_BYTES);
+
spin_lock_irq(&chip->substream_lock);
list_add(&es->list, &chip->substream_list);
spin_unlock_irq(&chip->substream_lock);