diff options
author | Clemens Ladisch <clemens@ladisch.de> | 2011-01-10 10:16:08 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2011-01-10 10:46:35 -0500 |
commit | ce2c492090aa55ff2764f473abdb3c5a76b4a7c4 (patch) | |
tree | d69dc0953758f9034ca4c9889b14c6b1321019d8 /sound/pci/oxygen | |
parent | 5b8bf2a54fb13e40519ee846ce27bc8a2d7a7878 (diff) |
ALSA: virtuoso: reduce MCLK in double rate modes
For the CSxxxx and AKxxxx DAC/ADC chips, the MCLK factor in double rate
modes (64-96 kHz) can be reduced to 128x without reducing sound quality.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/oxygen')
-rw-r--r-- | sound/pci/oxygen/oxygen.c | 6 | ||||
-rw-r--r-- | sound/pci/oxygen/xonar_cs43xx.c | 4 | ||||
-rw-r--r-- | sound/pci/oxygen/xonar_pcm179x.c | 6 |
3 files changed, 9 insertions, 7 deletions
diff --git a/sound/pci/oxygen/oxygen.c b/sound/pci/oxygen/oxygen.c index 784d500c700f..2316884afd25 100644 --- a/sound/pci/oxygen/oxygen.c +++ b/sound/pci/oxygen/oxygen.c | |||
@@ -588,7 +588,7 @@ static const struct oxygen_model model_generic = { | |||
588 | .dac_volume_max = 255, | 588 | .dac_volume_max = 255, |
589 | .function_flags = OXYGEN_FUNCTION_SPI | | 589 | .function_flags = OXYGEN_FUNCTION_SPI | |
590 | OXYGEN_FUNCTION_ENABLE_SPI_4_5, | 590 | OXYGEN_FUNCTION_ENABLE_SPI_4_5, |
591 | .dac_mclks = OXYGEN_MCLKS(256, 256, 128), | 591 | .dac_mclks = OXYGEN_MCLKS(256, 128, 128), |
592 | .adc_mclks = OXYGEN_MCLKS(256, 256, 128), | 592 | .adc_mclks = OXYGEN_MCLKS(256, 256, 128), |
593 | .dac_i2s_format = OXYGEN_I2S_FORMAT_LJUST, | 593 | .dac_i2s_format = OXYGEN_I2S_FORMAT_LJUST, |
594 | .adc_i2s_format = OXYGEN_I2S_FORMAT_LJUST, | 594 | .adc_i2s_format = OXYGEN_I2S_FORMAT_LJUST, |
@@ -643,8 +643,10 @@ static int __devinit get_oxygen_model(struct oxygen *chip, | |||
643 | chip->model.dump_registers = dump_ak4396_registers; | 643 | chip->model.dump_registers = dump_ak4396_registers; |
644 | chip->model.device_config = PLAYBACK_0_TO_I2S | | 644 | chip->model.device_config = PLAYBACK_0_TO_I2S | |
645 | PLAYBACK_1_TO_SPDIF; | 645 | PLAYBACK_1_TO_SPDIF; |
646 | if (id->driver_data == MODEL_FANTASIA) | 646 | if (id->driver_data == MODEL_FANTASIA) { |
647 | chip->model.device_config |= CAPTURE_0_FROM_I2S_1; | 647 | chip->model.device_config |= CAPTURE_0_FROM_I2S_1; |
648 | chip->model.adc_mclks = OXYGEN_MCLKS(256, 128, 128); | ||
649 | } | ||
648 | chip->model.dac_channels_pcm = 2; | 650 | chip->model.dac_channels_pcm = 2; |
649 | chip->model.dac_channels_mixer = 2; | 651 | chip->model.dac_channels_mixer = 2; |
650 | break; | 652 | break; |
diff --git a/sound/pci/oxygen/xonar_cs43xx.c b/sound/pci/oxygen/xonar_cs43xx.c index b651938f3248..55c52c7e19b2 100644 --- a/sound/pci/oxygen/xonar_cs43xx.c +++ b/sound/pci/oxygen/xonar_cs43xx.c | |||
@@ -430,8 +430,8 @@ static const struct oxygen_model model_xonar_d1 = { | |||
430 | .dac_volume_min = 127 - 60, | 430 | .dac_volume_min = 127 - 60, |
431 | .dac_volume_max = 127, | 431 | .dac_volume_max = 127, |
432 | .function_flags = OXYGEN_FUNCTION_2WIRE, | 432 | .function_flags = OXYGEN_FUNCTION_2WIRE, |
433 | .dac_mclks = OXYGEN_MCLKS(256, 256, 128), | 433 | .dac_mclks = OXYGEN_MCLKS(256, 128, 128), |
434 | .adc_mclks = OXYGEN_MCLKS(256, 256, 128), | 434 | .adc_mclks = OXYGEN_MCLKS(256, 128, 128), |
435 | .dac_i2s_format = OXYGEN_I2S_FORMAT_LJUST, | 435 | .dac_i2s_format = OXYGEN_I2S_FORMAT_LJUST, |
436 | .adc_i2s_format = OXYGEN_I2S_FORMAT_LJUST, | 436 | .adc_i2s_format = OXYGEN_I2S_FORMAT_LJUST, |
437 | }; | 437 | }; |
diff --git a/sound/pci/oxygen/xonar_pcm179x.c b/sound/pci/oxygen/xonar_pcm179x.c index 9787193f6ed3..003c4800400b 100644 --- a/sound/pci/oxygen/xonar_pcm179x.c +++ b/sound/pci/oxygen/xonar_pcm179x.c | |||
@@ -1032,7 +1032,7 @@ static const struct oxygen_model model_xonar_d2 = { | |||
1032 | .function_flags = OXYGEN_FUNCTION_SPI | | 1032 | .function_flags = OXYGEN_FUNCTION_SPI | |
1033 | OXYGEN_FUNCTION_ENABLE_SPI_4_5, | 1033 | OXYGEN_FUNCTION_ENABLE_SPI_4_5, |
1034 | .dac_mclks = OXYGEN_MCLKS(512, 128, 128), | 1034 | .dac_mclks = OXYGEN_MCLKS(512, 128, 128), |
1035 | .adc_mclks = OXYGEN_MCLKS(256, 256, 128), | 1035 | .adc_mclks = OXYGEN_MCLKS(256, 128, 128), |
1036 | .dac_i2s_format = OXYGEN_I2S_FORMAT_I2S, | 1036 | .dac_i2s_format = OXYGEN_I2S_FORMAT_I2S, |
1037 | .adc_i2s_format = OXYGEN_I2S_FORMAT_LJUST, | 1037 | .adc_i2s_format = OXYGEN_I2S_FORMAT_LJUST, |
1038 | }; | 1038 | }; |
@@ -1066,7 +1066,7 @@ static const struct oxygen_model model_xonar_hdav = { | |||
1066 | .misc_flags = OXYGEN_MISC_MIDI, | 1066 | .misc_flags = OXYGEN_MISC_MIDI, |
1067 | .function_flags = OXYGEN_FUNCTION_2WIRE, | 1067 | .function_flags = OXYGEN_FUNCTION_2WIRE, |
1068 | .dac_mclks = OXYGEN_MCLKS(512, 128, 128), | 1068 | .dac_mclks = OXYGEN_MCLKS(512, 128, 128), |
1069 | .adc_mclks = OXYGEN_MCLKS(256, 256, 128), | 1069 | .adc_mclks = OXYGEN_MCLKS(256, 128, 128), |
1070 | .dac_i2s_format = OXYGEN_I2S_FORMAT_I2S, | 1070 | .dac_i2s_format = OXYGEN_I2S_FORMAT_I2S, |
1071 | .adc_i2s_format = OXYGEN_I2S_FORMAT_LJUST, | 1071 | .adc_i2s_format = OXYGEN_I2S_FORMAT_LJUST, |
1072 | }; | 1072 | }; |
@@ -1097,7 +1097,7 @@ static const struct oxygen_model model_xonar_st = { | |||
1097 | .dac_volume_max = 255, | 1097 | .dac_volume_max = 255, |
1098 | .function_flags = OXYGEN_FUNCTION_2WIRE, | 1098 | .function_flags = OXYGEN_FUNCTION_2WIRE, |
1099 | .dac_mclks = OXYGEN_MCLKS(512, 128, 128), | 1099 | .dac_mclks = OXYGEN_MCLKS(512, 128, 128), |
1100 | .adc_mclks = OXYGEN_MCLKS(256, 256, 128), | 1100 | .adc_mclks = OXYGEN_MCLKS(256, 128, 128), |
1101 | .dac_i2s_format = OXYGEN_I2S_FORMAT_I2S, | 1101 | .dac_i2s_format = OXYGEN_I2S_FORMAT_I2S, |
1102 | .adc_i2s_format = OXYGEN_I2S_FORMAT_LJUST, | 1102 | .adc_i2s_format = OXYGEN_I2S_FORMAT_LJUST, |
1103 | }; | 1103 | }; |