[PATCH] cmipci - utilize ADC48K44K bit

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

 



Hi.

Setting the ADC48K44K greatly improves capture quality at 48k sampling rate.

With this bit clear ADC does ZOH interpolation of every 22th sample at 48k.

At frequencies higher than 48k there ADC performs a little better with ADC48K44K bit set.
At 44.1k ADC performs a little better with this bit clear.
At frequencies below 44.1k there is no difference.


Regards,
	Tim.
Signed-off-by: Timofei Bondarenko <tim@xxxxxxxxx>

--- alsa-driver-hg20071107/alsa-kernel/pci/cmipci.c	2007-11-01 04:00:07.000000000 +0300
+++ alsa-driver/alsa-kernel/pci/cmipci.c	2007-11-07 14:55:05.000000000 +0300
@@ -869,6 +869,13 @@ static int snd_cmipci_pcm_prepare(struct
 	snd_cmipci_write(cm, CM_REG_CHFORMAT, val);
 	//snd_printd("cmipci: chformat = %08x\n", val);
 
+	if (!rec->is_dac && cm->chip_version) {
+		if (runtime->rate > 44100)
+			snd_cmipci_set_bit(cm, CM_REG_EXT_MISC, CM_ADC48K44K);
+		else
+			snd_cmipci_clear_bit(cm, CM_REG_EXT_MISC, CM_ADC48K44K);
+	}
+
 	rec->running = 0;
 	spin_unlock_irq(&cm->reg_lock);
 

_______________________________________________
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