aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorAdrian Knoth <adi@drcomp.erfurt.thur.de>2015-02-10 05:33:50 -0500
committerTakashi Iwai <tiwai@suse.de>2015-02-13 11:22:58 -0500
commitf0153c3d948c1764f6c920a0675d86fc1d75813e (patch)
tree306a382f8e098f950ae271e92e0ca225aa659e59 /sound
parent7976eb49cbd138d8014fa02682d8f969ad1e9ff2 (diff)
ALSA: hdspm - Constrain periods to 2 on older cards
RME RayDAT and AIO use a fixed buffer size of 16384 samples. With period sizes of 32-4096, this translates to 4-512 periods. The older RME cards have a variable buffer size but require exactly two periods. This patch enforces nperiods=2 on those cards. Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Cc: <stable@vger.kernel.org> # 2.6.39+ Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound')
-rw-r--r--sound/pci/rme9652/hdspm.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sound/pci/rme9652/hdspm.c b/sound/pci/rme9652/hdspm.c
index 2c363fdca9fd..ca67f896d117 100644
--- a/sound/pci/rme9652/hdspm.c
+++ b/sound/pci/rme9652/hdspm.c
@@ -6082,6 +6082,9 @@ static int snd_hdspm_playback_open(struct snd_pcm_substream *substream)
6082 snd_pcm_hw_constraint_minmax(runtime, 6082 snd_pcm_hw_constraint_minmax(runtime,
6083 SNDRV_PCM_HW_PARAM_PERIOD_SIZE, 6083 SNDRV_PCM_HW_PARAM_PERIOD_SIZE,
6084 64, 8192); 6084 64, 8192);
6085 snd_pcm_hw_constraint_minmax(runtime,
6086 SNDRV_PCM_HW_PARAM_PERIODS,
6087 2, 2);
6085 break; 6088 break;
6086 } 6089 }
6087 6090
@@ -6156,6 +6159,9 @@ static int snd_hdspm_capture_open(struct snd_pcm_substream *substream)
6156 snd_pcm_hw_constraint_minmax(runtime, 6159 snd_pcm_hw_constraint_minmax(runtime,
6157 SNDRV_PCM_HW_PARAM_PERIOD_SIZE, 6160 SNDRV_PCM_HW_PARAM_PERIOD_SIZE,
6158 64, 8192); 6161 64, 8192);
6162 snd_pcm_hw_constraint_minmax(runtime,
6163 SNDRV_PCM_HW_PARAM_PERIODS,
6164 2, 2);
6159 break; 6165 break;
6160 } 6166 }
6161 6167