mirror of
https://github.com/torvalds/linux.git
synced 2026-05-31 18:43:33 +02:00
Merge branch 'for-linus' into for-next
Pull 7.0 devel branch for developing further HD- and USB-audio fixes. Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
commit
0cdccaae8c
|
|
@ -2372,6 +2372,10 @@ quirk_flags
|
|||
audible volume
|
||||
* bit 25: ``mixer_capture_min_mute``
|
||||
Similar to bit 24 but for capture streams
|
||||
* bit 26: ``skip_iface_setup``
|
||||
Skip the probe-time interface setup (usb_set_interface,
|
||||
init_pitch, init_sample_rate); redundant with
|
||||
snd_usb_endpoint_prepare() at stream-open time
|
||||
|
||||
This module supports multiple devices, autoprobe and hotplugging.
|
||||
|
||||
|
|
|
|||
|
|
@ -299,6 +299,7 @@ static const struct hda_device_id snd_hda_id_tegrahdmi[] = {
|
|||
HDA_CODEC_ID_MODEL(0x10de002f, "Tegra194 HDMI/DP2", MODEL_TEGRA),
|
||||
HDA_CODEC_ID_MODEL(0x10de0030, "Tegra194 HDMI/DP3", MODEL_TEGRA),
|
||||
HDA_CODEC_ID_MODEL(0x10de0031, "Tegra234 HDMI/DP", MODEL_TEGRA234),
|
||||
HDA_CODEC_ID_MODEL(0x10de0032, "Tegra238 HDMI/DP", MODEL_TEGRA234),
|
||||
HDA_CODEC_ID_MODEL(0x10de0033, "SoC 33 HDMI/DP", MODEL_TEGRA234),
|
||||
HDA_CODEC_ID_MODEL(0x10de0034, "Tegra264 HDMI/DP", MODEL_TEGRA234),
|
||||
HDA_CODEC_ID_MODEL(0x10de0035, "SoC 35 HDMI/DP", MODEL_TEGRA234),
|
||||
|
|
|
|||
|
|
@ -19,15 +19,13 @@
|
|||
#include "hda_jack.h"
|
||||
#include "generic.h"
|
||||
|
||||
/* GPIO node ID */
|
||||
#define SENARY_GPIO_NODE 0x01
|
||||
|
||||
struct senary_spec {
|
||||
struct hda_gen_spec gen;
|
||||
|
||||
/* extra EAPD pins */
|
||||
unsigned int num_eapds;
|
||||
hda_nid_t eapds[4];
|
||||
bool dynamic_eapd;
|
||||
hda_nid_t mute_led_eapd;
|
||||
|
||||
unsigned int parse_flags; /* flag for snd_hda_parse_pin_defcfg() */
|
||||
|
|
@ -123,19 +121,23 @@ static void senary_init_gpio_led(struct hda_codec *codec)
|
|||
unsigned int mask = spec->gpio_mute_led_mask | spec->gpio_mic_led_mask;
|
||||
|
||||
if (mask) {
|
||||
snd_hda_codec_write(codec, SENARY_GPIO_NODE, 0, AC_VERB_SET_GPIO_MASK,
|
||||
snd_hda_codec_write(codec, codec->core.afg, 0, AC_VERB_SET_GPIO_MASK,
|
||||
mask);
|
||||
snd_hda_codec_write(codec, SENARY_GPIO_NODE, 0, AC_VERB_SET_GPIO_DIRECTION,
|
||||
snd_hda_codec_write(codec, codec->core.afg, 0, AC_VERB_SET_GPIO_DIRECTION,
|
||||
mask);
|
||||
snd_hda_codec_write(codec, SENARY_GPIO_NODE, 0, AC_VERB_SET_GPIO_DATA,
|
||||
snd_hda_codec_write(codec, codec->core.afg, 0, AC_VERB_SET_GPIO_DATA,
|
||||
spec->gpio_led);
|
||||
}
|
||||
}
|
||||
|
||||
static int senary_init(struct hda_codec *codec)
|
||||
{
|
||||
struct senary_spec *spec = codec->spec;
|
||||
|
||||
snd_hda_gen_init(codec);
|
||||
senary_init_gpio_led(codec);
|
||||
if (!spec->dynamic_eapd)
|
||||
senary_auto_turn_eapd(codec, spec->num_eapds, spec->eapds, true);
|
||||
snd_hda_apply_fixup(codec, HDA_FIXUP_ACT_INIT);
|
||||
|
||||
return 0;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user