]>
Commit | Line | Data |
---|---|---|
7cb15094 GKH |
1 | From c81c6b356b52d3fcb4d531d149573fc100aad643 Mon Sep 17 00:00:00 2001 |
2 | From: Clemens Ladisch <clemens@ladisch.de> | |
3 | Date: Sun, 17 Jul 2011 22:18:05 +0200 | |
4 | Subject: ALSA: virtuoso: fix silent analog output on Xonar Essence ST | |
5 | Deluxe | |
6 | ||
7 | From: Clemens Ladisch <clemens@ladisch.de> | |
8 | ||
9 | commit c81c6b356b52d3fcb4d531d149573fc100aad643 upstream. | |
10 | ||
11 | Commit dd203fa97bd5 (ALSA: virtuoso: remove non-working controls on | |
12 | Essence ST Deluxe) made it impossible to adjust the volume after the | |
13 | driver initialized it to muted. | |
14 | ||
15 | Ensure that those DACs that can be accessed with I2C are initialized | |
16 | to the same volume that is the reset default of the DAC without I2C. | |
17 | ||
18 | Signed-off-by: Clemens Ladisch <clemens@ladisch.de> | |
19 | Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> | |
20 | ||
21 | --- | |
22 | sound/pci/oxygen/xonar_pcm179x.c | 5 ++++- | |
23 | 1 file changed, 4 insertions(+), 1 deletion(-) | |
24 | ||
25 | --- a/sound/pci/oxygen/xonar_pcm179x.c | |
26 | +++ b/sound/pci/oxygen/xonar_pcm179x.c | |
27 | @@ -327,8 +327,10 @@ static void pcm1796_init(struct oxygen * | |
28 | { | |
29 | struct xonar_pcm179x *data = chip->model_data; | |
30 | ||
31 | - data->pcm1796_regs[0][18 - PCM1796_REG_BASE] = PCM1796_MUTE | | |
32 | + data->pcm1796_regs[0][18 - PCM1796_REG_BASE] = | |
33 | PCM1796_DMF_DISABLED | PCM1796_FMT_24_I2S | PCM1796_ATLD; | |
34 | + if (!data->broken_i2c) | |
35 | + data->pcm1796_regs[0][18 - PCM1796_REG_BASE] |= PCM1796_MUTE; | |
36 | data->pcm1796_regs[0][19 - PCM1796_REG_BASE] = | |
37 | PCM1796_FLT_SHARP | PCM1796_ATS_1; | |
38 | data->pcm1796_regs[0][20 - PCM1796_REG_BASE] = | |
39 | @@ -1123,6 +1125,7 @@ int __devinit get_xonar_pcm179x_model(st | |
40 | chip->model.control_filter = xonar_st_h6_control_filter; | |
41 | chip->model.dac_channels_pcm = 8; | |
42 | chip->model.dac_channels_mixer = 8; | |
43 | + chip->model.dac_volume_min = 255; | |
44 | chip->model.dac_mclks = OXYGEN_MCLKS(256, 128, 128); | |
45 | break; | |
46 | } |