Clemens Ladisch wrote:
Timofei V. Bondarenko wrote:
This patch adds support for 88.2k, 96k, and 128k samplerates on cmi8738-55 chip. Analog playback works fine on all channels. Analog capture works well too, though the extra samples seems interpolated by hardware. spdif playback and capture works fine.
freq_ext = CM_CH0_SRATE_88K | CM_CH0_SRATE_96K;
I'd guess there should be a new symbol CM_CH0_SRATE_128K.
Ok. One more one-time-use symbol.
case 88200:
freq = 44100;
case 96000:
freq = 48000;
case 128000:
freq = 32000; /* not matter,
Wouldn't it be simpler to divide freq by two in all three cases?
Not so easy, 128/2 = 64 - is an invalid rate, snd_cmipci_rate_freq() will complain. On another hand an invalid 64k/2=32k (valid) - this make snd_BUG() in snd_cmipci_rate_freq() useless.
If the '68 chip also don't care about CM_REG_FUNCTRL1:ASFC/DSFC then freq can be set to 0 for all doubled frequencies.
Regards, Tim.