[PATCH] ad1848: remove redundant autocalibration

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Krzysztof Helt <krzysztof.h1@xxxxx>

This patch removes redundant auto-calibration 
(mce up/down sequence) from snd_ad1848_open().

Signed-off-by: Krzysztof Helt <krzysztof.h1@xxxxx>
---

The docs says that changing the Interface Configuration register
and the Format/Clock register requires the MCE bit set.
However, the docs do not say that additional auto-calibration is
required after setting one register and before setting the other.
Now, both registers are set at once.

Tested on SC-6000.

This should reduce opening latency by one auto-calibration period.

diff -urp linux-2.6.22.old/sound/isa/ad1848/ad1848_lib.c linux-2.6.23/sound/isa/ad1848/ad1848_lib.c
--- linux-2.6.22.old/sound/isa/ad1848/ad1848_lib.c	2007-09-12 13:33:51.000000000 +0200
+++ linux-2.6.23/sound/isa/ad1848/ad1848_lib.c	2007-09-18 00:36:33.000000000 +0200
@@ -408,17 +408,8 @@ static int snd_ad1848_open(struct snd_ad
 			     AD1848_CALIB_MODE);
 	chip->image[AD1848_IFACE_CTRL] |= AD1848_AUTOCALIB;
 	snd_ad1848_out(chip, AD1848_IFACE_CTRL, chip->image[AD1848_IFACE_CTRL]);
-	spin_unlock_irqrestore(&chip->reg_lock, flags);
-	snd_ad1848_mce_down(chip);
-
-#ifdef SNDRV_DEBUG_MCE
-	snd_printk("open: (2)\n");
-#endif
 
 	snd_ad1848_set_data_format(chip, NULL);
-
-	snd_ad1848_mce_up(chip);
-	spin_lock_irqsave(&chip->reg_lock, flags);
 	snd_ad1848_out(chip, AD1848_DATA_FORMAT, chip->image[AD1848_DATA_FORMAT]);
 	spin_unlock_irqrestore(&chip->reg_lock, flags);
 	snd_ad1848_mce_down(chip);

_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux