]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blame - releases/3.0.1/alsa-virtuoso-fix-silent-analog-output-on-xonar-essence-st.patch
5.1-stable patches
[thirdparty/kernel/stable-queue.git] / releases / 3.0.1 / alsa-virtuoso-fix-silent-analog-output-on-xonar-essence-st.patch
CommitLineData
7cb15094
GKH
1From c81c6b356b52d3fcb4d531d149573fc100aad643 Mon Sep 17 00:00:00 2001
2From: Clemens Ladisch <clemens@ladisch.de>
3Date: Sun, 17 Jul 2011 22:18:05 +0200
4Subject: ALSA: virtuoso: fix silent analog output on Xonar Essence ST
5 Deluxe
6
7From: Clemens Ladisch <clemens@ladisch.de>
8
9commit c81c6b356b52d3fcb4d531d149573fc100aad643 upstream.
10
11Commit dd203fa97bd5 (ALSA: virtuoso: remove non-working controls on
12Essence ST Deluxe) made it impossible to adjust the volume after the
13driver initialized it to muted.
14
15Ensure that those DACs that can be accessed with I2C are initialized
16to the same volume that is the reset default of the DAC without I2C.
17
18Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
19Signed-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 }