Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932353Ab0BEICN (ORCPT ); Fri, 5 Feb 2010 03:02:13 -0500 Received: from cantor.suse.de ([195.135.220.2]:43993 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753922Ab0BEICL (ORCPT ); Fri, 5 Feb 2010 03:02:11 -0500 Date: Fri, 05 Feb 2010 09:02:10 +0100 Message-ID: From: Takashi Iwai To: Sebastien Alaiwan Cc: LKML Subject: Re: [PATCH] ice1712: fix: lock samplerate when samplerate locking is enabled. In-Reply-To: <4B6B3A0B.1020501@gmail.com> References: <4B69E06E.90308@gmail.com> <4B6B337B.2070904@gmail.com> <4B6B3A0B.1020501@gmail.com> User-Agent: Wanderlust/2.15.6 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL/10.7 Emacs/23.1 (x86_64-suse-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2583 Lines: 69 At Thu, 04 Feb 2010 22:20:11 +0100, Sebastien Alaiwan wrote: > > Sebastien Alaiwan wrote: > Takashi Iwai wrote: > > At Wed, 03 Feb 2010 21:45:34 +0100, > > Sebastien Alaiwan wrote: > >> Hello, > >> > >> I found that the sampling rate locking setting of the ice1712 sound driver was > >> only half-respected : when the driver was locked to, let's say, 44100Hz, and a > >> usermode app was requesting 48000Hz playback, the request was succesful although > >> the soundcard would continue to run at 44100Hz. > >> > >> Here's a patch that will make those requests to fail. > > Thanks, the patch looks OK. But changing runtime->hw.rate_min and > > rate_max would be cheaper. It won't involve with kmalloc(). > > In theory, snd_pcm_hw_constraint*() can fail. > > > > Could you fix in that way and give your sign-off to merge to the > > upstream? (And don't forget to add me to Cc.) > > Thank you for reviewing my patch. Here's an updated version according to your > advice. You can merge to the upstream if it's okay. Sorry for the double > mail, here's a signed-off version. > > Signed-off-by: Sebastien Alaiwan Thanks! Applied now (with minor coding-style fixes). Takashi > ------ > diff --git a/sound/pci/ice1712/ice1712.c b/sound/pci/ice1712/ice1712.c > index c7cff6f..319df17 100644 > --- a/sound/pci/ice1712/ice1712.c > +++ b/sound/pci/ice1712/ice1712.c > @@ -1180,6 +1180,11 @@ static int snd_ice1712_playback_pro_open(struct snd_pcm_substream *substream) > snd_pcm_set_sync(substream); > snd_pcm_hw_constraint_msbits(runtime, 0, 32, 24); > snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_RATE, &hw_constraints_rates); > + if (is_pro_rate_locked(ice)) > + { > + runtime->hw.rate_min = PRO_RATE_DEFAULT; > + runtime->hw.rate_max = PRO_RATE_DEFAULT; > + } > > if (ice->spdif.ops.open) > ice->spdif.ops.open(ice, substream); > @@ -1197,6 +1202,12 @@ static int snd_ice1712_capture_pro_open(struct snd_pcm_substream *substream) > snd_pcm_set_sync(substream); > snd_pcm_hw_constraint_msbits(runtime, 0, 32, 24); > snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_RATE, &hw_constraints_rates); > + if (is_pro_rate_locked(ice)) > + { > + runtime->hw.rate_min = PRO_RATE_DEFAULT; > + runtime->hw.rate_max = PRO_RATE_DEFAULT; > + } > + > return 0; > } > > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/