[alsa-devel] [PATCH 5/5] snd-ice1712: Fix resume on ice1724
Ondrej Zary
linux at rainbow-software.org
Tue Oct 30 20:34:00 CET 2012
On Wednesday 17 October 2012 08:57:39 Takashi Iwai wrote:
> At Sun, 14 Oct 2012 21:09:23 +0200,
>
> Ondrej Zary wrote:
> > set_pro_rate() is called from hw_params() but not from prepare(),
> > breaking running PCM on suspend/resume. Call it from prepare() if PCM was
> > suspended to fix the problem.
> >
> > Signed-off-by: Ondrej Zary <linux at rainbow-software.org>
>
> This should be fixed in the resume callback. Could you check the
> patch below instead?
I've now verified that this patch fixes a real problem. When "multi track rate
locking" is disabled and some sound is played at non-default (non-48kHz)
frequency during suspend, the frequency is wrong (48kHz) after resume. This
patch fixes that.
> thanks,
>
> Takashi
>
> ---
> diff --git a/sound/pci/ice1712/ice1724.c b/sound/pci/ice1712/ice1724.c
> index 161c8f6..5cc3fa5 100644
> --- a/sound/pci/ice1712/ice1724.c
> +++ b/sound/pci/ice1712/ice1724.c
> @@ -2867,7 +2867,12 @@ static int snd_vt1724_resume(struct device *dev)
> ice->set_spdif_clock(ice, 0);
> } else {
> /* internal on-card clock */
> - snd_vt1724_set_pro_rate(ice, ice->pro_rate_default, 1);
> + int rate;
> + if (ice->cur_rate)
> + rate = ice->cur_rate;
> + else
> + rate = ice->pro_rate_default;
> + snd_vt1724_set_pro_rate(ice, rate, 1);
> }
>
> update_spdif_bits(ice, ice->pm_saved_spdif_ctrl);
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
--
Ondrej Zary
More information about the Alsa-devel
mailing list