aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/oxygen
diff options
context:
space:
mode:
authorClemens Ladisch <clemens@ladisch.de>2011-07-17 16:18:05 -0400
committerTakashi Iwai <tiwai@suse.de>2011-07-18 03:39:50 -0400
commitc81c6b356b52d3fcb4d531d149573fc100aad643 (patch)
tree5fca96f692571b5096210509efad56f932848a2b /sound/pci/oxygen
parentf21169aa876b3a26c0a95a70724886ca03998870 (diff)
ALSA: virtuoso: fix silent analog output on Xonar Essence ST Deluxe
Commit dd203fa97bd5 (ALSA: virtuoso: remove non-working controls on Essence ST Deluxe) made it impossible to adjust the volume after the driver initialized it to muted. Ensure that those DACs that can be accessed with I2C are initialized to the same volume that is the reset default of the DAC without I2C. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Cc: 2.6.38+ <stable@kernel.org>
Diffstat (limited to 'sound/pci/oxygen')
-rw-r--r--sound/pci/oxygen/xonar_pcm179x.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sound/pci/oxygen/xonar_pcm179x.c b/sound/pci/oxygen/xonar_pcm179x.c
index 54cad38ec30a..32d096c98f5b 100644
--- a/sound/pci/oxygen/xonar_pcm179x.c
+++ b/sound/pci/oxygen/xonar_pcm179x.c
@@ -327,8 +327,10 @@ static void pcm1796_init(struct oxygen *chip)
327{ 327{
328 struct xonar_pcm179x *data = chip->model_data; 328 struct xonar_pcm179x *data = chip->model_data;
329 329
330 data->pcm1796_regs[0][18 - PCM1796_REG_BASE] = PCM1796_MUTE | 330 data->pcm1796_regs[0][18 - PCM1796_REG_BASE] =
331 PCM1796_DMF_DISABLED | PCM1796_FMT_24_I2S | PCM1796_ATLD; 331 PCM1796_DMF_DISABLED | PCM1796_FMT_24_I2S | PCM1796_ATLD;
332 if (!data->broken_i2c)
333 data->pcm1796_regs[0][18 - PCM1796_REG_BASE] |= PCM1796_MUTE;
332 data->pcm1796_regs[0][19 - PCM1796_REG_BASE] = 334 data->pcm1796_regs[0][19 - PCM1796_REG_BASE] =
333 PCM1796_FLT_SHARP | PCM1796_ATS_1; 335 PCM1796_FLT_SHARP | PCM1796_ATS_1;
334 data->pcm1796_regs[0][20 - PCM1796_REG_BASE] = 336 data->pcm1796_regs[0][20 - PCM1796_REG_BASE] =
@@ -1123,6 +1125,7 @@ int __devinit get_xonar_pcm179x_model(struct oxygen *chip,
1123 chip->model.control_filter = xonar_st_h6_control_filter; 1125 chip->model.control_filter = xonar_st_h6_control_filter;
1124 chip->model.dac_channels_pcm = 8; 1126 chip->model.dac_channels_pcm = 8;
1125 chip->model.dac_channels_mixer = 8; 1127 chip->model.dac_channels_mixer = 8;
1128 chip->model.dac_volume_min = 255;
1126 chip->model.dac_mclks = OXYGEN_MCLKS(256, 128, 128); 1129 chip->model.dac_mclks = OXYGEN_MCLKS(256, 128, 128);
1127 break; 1130 break;
1128 } 1131 }