diff options
author | Clemens Ladisch <clemens@ladisch.de> | 2011-07-17 22:18:05 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-08-04 21:58:36 -0700 |
commit | 2415d01c0cb11b5471ee640b0ba5a1254be9a708 (patch) | |
tree | 78f25d509eae4452499f518daff8ffc980a2ff49 /sound | |
parent | eff0f0eb6357e141c1ebf6d3753e2b89177ab6db (diff) | |
download | kernel_samsung_crespo-2415d01c0cb11b5471ee640b0ba5a1254be9a708.zip kernel_samsung_crespo-2415d01c0cb11b5471ee640b0ba5a1254be9a708.tar.gz kernel_samsung_crespo-2415d01c0cb11b5471ee640b0ba5a1254be9a708.tar.bz2 |
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')
-rw-r--r-- | sound/pci/oxygen/xonar_pcm179x.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sound/pci/oxygen/xonar_pcm179x.c b/sound/pci/oxygen/xonar_pcm179x.c index 54cad38..32d096c 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) { struct xonar_pcm179x *data = chip->model_data; - data->pcm1796_regs[0][18 - PCM1796_REG_BASE] = PCM1796_MUTE | + data->pcm1796_regs[0][18 - PCM1796_REG_BASE] = PCM1796_DMF_DISABLED | PCM1796_FMT_24_I2S | PCM1796_ATLD; + if (!data->broken_i2c) + data->pcm1796_regs[0][18 - PCM1796_REG_BASE] |= PCM1796_MUTE; data->pcm1796_regs[0][19 - PCM1796_REG_BASE] = PCM1796_FLT_SHARP | PCM1796_ATS_1; data->pcm1796_regs[0][20 - PCM1796_REG_BASE] = @@ -1123,6 +1125,7 @@ int __devinit get_xonar_pcm179x_model(struct oxygen *chip, chip->model.control_filter = xonar_st_h6_control_filter; chip->model.dac_channels_pcm = 8; chip->model.dac_channels_mixer = 8; + chip->model.dac_volume_min = 255; chip->model.dac_mclks = OXYGEN_MCLKS(256, 128, 128); break; } |