aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sound/pci/oxygen/oxygen.c8
-rw-r--r--sound/pci/oxygen/oxygen.h3
-rw-r--r--sound/pci/oxygen/oxygen_mixer.c8
-rw-r--r--sound/pci/oxygen/oxygen_pcm.c2
-rw-r--r--sound/pci/oxygen/xonar_cs43xx.c3
-rw-r--r--sound/pci/oxygen/xonar_pcm179x.c13
-rw-r--r--sound/pci/oxygen/xonar_wm87x6.c3
7 files changed, 25 insertions, 15 deletions
diff --git a/sound/pci/oxygen/oxygen.c b/sound/pci/oxygen/oxygen.c
index dc47977beca..fe7ed4fc9f4 100644
--- a/sound/pci/oxygen/oxygen.c
+++ b/sound/pci/oxygen/oxygen.c
@@ -185,7 +185,7 @@ static void ak4396_init(struct oxygen *chip)
185{ 185{
186 struct generic_data *data = chip->model_data; 186 struct generic_data *data = chip->model_data;
187 187
188 data->dacs = chip->model.dac_channels / 2; 188 data->dacs = chip->model.dac_channels_pcm / 2;
189 data->ak4396_regs[0][AK4396_CONTROL_2] = 189 data->ak4396_regs[0][AK4396_CONTROL_2] =
190 AK4396_SMUTE | AK4396_DEM_OFF | AK4396_DFS_NORMAL; 190 AK4396_SMUTE | AK4396_DEM_OFF | AK4396_DFS_NORMAL;
191 ak4396_registers_init(chip); 191 ak4396_registers_init(chip);
@@ -583,7 +583,8 @@ static const struct oxygen_model model_generic = {
583 CAPTURE_1_FROM_SPDIF | 583 CAPTURE_1_FROM_SPDIF |
584 CAPTURE_2_FROM_AC97_1 | 584 CAPTURE_2_FROM_AC97_1 |
585 AC97_CD_INPUT, 585 AC97_CD_INPUT,
586 .dac_channels = 8, 586 .dac_channels_pcm = 8,
587 .dac_channels_mixer = 8,
587 .dac_volume_min = 0, 588 .dac_volume_min = 0,
588 .dac_volume_max = 255, 589 .dac_volume_max = 255,
589 .function_flags = OXYGEN_FUNCTION_SPI | 590 .function_flags = OXYGEN_FUNCTION_SPI |
@@ -643,7 +644,8 @@ static int __devinit get_oxygen_model(struct oxygen *chip,
643 PLAYBACK_1_TO_SPDIF; 644 PLAYBACK_1_TO_SPDIF;
644 if (id->driver_data == MODEL_FANTASIA) 645 if (id->driver_data == MODEL_FANTASIA)
645 chip->model.device_config |= CAPTURE_0_FROM_I2S_1; 646 chip->model.device_config |= CAPTURE_0_FROM_I2S_1;
646 chip->model.dac_channels = 2; 647 chip->model.dac_channels_pcm = 2;
648 chip->model.dac_channels_mixer = 2;
647 break; 649 break;
648 } 650 }
649 if (id->driver_data == MODEL_MERIDIAN || 651 if (id->driver_data == MODEL_MERIDIAN ||
diff --git a/sound/pci/oxygen/oxygen.h b/sound/pci/oxygen/oxygen.h
index b8fbc15b89a..3d9535c2deb 100644
--- a/sound/pci/oxygen/oxygen.h
+++ b/sound/pci/oxygen/oxygen.h
@@ -100,7 +100,8 @@ struct oxygen_model {
100 unsigned long private_data; 100 unsigned long private_data;
101 size_t model_data_size; 101 size_t model_data_size;
102 unsigned int device_config; 102 unsigned int device_config;
103 u8 dac_channels; 103 u8 dac_channels_pcm;
104 u8 dac_channels_mixer;
104 u8 dac_volume_min; 105 u8 dac_volume_min;
105 u8 dac_volume_max; 106 u8 dac_volume_max;
106 u8 misc_flags; 107 u8 misc_flags;
diff --git a/sound/pci/oxygen/oxygen_mixer.c b/sound/pci/oxygen/oxygen_mixer.c
index 605e84b9e1e..242c1cac69b 100644
--- a/sound/pci/oxygen/oxygen_mixer.c
+++ b/sound/pci/oxygen/oxygen_mixer.c
@@ -31,7 +31,7 @@ static int dac_volume_info(struct snd_kcontrol *ctl,
31 struct oxygen *chip = ctl->private_data; 31 struct oxygen *chip = ctl->private_data;
32 32
33 info->type = SNDRV_CTL_ELEM_TYPE_INTEGER; 33 info->type = SNDRV_CTL_ELEM_TYPE_INTEGER;
34 info->count = chip->model.dac_channels; 34 info->count = chip->model.dac_channels_mixer;
35 info->value.integer.min = chip->model.dac_volume_min; 35 info->value.integer.min = chip->model.dac_volume_min;
36 info->value.integer.max = chip->model.dac_volume_max; 36 info->value.integer.max = chip->model.dac_volume_max;
37 return 0; 37 return 0;
@@ -44,7 +44,7 @@ static int dac_volume_get(struct snd_kcontrol *ctl,
44 unsigned int i; 44 unsigned int i;
45 45
46 mutex_lock(&chip->mutex); 46 mutex_lock(&chip->mutex);
47 for (i = 0; i < chip->model.dac_channels; ++i) 47 for (i = 0; i < chip->model.dac_channels_mixer; ++i)
48 value->value.integer.value[i] = chip->dac_volume[i]; 48 value->value.integer.value[i] = chip->dac_volume[i];
49 mutex_unlock(&chip->mutex); 49 mutex_unlock(&chip->mutex);
50 return 0; 50 return 0;
@@ -59,7 +59,7 @@ static int dac_volume_put(struct snd_kcontrol *ctl,
59 59
60 changed = 0; 60 changed = 0;
61 mutex_lock(&chip->mutex); 61 mutex_lock(&chip->mutex);
62 for (i = 0; i < chip->model.dac_channels; ++i) 62 for (i = 0; i < chip->model.dac_channels_mixer; ++i)
63 if (value->value.integer.value[i] != chip->dac_volume[i]) { 63 if (value->value.integer.value[i] != chip->dac_volume[i]) {
64 chip->dac_volume[i] = value->value.integer.value[i]; 64 chip->dac_volume[i] = value->value.integer.value[i];
65 changed = 1; 65 changed = 1;
@@ -1022,7 +1022,7 @@ static int add_controls(struct oxygen *chip,
1022 continue; 1022 continue;
1023 } 1023 }
1024 if (!strcmp(template.name, "Stereo Upmixing") && 1024 if (!strcmp(template.name, "Stereo Upmixing") &&
1025 chip->model.dac_channels == 2) 1025 chip->model.dac_channels_pcm == 2)
1026 continue; 1026 continue;
1027 if (!strcmp(template.name, "Mic Source Capture Enum") && 1027 if (!strcmp(template.name, "Mic Source Capture Enum") &&
1028 !(chip->model.device_config & AC97_FMIC_SWITCH)) 1028 !(chip->model.device_config & AC97_FMIC_SWITCH))
diff --git a/sound/pci/oxygen/oxygen_pcm.c b/sound/pci/oxygen/oxygen_pcm.c
index 60e4aa00c04..dc3c68f76df 100644
--- a/sound/pci/oxygen/oxygen_pcm.c
+++ b/sound/pci/oxygen/oxygen_pcm.c
@@ -143,7 +143,7 @@ static int oxygen_open(struct snd_pcm_substream *substream,
143 runtime->hw.rate_min = 44100; 143 runtime->hw.rate_min = 44100;
144 break; 144 break;
145 case PCM_MULTICH: 145 case PCM_MULTICH:
146 runtime->hw.channels_max = chip->model.dac_channels; 146 runtime->hw.channels_max = chip->model.dac_channels_pcm;
147 break; 147 break;
148 } 148 }
149 if (chip->model.pcm_hardware_filter) 149 if (chip->model.pcm_hardware_filter)
diff --git a/sound/pci/oxygen/xonar_cs43xx.c b/sound/pci/oxygen/xonar_cs43xx.c
index de32895b317..a25197ca39a 100644
--- a/sound/pci/oxygen/xonar_cs43xx.c
+++ b/sound/pci/oxygen/xonar_cs43xx.c
@@ -426,7 +426,8 @@ static const struct oxygen_model model_xonar_d1 = {
426 PLAYBACK_1_TO_SPDIF | 426 PLAYBACK_1_TO_SPDIF |
427 CAPTURE_0_FROM_I2S_2 | 427 CAPTURE_0_FROM_I2S_2 |
428 AC97_FMIC_SWITCH, 428 AC97_FMIC_SWITCH,
429 .dac_channels = 8, 429 .dac_channels_pcm = 8,
430 .dac_channels_mixer = 8,
430 .dac_volume_min = 127 - 60, 431 .dac_volume_min = 127 - 60,
431 .dac_volume_max = 127, 432 .dac_volume_max = 127,
432 .function_flags = OXYGEN_FUNCTION_2WIRE, 433 .function_flags = OXYGEN_FUNCTION_2WIRE,
diff --git a/sound/pci/oxygen/xonar_pcm179x.c b/sound/pci/oxygen/xonar_pcm179x.c
index bf357c01afd..b55149e9be8 100644
--- a/sound/pci/oxygen/xonar_pcm179x.c
+++ b/sound/pci/oxygen/xonar_pcm179x.c
@@ -1094,7 +1094,8 @@ static const struct oxygen_model model_xonar_d2 = {
1094 MIDI_OUTPUT | 1094 MIDI_OUTPUT |
1095 MIDI_INPUT | 1095 MIDI_INPUT |
1096 AC97_CD_INPUT, 1096 AC97_CD_INPUT,
1097 .dac_channels = 8, 1097 .dac_channels_pcm = 8,
1098 .dac_channels_mixer = 8,
1098 .dac_volume_min = 255 - 2*60, 1099 .dac_volume_min = 255 - 2*60,
1099 .dac_volume_max = 255, 1100 .dac_volume_max = 255,
1100 .misc_flags = OXYGEN_MISC_MIDI, 1101 .misc_flags = OXYGEN_MISC_MIDI,
@@ -1127,7 +1128,8 @@ static const struct oxygen_model model_xonar_hdav = {
1127 PLAYBACK_1_TO_SPDIF | 1128 PLAYBACK_1_TO_SPDIF |
1128 CAPTURE_0_FROM_I2S_2 | 1129 CAPTURE_0_FROM_I2S_2 |
1129 CAPTURE_1_FROM_SPDIF, 1130 CAPTURE_1_FROM_SPDIF,
1130 .dac_channels = 8, 1131 .dac_channels_pcm = 8,
1132 .dac_channels_mixer = 2,
1131 .dac_volume_min = 255 - 2*60, 1133 .dac_volume_min = 255 - 2*60,
1132 .dac_volume_max = 255, 1134 .dac_volume_max = 255,
1133 .misc_flags = OXYGEN_MISC_MIDI, 1135 .misc_flags = OXYGEN_MISC_MIDI,
@@ -1157,7 +1159,8 @@ static const struct oxygen_model model_xonar_st = {
1157 PLAYBACK_1_TO_SPDIF | 1159 PLAYBACK_1_TO_SPDIF |
1158 CAPTURE_0_FROM_I2S_2 | 1160 CAPTURE_0_FROM_I2S_2 |
1159 AC97_FMIC_SWITCH, 1161 AC97_FMIC_SWITCH,
1160 .dac_channels = 2, 1162 .dac_channels_pcm = 2,
1163 .dac_channels_mixer = 2,
1161 .dac_volume_min = 255 - 2*60, 1164 .dac_volume_min = 255 - 2*60,
1162 .dac_volume_max = 255, 1165 .dac_volume_max = 255,
1163 .function_flags = OXYGEN_FUNCTION_2WIRE, 1166 .function_flags = OXYGEN_FUNCTION_2WIRE,
@@ -1187,6 +1190,7 @@ int __devinit get_xonar_pcm179x_model(struct oxygen *chip,
1187 break; 1190 break;
1188 case GPIO_DB_H6: 1191 case GPIO_DB_H6:
1189 chip->model.shortname = "Xonar HDAV1.3+H6"; 1192 chip->model.shortname = "Xonar HDAV1.3+H6";
1193 chip->model.dac_channels_mixer = 8;
1190 chip->model.private_data = 1; 1194 chip->model.private_data = 1;
1191 break; 1195 break;
1192 } 1196 }
@@ -1200,7 +1204,8 @@ int __devinit get_xonar_pcm179x_model(struct oxygen *chip,
1200 break; 1204 break;
1201 case GPIO_DB_H6: 1205 case GPIO_DB_H6:
1202 chip->model.shortname = "Xonar ST+H6"; 1206 chip->model.shortname = "Xonar ST+H6";
1203 chip->model.dac_channels = 8; 1207 chip->model.dac_channels_pcm = 8;
1208 chip->model.dac_channels_mixer = 8;
1204 chip->model.private_data = 1; 1209 chip->model.private_data = 1;
1205 break; 1210 break;
1206 } 1211 }
diff --git a/sound/pci/oxygen/xonar_wm87x6.c b/sound/pci/oxygen/xonar_wm87x6.c
index 1705d1e9311..da92cc24eed 100644
--- a/sound/pci/oxygen/xonar_wm87x6.c
+++ b/sound/pci/oxygen/xonar_wm87x6.c
@@ -1135,7 +1135,8 @@ static const struct oxygen_model model_xonar_ds = {
1135 .device_config = PLAYBACK_0_TO_I2S | 1135 .device_config = PLAYBACK_0_TO_I2S |
1136 PLAYBACK_1_TO_SPDIF | 1136 PLAYBACK_1_TO_SPDIF |
1137 CAPTURE_0_FROM_I2S_1, 1137 CAPTURE_0_FROM_I2S_1,
1138 .dac_channels = 8, 1138 .dac_channels_pcm = 8,
1139 .dac_channels_mixer = 8,
1139 .dac_volume_min = 255 - 2*60, 1140 .dac_volume_min = 255 - 2*60,
1140 .dac_volume_max = 255, 1141 .dac_volume_max = 255,
1141 .function_flags = OXYGEN_FUNCTION_SPI, 1142 .function_flags = OXYGEN_FUNCTION_SPI,