aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/oxygen/xonar_pcm179x.c
diff options
context:
space:
mode:
authorClemens Ladisch <clemens@ladisch.de>2014-09-07 15:47:33 -0400
committerTakashi Iwai <tiwai@suse.de>2014-09-08 04:57:45 -0400
commitd6cc58e127a0b7df78d869a29ff073da6fb899bb (patch)
tree8b88e2f69939f4a75b1bf1d3c610f796388a11d7 /sound/pci/oxygen/xonar_pcm179x.c
parentdd38dc1a9bf780b619ab93b3d7a5e90ebad441f5 (diff)
ALSA: virtuoso: add Xonar Essence STX II daughterboard support
Detect and handle the H6 daughterboard; it works the same as with the ST, except that there is no conflict with the CS2000 chip. Tested-by: Andreas Allacher <andreas.allacher@gmx.at> Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/oxygen/xonar_pcm179x.c')
-rw-r--r--sound/pci/oxygen/xonar_pcm179x.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/sound/pci/oxygen/xonar_pcm179x.c b/sound/pci/oxygen/xonar_pcm179x.c
index 3c0a679c4539..0d6a805e8b62 100644
--- a/sound/pci/oxygen/xonar_pcm179x.c
+++ b/sound/pci/oxygen/xonar_pcm179x.c
@@ -419,6 +419,7 @@ static void xonar_st_init_common(struct oxygen *chip)
419 419
420 data->generic.output_enable_bit = GPIO_ST_OUTPUT_ENABLE; 420 data->generic.output_enable_bit = GPIO_ST_OUTPUT_ENABLE;
421 data->dacs = chip->model.dac_channels_mixer / 2; 421 data->dacs = chip->model.dac_channels_mixer / 2;
422 data->h6 = chip->model.dac_channels_mixer > 2;
422 data->hp_gain_offset = 2*-18; 423 data->hp_gain_offset = 2*-18;
423 424
424 pcm1796_init(chip); 425 pcm1796_init(chip);
@@ -1142,8 +1143,18 @@ int get_xonar_pcm179x_model(struct oxygen *chip,
1142 break; 1143 break;
1143 case 0x85f4: 1144 case 0x85f4:
1144 chip->model = model_xonar_st; 1145 chip->model = model_xonar_st;
1145 /* TODO: daughterboard support */ 1146 oxygen_clear_bits16(chip, OXYGEN_GPIO_CONTROL, GPIO_DB_MASK);
1146 chip->model.shortname = "Xonar STX II"; 1147 switch (oxygen_read16(chip, OXYGEN_GPIO_DATA) & GPIO_DB_MASK) {
1148 default:
1149 chip->model.shortname = "Xonar STX II";
1150 break;
1151 case GPIO_DB_H6:
1152 chip->model.shortname = "Xonar STX II+H6";
1153 chip->model.dac_channels_pcm = 8;
1154 chip->model.dac_channels_mixer = 8;
1155 chip->model.dac_mclks = OXYGEN_MCLKS(256, 128, 128);
1156 break;
1157 }
1147 chip->model.init = xonar_stx_init; 1158 chip->model.init = xonar_stx_init;
1148 chip->model.resume = xonar_stx_resume; 1159 chip->model.resume = xonar_stx_resume;
1149 chip->model.set_dac_params = set_pcm1796_params; 1160 chip->model.set_dac_params = set_pcm1796_params;