Commit feb77712 authored by Timofei Bondarenko's avatar Timofei Bondarenko Committed by Jaroslav Kysela

[ALSA] cmipci - utilize ADC48K44K bit

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.
Signed-off-by: default avatarTimofei Bondarenko <tim@ipi.ac.ru>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
Signed-off-by: default avatarJaroslav Kysela <perex@perex.cz>
parent b98f9334
...@@ -869,6 +869,13 @@ static int snd_cmipci_pcm_prepare(struct cmipci *cm, struct cmipci_pcm *rec, ...@@ -869,6 +869,13 @@ static int snd_cmipci_pcm_prepare(struct cmipci *cm, struct cmipci_pcm *rec,
snd_cmipci_write(cm, CM_REG_CHFORMAT, val); snd_cmipci_write(cm, CM_REG_CHFORMAT, val);
//snd_printd("cmipci: chformat = %08x\n", 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; rec->running = 0;
spin_unlock_irq(&cm->reg_lock); spin_unlock_irq(&cm->reg_lock);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment