ALSA: hda - Create beep control on ALC269 codec
ALC269 codec has a beep, but it was not used, so far. Create a beep control appropriately. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
parent
c7d03bc2fe
commit
2005af24b1
@ -11068,6 +11068,8 @@ static struct snd_kcontrol_new alc269_base_mixer[] = {
|
|||||||
HDA_CODEC_MUTE("Line Playback Switch", 0x0b, 0x02, HDA_INPUT),
|
HDA_CODEC_MUTE("Line Playback Switch", 0x0b, 0x02, HDA_INPUT),
|
||||||
HDA_CODEC_VOLUME("Mic Playback Volume", 0x0b, 0x0, HDA_INPUT),
|
HDA_CODEC_VOLUME("Mic Playback Volume", 0x0b, 0x0, HDA_INPUT),
|
||||||
HDA_CODEC_MUTE("Mic Playback Switch", 0x0b, 0x0, HDA_INPUT),
|
HDA_CODEC_MUTE("Mic Playback Switch", 0x0b, 0x0, HDA_INPUT),
|
||||||
|
HDA_CODEC_VOLUME("Beep Playback Volume", 0x0b, 0x4, HDA_INPUT),
|
||||||
|
HDA_CODEC_MUTE("Beep Playback Switch", 0x0b, 0x4, HDA_INPUT),
|
||||||
HDA_CODEC_VOLUME("Mic Boost", 0x18, 0, HDA_INPUT),
|
HDA_CODEC_VOLUME("Mic Boost", 0x18, 0, HDA_INPUT),
|
||||||
HDA_CODEC_VOLUME("Front Mic Playback Volume", 0x0b, 0x01, HDA_INPUT),
|
HDA_CODEC_VOLUME("Front Mic Playback Volume", 0x0b, 0x01, HDA_INPUT),
|
||||||
HDA_CODEC_MUTE("Front Mic Playback Switch", 0x0b, 0x01, HDA_INPUT),
|
HDA_CODEC_MUTE("Front Mic Playback Switch", 0x0b, 0x01, HDA_INPUT),
|
||||||
@ -11120,6 +11122,13 @@ static struct snd_kcontrol_new alc269_epc_capture_mixer[] = {
|
|||||||
{ } /* end */
|
{ } /* end */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* beep control */
|
||||||
|
static struct snd_kcontrol_new alc269_beep_mixer[] = {
|
||||||
|
HDA_CODEC_VOLUME("Beep Playback Volume", 0x0b, 0x4, HDA_INPUT),
|
||||||
|
HDA_CODEC_MUTE("Beep Playback Switch", 0x0b, 0x4, HDA_INPUT),
|
||||||
|
{ } /* end */
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* generic initialization of ADC, input mixers and output mixers
|
* generic initialization of ADC, input mixers and output mixers
|
||||||
*/
|
*/
|
||||||
@ -11382,7 +11391,7 @@ static int alc269_auto_create_multi_out_ctls(struct alc_spec *spec,
|
|||||||
static int alc269_parse_auto_config(struct hda_codec *codec)
|
static int alc269_parse_auto_config(struct hda_codec *codec)
|
||||||
{
|
{
|
||||||
struct alc_spec *spec = codec->spec;
|
struct alc_spec *spec = codec->spec;
|
||||||
int err;
|
int i, err;
|
||||||
static hda_nid_t alc269_ignore[] = { 0x1d, 0 };
|
static hda_nid_t alc269_ignore[] = { 0x1d, 0 };
|
||||||
|
|
||||||
err = snd_hda_parse_pin_def_config(codec, &spec->autocfg,
|
err = snd_hda_parse_pin_def_config(codec, &spec->autocfg,
|
||||||
@ -11405,6 +11414,13 @@ static int alc269_parse_auto_config(struct hda_codec *codec)
|
|||||||
if (spec->kctl_alloc)
|
if (spec->kctl_alloc)
|
||||||
spec->mixers[spec->num_mixers++] = spec->kctl_alloc;
|
spec->mixers[spec->num_mixers++] = spec->kctl_alloc;
|
||||||
|
|
||||||
|
/* create a beep mixer control if the pin 0x1d isn't assigned */
|
||||||
|
for (i = 0; i < ARRAY_SIZE(spec->autocfg.input_pins); i++)
|
||||||
|
if (spec->autocfg.input_pins[i] == 0x1d)
|
||||||
|
break;
|
||||||
|
if (i >= ARRAY_SIZE(spec->autocfg.input_pins))
|
||||||
|
spec->mixers[spec->num_mixers++] = alc269_beep_mixer;
|
||||||
|
|
||||||
spec->init_verbs[spec->num_init_verbs++] = alc269_init_verbs;
|
spec->init_verbs[spec->num_init_verbs++] = alc269_init_verbs;
|
||||||
spec->num_mux_defs = 1;
|
spec->num_mux_defs = 1;
|
||||||
spec->input_mux = &spec->private_imux;
|
spec->input_mux = &spec->private_imux;
|
||||||
|
Loading…
Reference in New Issue
Block a user