sound: oxygen: fix MCLK rate for 192 kHz playback
authorClemens Ladisch <clemens@ladisch.de>
Tue, 1 Sep 2009 06:23:58 +0000 (08:23 +0200)
committerTakashi Iwai <tiwai@suse.de>
Tue, 1 Sep 2009 06:45:40 +0000 (08:45 +0200)
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>
sound/pci/oxygen/oxygen_pcm.c

index 3b5ca70c9d4d2745223ac6f66102f8fd78e11161..ef2345d82b8652c55df39623fc9ca6e2f6d85f87 100644 (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_rate(hw_params) |
                              chip->model.dac_i2s_format |
+                             oxygen_i2s_mclk(hw_params) |
                              oxygen_i2s_bits(hw_params),
                              OXYGEN_I2S_RATE_MASK |
                              OXYGEN_I2S_FORMAT_MASK |
+                             OXYGEN_I2S_MCLK_MASK |
                              OXYGEN_I2S_BITS_MASK);
        oxygen_update_dac_routing(chip);
        oxygen_update_spdif_source(chip);