aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorAdrian Knoth <adi@drcomp.erfurt.thur.de>2015-02-10 11:33:50 +0100
committerBen Hutchings <ben@decadent.org.uk>2015-05-09 23:16:17 +0100
commit7c21a3eadc4f794c7f9aaf86c1d2d5df5b8b6c89 (patch)
treee6bb83158fb058449cc6f907055106e3a84d0054 /sound
parentca1a95865fdcf092aafdd911beb9520c59c714c8 (diff)
downloadkernel_samsung_smdk4412-7c21a3eadc4f794c7f9aaf86c1d2d5df5b8b6c89.zip
kernel_samsung_smdk4412-7c21a3eadc4f794c7f9aaf86c1d2d5df5b8b6c89.tar.gz
kernel_samsung_smdk4412-7c21a3eadc4f794c7f9aaf86c1d2d5df5b8b6c89.tar.bz2
ALSA: hdspm - Constrain periods to 2 on older cards
commit f0153c3d948c1764f6c920a0675d86fc1d75813e upstream. 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> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
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 19ee220..71a3d52 100644
--- a/sound/pci/rme9652/hdspm.c
+++ b/sound/pci/rme9652/hdspm.c
@@ -5966,6 +5966,9 @@ static int snd_hdspm_playback_open(struct snd_pcm_substream *substream)
snd_pcm_hw_constraint_minmax(runtime,
SNDRV_PCM_HW_PARAM_PERIOD_SIZE,
64, 8192);
+ snd_pcm_hw_constraint_minmax(runtime,
+ SNDRV_PCM_HW_PARAM_PERIODS,
+ 2, 2);
break;
}
@@ -6040,6 +6043,9 @@ static int snd_hdspm_capture_open(struct snd_pcm_substream *substream)
snd_pcm_hw_constraint_minmax(runtime,
SNDRV_PCM_HW_PARAM_PERIOD_SIZE,
64, 8192);
+ snd_pcm_hw_constraint_minmax(runtime,
+ SNDRV_PCM_HW_PARAM_PERIODS,
+ 2, 2);
break;
}