aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci
diff options
context:
space:
mode:
authorClemens Ladisch <clemens@ladisch.de>2011-07-17 16:18:05 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2011-08-05 00:58:36 -0400
commit2415d01c0cb11b5471ee640b0ba5a1254be9a708 (patch)
tree78f25d509eae4452499f518daff8ffc980a2ff49 /sound/pci
parenteff0f0eb6357e141c1ebf6d3753e2b89177ab6db (diff)
ALSA: virtuoso: fix silent analog output on Xonar Essence ST Deluxe
commit c81c6b356b52d3fcb4d531d149573fc100aad643 upstream. 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> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'sound/pci')
-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 54cad38ec30..32d096c98f5 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 }