ALSA: hda/ca0132 - Change mixer controls for Recon3D
This patch adds changes to setup the Recon3D's mixer controls. Signed-off-by: Connor McAdams <conmanx360@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Родитель
42aa3a1690
Коммит
e25e344504
|
@ -5780,11 +5780,11 @@ static const struct snd_kcontrol_new ca0132_mixer[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* SBZ specific control mixer. Removes auto-detect for mic, and adds surround
|
* Desktop specific control mixer. Removes auto-detect for mic, and adds
|
||||||
* controls. Also sets both the Front Playback and Capture Volume controls to
|
* surround controls. Also sets both the Front Playback and Capture Volume
|
||||||
* alt so they set the DSP's decibel level.
|
* controls to alt so they set the DSP's decibel level.
|
||||||
*/
|
*/
|
||||||
static const struct snd_kcontrol_new sbz_mixer[] = {
|
static const struct snd_kcontrol_new desktop_mixer[] = {
|
||||||
CA0132_ALT_CODEC_VOL("Front Playback Volume", 0x02, HDA_OUTPUT),
|
CA0132_ALT_CODEC_VOL("Front Playback Volume", 0x02, HDA_OUTPUT),
|
||||||
CA0132_CODEC_MUTE("Front Playback Switch", VNID_SPK, HDA_OUTPUT),
|
CA0132_CODEC_MUTE("Front Playback Switch", VNID_SPK, HDA_OUTPUT),
|
||||||
HDA_CODEC_VOLUME("Surround Playback Volume", 0x04, 0, HDA_OUTPUT),
|
HDA_CODEC_VOLUME("Surround Playback Volume", 0x04, 0, HDA_OUTPUT),
|
||||||
|
@ -5855,8 +5855,8 @@ static int ca0132_build_controls(struct hda_codec *codec)
|
||||||
*/
|
*/
|
||||||
num_fx = OUT_EFFECTS_COUNT + IN_EFFECTS_COUNT;
|
num_fx = OUT_EFFECTS_COUNT + IN_EFFECTS_COUNT;
|
||||||
for (i = 0; i < num_fx; i++) {
|
for (i = 0; i < num_fx; i++) {
|
||||||
/* SBZ breaks if Echo Cancellation is used */
|
/* SBZ and R3D break if Echo Cancellation is used. */
|
||||||
if (spec->quirk == QUIRK_SBZ) {
|
if (spec->quirk == QUIRK_SBZ || spec->quirk == QUIRK_R3D) {
|
||||||
if (i == (ECHO_CANCELLATION - IN_EFFECT_START_NID +
|
if (i == (ECHO_CANCELLATION - IN_EFFECT_START_NID +
|
||||||
OUT_EFFECTS_COUNT))
|
OUT_EFFECTS_COUNT))
|
||||||
continue;
|
continue;
|
||||||
|
@ -7608,9 +7608,13 @@ static int patch_ca0132(struct hda_codec *codec)
|
||||||
/* Set which mixers each quirk uses. */
|
/* Set which mixers each quirk uses. */
|
||||||
switch (spec->quirk) {
|
switch (spec->quirk) {
|
||||||
case QUIRK_SBZ:
|
case QUIRK_SBZ:
|
||||||
spec->mixers[0] = sbz_mixer;
|
spec->mixers[0] = desktop_mixer;
|
||||||
snd_hda_codec_set_name(codec, "Sound Blaster Z");
|
snd_hda_codec_set_name(codec, "Sound Blaster Z");
|
||||||
break;
|
break;
|
||||||
|
case QUIRK_R3D:
|
||||||
|
spec->mixers[0] = desktop_mixer;
|
||||||
|
snd_hda_codec_set_name(codec, "Recon3D");
|
||||||
|
break;
|
||||||
case QUIRK_R3DI:
|
case QUIRK_R3DI:
|
||||||
spec->mixers[0] = r3di_mixer;
|
spec->mixers[0] = r3di_mixer;
|
||||||
snd_hda_codec_set_name(codec, "Recon3Di");
|
snd_hda_codec_set_name(codec, "Recon3Di");
|
||||||
|
|
Загрузка…
Ссылка в новой задаче