[alsa-devel] [PATCH] cs4231: remove two auto-calibrations during chip initialization
Rene Herman
rene.herman at gmail.com
Tue Sep 18 12:38:09 CEST 2007
On 09/18/2007 12:17 PM, Krzysztof Helt wrote:
> From: Krzysztof Helt <krzysztof.h1 at wp.pl>
>
> The initialization function did auto-calibration after each
> register setting. This patch merges more register changes
> before auto-calibration is done.
Seems to make sense but am a little uneasy about these -- someone very much
did it this way on purpose originally it seems. Jaroslav, that someone was
you I believe? Do you remember anything about this?
> Signed-off-by: Krzysztof Helt <krzysztof.h1 at wp.pl>
> ---
>
> This is in the init() function so it is called just once.
> The patch is about cutting fat from cs4231 drivers as
> this change does not affect how they operate in any
> major way.
>
> diff -urp alsa-driver-1.0.15rc2/sound/isa/cs423x/cs4231_lib.c linux-2.6.23/sound/isa/cs423x/cs4231_lib.c
> --- alsa-driver-1.0.15rc2/sound/isa/cs423x/cs4231_lib.c 2007-09-12 13:33:51.000000000 +0200
> +++ linux-2.6.23/sound/isa/cs423x/cs4231_lib.c 2007-09-18 08:37:08.000000000 +0200
> @@ -652,15 +652,7 @@ static void snd_cs4231_init(struct snd_c
> CS4231_CALIB_MODE);
> chip->image[CS4231_IFACE_CTRL] |= CS4231_AUTOCALIB;
> snd_cs4231_out(chip, CS4231_IFACE_CTRL, chip->image[CS4231_IFACE_CTRL]);
> - spin_unlock_irqrestore(&chip->reg_lock, flags);
> - snd_cs4231_mce_down(chip);
> -
> -#ifdef SNDRV_DEBUG_MCE
> - snd_printk("init: (2)\n");
> -#endif
>
> - snd_cs4231_mce_up(chip);
> - spin_lock_irqsave(&chip->reg_lock, flags);
> snd_cs4231_out(chip, CS4231_ALT_FEATURE_1, chip->image[CS4231_ALT_FEATURE_1]);
> spin_unlock_irqrestore(&chip->reg_lock, flags);
> snd_cs4231_mce_down(chip);
> @@ -676,15 +668,6 @@ static void snd_cs4231_init(struct snd_c
> snd_cs4231_mce_up(chip);
> spin_lock_irqsave(&chip->reg_lock, flags);
> snd_cs4231_out(chip, CS4231_PLAYBK_FORMAT, chip->image[CS4231_PLAYBK_FORMAT]);
> - spin_unlock_irqrestore(&chip->reg_lock, flags);
> - snd_cs4231_mce_down(chip);
> -
> -#ifdef SNDRV_DEBUG_MCE
> - snd_printk("init: (4)\n");
> -#endif
> -
> - snd_cs4231_mce_up(chip);
> - spin_lock_irqsave(&chip->reg_lock, flags);
> snd_cs4231_out(chip, CS4231_REC_FORMAT, chip->image[CS4231_REC_FORMAT]);
> spin_unlock_irqrestore(&chip->reg_lock, flags);
> snd_cs4231_mce_down(chip);
> diff -urp linux-2.6.23.ref/sound/sparc/cs4231.c linux-2.6.23/sound/sparc/cs4231.c
> --- linux-2.6.23.ref/sound/sparc/cs4231.c 2007-09-18 09:26:12.000000000 +0200
> +++ linux-2.6.23/sound/sparc/cs4231.c 2007-09-18 09:26:54.000000000 +0200
> @@ -733,15 +733,6 @@ static void __init snd_cs4231_init(struc
> CS4231_CALIB_MODE);
> chip->image[CS4231_IFACE_CTRL] |= CS4231_AUTOCALIB;
> snd_cs4231_out(chip, CS4231_IFACE_CTRL, chip->image[CS4231_IFACE_CTRL]);
> - spin_unlock_irqrestore(&chip->lock, flags);
> - snd_cs4231_mce_down(chip);
> -
> -#ifdef SNDRV_DEBUG_MCE
> - snd_printdd("init: (2)\n");
> -#endif
> -
> - snd_cs4231_mce_up(chip);
> - spin_lock_irqsave(&chip->lock, flags);
> snd_cs4231_out(chip, CS4231_ALT_FEATURE_1, chip->image[CS4231_ALT_FEATURE_1]);
> spin_unlock_irqrestore(&chip->lock, flags);
> snd_cs4231_mce_down(chip);
> @@ -757,15 +748,6 @@ static void __init snd_cs4231_init(struc
> snd_cs4231_mce_up(chip);
> spin_lock_irqsave(&chip->lock, flags);
> snd_cs4231_out(chip, CS4231_PLAYBK_FORMAT, chip->image[CS4231_PLAYBK_FORMAT]);
> - spin_unlock_irqrestore(&chip->lock, flags);
> - snd_cs4231_mce_down(chip);
> -
> -#ifdef SNDRV_DEBUG_MCE
> - snd_printdd("init: (4)\n");
> -#endif
> -
> - snd_cs4231_mce_up(chip);
> - spin_lock_irqsave(&chip->lock, flags);
> snd_cs4231_out(chip, CS4231_REC_FORMAT, chip->image[CS4231_REC_FORMAT]);
> spin_unlock_irqrestore(&chip->lock, flags);
> snd_cs4231_mce_down(chip);
Rene.
More information about the Alsa-devel
mailing list