lkml.org 
[lkml]   [2015]   [Mar]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [PATCH 3.10 16/53] ALSA: hdspm - Constrain periods to 2 on older cards
On 03/04/15 07:06, Greg Kroah-Hartman wrote:

Hi!

> 3.10-stable review patch. If anyone has any objections, please let me know.

Right here! ;) Since this is my first interaction with the stable
branch, chances are I'm doing it wrong. Just tell me if you need the
patch in a different format (read: clone the stable repo)

For some reasons, the 3.10.x version of the patch isn't correct:


> ------------------
>
> From: Adrian Knoth <adi@drcomp.erfurt.thur.de>
>
> 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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>
> ---
> sound/pci/rme9652/hdspm.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> --- a/sound/pci/rme9652/hdspm.c
> +++ b/sound/pci/rme9652/hdspm.c
> @@ -5863,6 +5863,12 @@ static int snd_hdspm_capture_open(struct
> 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);
> + snd_pcm_hw_constraint_minmax(runtime,
> + SNDRV_PCM_HW_PARAM_PERIODS,
> + 2, 2);
> break;
> }

Obviously, it doesn't make sense to do the same thing twice.

Here's how it should look: one of the constraints goes into
snd_hdspm_capture_open(), the other into snd_hdspm_capture_open().


--- 3.10.y/hdspm.c 2015-03-04 10:54:05.120849082 +0100
+++ 3.10.y-new/hdspm.c 2015-03-04 10:56:10.146020714 +0100
@@ -5789,6 +5789,9 @@ static int snd_hdspm_playback_open(struc
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;
}

@@ -5863,6 +5866,9 @@ static int snd_hdspm_capture_open(struct
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;
}

Cheers


\
 
 \ /
  Last update: 2015-03-04 11:21    [W:0.268 / U:0.536 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site