diff options
Diffstat (limited to 'sound')
-rw-r--r-- | sound/pci/oxygen/oxygen_lib.c | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/sound/pci/oxygen/oxygen_lib.c b/sound/pci/oxygen/oxygen_lib.c index 87df2b81c573..858e6d4c9194 100644 --- a/sound/pci/oxygen/oxygen_lib.c +++ b/sound/pci/oxygen/oxygen_lib.c | |||
@@ -272,18 +272,25 @@ static void oxygen_init(struct oxygen *chip) | |||
272 | OXYGEN_RATE_48000 | chip->model->dac_i2s_format | | 272 | OXYGEN_RATE_48000 | chip->model->dac_i2s_format | |
273 | OXYGEN_I2S_MCLK_256 | OXYGEN_I2S_BITS_16 | | 273 | OXYGEN_I2S_MCLK_256 | OXYGEN_I2S_BITS_16 | |
274 | OXYGEN_I2S_MASTER | OXYGEN_I2S_BCLK_64); | 274 | OXYGEN_I2S_MASTER | OXYGEN_I2S_BCLK_64); |
275 | oxygen_write16(chip, OXYGEN_I2S_A_FORMAT, | 275 | if (chip->model->pcm_dev_cfg & CAPTURE_0_FROM_I2S_1) |
276 | OXYGEN_RATE_48000 | chip->model->adc_i2s_format | | 276 | oxygen_write16(chip, OXYGEN_I2S_A_FORMAT, |
277 | OXYGEN_I2S_MCLK_256 | OXYGEN_I2S_BITS_16 | | 277 | OXYGEN_RATE_48000 | chip->model->adc_i2s_format | |
278 | OXYGEN_I2S_MASTER | OXYGEN_I2S_BCLK_64); | 278 | OXYGEN_I2S_MCLK_256 | OXYGEN_I2S_BITS_16 | |
279 | oxygen_write16(chip, OXYGEN_I2S_B_FORMAT, | 279 | OXYGEN_I2S_MASTER | OXYGEN_I2S_BCLK_64); |
280 | OXYGEN_RATE_48000 | chip->model->adc_i2s_format | | 280 | else |
281 | OXYGEN_I2S_MCLK_256 | OXYGEN_I2S_BITS_16 | | 281 | oxygen_write16(chip, OXYGEN_I2S_A_FORMAT, |
282 | OXYGEN_I2S_MASTER | OXYGEN_I2S_BCLK_64); | 282 | OXYGEN_I2S_MASTER | OXYGEN_I2S_MUTE_MCLK); |
283 | if (chip->model->pcm_dev_cfg & (CAPTURE_0_FROM_I2S_2 | | ||
284 | CAPTURE_2_FROM_I2S_2)) | ||
285 | oxygen_write16(chip, OXYGEN_I2S_B_FORMAT, | ||
286 | OXYGEN_RATE_48000 | chip->model->adc_i2s_format | | ||
287 | OXYGEN_I2S_MCLK_256 | OXYGEN_I2S_BITS_16 | | ||
288 | OXYGEN_I2S_MASTER | OXYGEN_I2S_BCLK_64); | ||
289 | else | ||
290 | oxygen_write16(chip, OXYGEN_I2S_B_FORMAT, | ||
291 | OXYGEN_I2S_MASTER | OXYGEN_I2S_MUTE_MCLK); | ||
283 | oxygen_write16(chip, OXYGEN_I2S_C_FORMAT, | 292 | oxygen_write16(chip, OXYGEN_I2S_C_FORMAT, |
284 | OXYGEN_RATE_48000 | chip->model->adc_i2s_format | | 293 | OXYGEN_I2S_MASTER | OXYGEN_I2S_MUTE_MCLK); |
285 | OXYGEN_I2S_MCLK_256 | OXYGEN_I2S_BITS_16 | | ||
286 | OXYGEN_I2S_MASTER | OXYGEN_I2S_BCLK_64); | ||
287 | oxygen_write32_masked(chip, OXYGEN_SPDIF_CONTROL, | 294 | oxygen_write32_masked(chip, OXYGEN_SPDIF_CONTROL, |
288 | OXYGEN_SPDIF_SENSE_MASK | | 295 | OXYGEN_SPDIF_SENSE_MASK | |
289 | OXYGEN_SPDIF_LOCK_MASK | | 296 | OXYGEN_SPDIF_LOCK_MASK | |