Lines Matching +full:synth +full:- +full:master
1 // SPDX-License-Identifier: GPL-2.0-or-later
28 int shift = kcontrol->private_value & 0xff;
29 int invert = (kcontrol->private_value >> 8) & 1;
31 ucontrol->value.integer.value[0] = (gus->mix_cntrl_reg >> shift) & 1;
33 ucontrol->value.integer.value[0] ^= 1;
40 int shift = kcontrol->private_value & 0xff;
41 int invert = (kcontrol->private_value >> 8) & 1;
45 nval = ucontrol->value.integer.value[0] & 1;
49 guard(spinlock_irqsave)(&gus->reg_lock);
50 oval = gus->mix_cntrl_reg;
53 outb(gus->mix_cntrl_reg = nval, GUSP(gus, MIXCNTRLREG));
54 outb(gus->gf1.active_voice = 0, GUSP(gus, GF1PAGE));
66 uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER;
67 uinfo->count = 2;
68 uinfo->value.integer.min = 0;
69 uinfo->value.integer.max = 127;
76 int addr = kcontrol->private_value & 0xff;
79 guard(spinlock_irqsave)(&gus->reg_lock);
80 left = gus->gf1.ics_regs[addr][0];
81 right = gus->gf1.ics_regs[addr][1];
82 ucontrol->value.integer.value[0] = left & 127;
83 ucontrol->value.integer.value[1] = right & 127;
90 int addr = kcontrol->private_value & 0xff;
94 val1 = ucontrol->value.integer.value[0] & 127;
95 val2 = ucontrol->value.integer.value[1] & 127;
96 guard(spinlock_irqsave)(&gus->reg_lock);
97 oval1 = gus->gf1.ics_regs[addr][0];
98 oval2 = gus->gf1.ics_regs[addr][1];
100 gus->gf1.ics_regs[addr][0] = val1;
101 gus->gf1.ics_regs[addr][1] = val2;
102 if (gus->ics_flag && gus->ics_flipped &&
118 GF1_SINGLE("Master Playback Switch", 0, 1, 1),
124 GF1_SINGLE("Master Playback Switch", 0, 1, 1),
125 ICS_DOUBLE("Master Playback Volume", 0, SNDRV_ICS_MASTER_DEV),
126 ICS_DOUBLE("Synth Playback Volume", 0, SNDRV_ICS_GF1_DEV),
141 return -EINVAL;
142 card = gus->card;
144 return -EINVAL;
146 if (gus->ics_flag)
148 if (card->mixername[0] == '\0') {
149 strscpy(card->mixername, gus->ics_flag ? "GF1,ICS2101" : "GF1");
151 if (gus->ics_flag)
152 strcat(card->mixername, ",ICS2101");
153 strcat(card->mixername, ",GF1");
156 if (!gus->ics_flag) {
157 max = gus->ess_flag ? 1 : ARRAY_SIZE(snd_gf1_controls);