sound: oxygen: fix MCLK rate for 192 kHz playback

Do not forget to program the MCLK ratio for the I2S output.
Otherwise, the master clock frequency can be too high for
the DACs at sample frequencies above 96 kHz.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Clemens Ladisch 2009-09-01 08:23:58 +02:00 committed by Takashi Iwai
parent 326ba5010a
commit b91ab72b83

View file

@ -469,9 +469,11 @@ static int oxygen_multich_hw_params(struct snd_pcm_substream *substream,
oxygen_write16_masked(chip, OXYGEN_I2S_MULTICH_FORMAT, oxygen_write16_masked(chip, OXYGEN_I2S_MULTICH_FORMAT,
oxygen_rate(hw_params) | oxygen_rate(hw_params) |
chip->model.dac_i2s_format | chip->model.dac_i2s_format |
oxygen_i2s_mclk(hw_params) |
oxygen_i2s_bits(hw_params), oxygen_i2s_bits(hw_params),
OXYGEN_I2S_RATE_MASK | OXYGEN_I2S_RATE_MASK |
OXYGEN_I2S_FORMAT_MASK | OXYGEN_I2S_FORMAT_MASK |
OXYGEN_I2S_MCLK_MASK |
OXYGEN_I2S_BITS_MASK); OXYGEN_I2S_BITS_MASK);
oxygen_update_dac_routing(chip); oxygen_update_dac_routing(chip);
oxygen_update_spdif_source(chip); oxygen_update_spdif_source(chip);