Changeset 689
- Timestamp:
- Jul 24, 2021, 3:42:01 PM (4 years ago)
- Location:
- GPL/trunk
- Files:
-
- 32 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
GPL/trunk
- Property svn:mergeinfo changed
/GPL/branches/uniaud32-next merged: 682-688
- Property svn:mergeinfo changed
-
GPL/trunk/alsa-kernel/core/init.c
r679 r689 398 398 } 399 399 card->shutdown = 1; 400 spin_unlock(&card->files_lock);401 400 402 401 /* replace file->f_op with special dummy operations */ 403 spin_lock(&card->files_lock);404 402 list_for_each_entry(mfile, &card->files_list, list, struct snd_monitor_file) { 405 403 /* it's critical part, use endless loop */ -
GPL/trunk/alsa-kernel/core/seq/seq_timer.c
r679 r689 298 298 } 299 299 spin_lock_irq(&tmr->lock); 300 tmr->timeri = t; 300 if (tmr->timeri) 301 err = -EBUSY; 302 else 303 tmr->timeri = t; 301 304 spin_unlock_irq(&tmr->lock); 305 if (err < 0) { 306 snd_timer_close(t); 307 snd_timer_instance_free(t); 308 return err; 309 } 302 310 return 0; 303 311 } -
GPL/trunk/alsa-kernel/core/timer.c
r679 r689 522 522 if (timer->hw.flags & SNDRV_TIMER_HW_SLAVE) 523 523 return; 524 event += 10; /* convert to SNDRV_TIMER_EVENT_MXXX */ 524 525 list_for_each_entry(ts, &ti->slave_active_head, active_list, struct snd_timer_instance) 525 526 if (ts->ccallback) 526 ts->ccallback(ts, event + 100, &tstamp, resolution);527 ts->ccallback(ts, event, &tstamp, resolution); 527 528 } 528 529 -
GPL/trunk/alsa-kernel/drivers/aloop.c
r679 r689 1573 1573 kctl->id.device = dev; 1574 1574 kctl->id.subdevice = substr; 1575 1576 /* Add the control before copying the id so that 1577 * the numid field of the id is set in the copy. 1578 */ 1579 err = snd_ctl_add(card, kctl); 1580 if (err < 0) 1581 return err; 1582 1575 1583 switch (idx) { 1576 1584 case ACTIVE_IDX: … … 1589 1597 break; 1590 1598 } 1591 err = snd_ctl_add(card, kctl);1592 if (err < 0)1593 return err;1594 1599 } 1595 1600 } -
GPL/trunk/alsa-kernel/hda/intel-nhlt.c
r629 r689 32 32 struct nhlt_dmic_array_config *cfg; 33 33 struct nhlt_vendor_dmic_array_config *cfg_vendor; 34 struct nhlt_fmt *fmt_configs; 34 35 unsigned int dmic_geo = 0; 35 u8 j; 36 u16 max_ch = 0; 37 u8 i, j; 36 38 37 39 if (!nhlt) 38 40 return 0; 39 41 40 epnt = (struct nhlt_endpoint *)nhlt->desc; 42 if (nhlt->header.length <= sizeof(struct acpi_table_header)) { 43 dev_warn(dev, "Invalid DMIC description table\n"); 44 return 0; 45 } 41 46 42 for (j = 0; j < nhlt->endpoint_count; j++) { 43 if (epnt->linktype == NHLT_LINK_DMIC) { 44 cfg = (struct nhlt_dmic_array_config *) 45 (epnt->config.caps); 47 for (j = 0, epnt = nhlt->desc; j < nhlt->endpoint_count; j++, 48 epnt = (struct nhlt_endpoint *)((u8 *)epnt + epnt->length)) { 49 50 if (epnt->linktype != NHLT_LINK_DMIC) 51 continue; 52 53 cfg = (struct nhlt_dmic_array_config *)(epnt->config.caps); 54 fmt_configs = (struct nhlt_fmt *)(epnt->config.caps + epnt->config.size); 55 56 /* find max number of channels based on format_configuration */ 57 if (fmt_configs->fmt_count) { 58 dev_dbg(dev, "%s: found %d format definitions\n", 59 __func__, fmt_configs->fmt_count); 60 61 for (i = 0; i < fmt_configs->fmt_count; i++) { 62 struct wav_fmt_ext *fmt_ext; 63 64 fmt_ext = &fmt_configs->fmt_config[i].fmt_ext; 65 66 if (fmt_ext->fmt.channels > max_ch) 67 max_ch = fmt_ext->fmt.channels; 68 } 69 dev_dbg(dev, "%s: max channels found %d\n", __func__, max_ch); 70 } else { 71 dev_dbg(dev, "%s: No format information found\n", __func__); 72 } 73 74 if (cfg->device_config.config_type != NHLT_CONFIG_TYPE_MIC_ARRAY) { 75 dmic_geo = max_ch; 76 } else { 46 77 switch (cfg->array_type) { 47 78 case NHLT_MIC_ARRAY_2CH_SMALL: … … 60 91 break; 61 92 default: 62 dev_warn(dev, "undefined DMIC array_type 0x%0x\n", 63 cfg->array_type); 93 dev_warn(dev, "%s: undefined DMIC array_type 0x%0x\n", 94 __func__, cfg->array_type); 95 } 96 97 if (dmic_geo > 0) { 98 dev_dbg(dev, "%s: Array with %d dmics\n", __func__, dmic_geo); 99 } 100 if (max_ch > dmic_geo) { 101 dev_dbg(dev, "%s: max channels %d exceed dmic number %d\n", 102 __func__, max_ch, dmic_geo); 64 103 } 65 104 } 66 epnt = (struct nhlt_endpoint *)((u8 *)epnt + epnt->length);67 105 } 106 107 dev_dbg(dev, "%s: dmic number %d max_ch %d\n", 108 __func__, dmic_geo, max_ch); 68 109 69 110 return dmic_geo; -
GPL/trunk/alsa-kernel/include/sound/intel-nhlt.h
r679 r689 114 114 115 115 enum { 116 NHLT_CONFIG_TYPE_GENERIC = 0, 117 NHLT_CONFIG_TYPE_MIC_ARRAY = 1 118 }; 119 120 enum { 116 121 NHLT_MIC_ARRAY_2CH_SMALL = 0xa, 117 122 NHLT_MIC_ARRAY_2CH_BIG = 0xb, -
GPL/trunk/alsa-kernel/include/sound/version.h
r679 r689 1 1 /* include/version.h */ 2 #define CONFIG_SND_VERSION "5.10. 20"2 #define CONFIG_SND_VERSION "5.10.50" 3 3 #define CONFIG_SND_DATE "" -
GPL/trunk/alsa-kernel/isa/gus/gus_main.c
r679 r689 78 78 static void snd_gus_init_control(struct snd_gus_card *gus) 79 79 { 80 int ret; 81 82 if (!gus->ace_flag) { 83 ret = 84 snd_ctl_add(gus->card, 85 snd_ctl_new1(&snd_gus_joystick_control, 86 gus)); 87 if (ret) 88 snd_printk(KERN_ERR "gus: snd_ctl_add failed: %d\n", 89 ret); 90 } 80 if (!gus->ace_flag) 81 snd_ctl_add(gus->card, snd_ctl_new1(&snd_gus_joystick_control, gus)); 91 82 } 92 83 -
GPL/trunk/alsa-kernel/isa/sb/emu8000.c
r679 r689 1030 1030 memset(emu->controls, 0, sizeof(emu->controls)); 1031 1031 for (i = 0; i < EMU8000_NUM_CONTROLS; i++) { 1032 if ((err = snd_ctl_add(card, emu->controls[i] = snd_ctl_new1(mixer_defs[i], emu))) < 0) 1032 if ((err = snd_ctl_add(card, emu->controls[i] = snd_ctl_new1(mixer_defs[i], emu))) < 0) { 1033 emu->controls[i] = NULL; 1033 1034 goto __error; 1035 } 1034 1036 } 1035 1037 return 0; -
GPL/trunk/alsa-kernel/isa/sb/sb16_csp.c
r679 r689 1047 1047 spin_lock_init(&p->q_lock); 1048 1048 1049 if ((err = snd_ctl_add(card, p->qsound_switch = snd_ctl_new1(&snd_sb_qsound_switch, p))) < 0) 1049 if ((err = snd_ctl_add(card, p->qsound_switch = snd_ctl_new1(&snd_sb_qsound_switch, p))) < 0) { 1050 p->qsound_switch = NULL; 1050 1051 goto __error; 1051 if ((err = snd_ctl_add(card, p->qsound_space = snd_ctl_new1(&snd_sb_qsound_space, p))) < 0) 1052 } 1053 if ((err = snd_ctl_add(card, p->qsound_space = snd_ctl_new1(&snd_sb_qsound_space, p))) < 0) { 1054 p->qsound_space = NULL; 1052 1055 goto __error; 1056 } 1053 1057 1054 1058 return 0; -
GPL/trunk/alsa-kernel/isa/sb/sb16_main.c
r679 r689 847 847 snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_sb16_capture_ops); 848 848 849 if (chip->dma16 >= 0 && chip->dma8 != chip->dma16) { 850 err = snd_ctl_add(card, snd_ctl_new1( 851 &snd_sb16_dma_control, chip)); 852 if (err) 853 return err; 854 } else { 849 if (chip->dma16 >= 0 && chip->dma8 != chip->dma16) 850 snd_ctl_add(card, snd_ctl_new1(&snd_sb16_dma_control, chip)); 851 else 855 852 pcm->info_flags = SNDRV_PCM_INFO_HALF_DUPLEX; 856 }857 853 858 854 snd_pcm_set_managed_buffer_all(pcm, SNDRV_DMA_TYPE_DEV, -
GPL/trunk/alsa-kernel/isa/sb/sb8.c
r679 r689 97 97 /* block the 0x388 port to avoid PnP conflicts */ 98 98 acard->fm_res = request_region(0x388, 4, "SoundBlaster FM"); 99 if (!acard->fm_res) {100 err = -EBUSY;101 goto _err;102 }103 99 104 100 if (port[dev] != SNDRV_AUTO_PORT) { -
GPL/trunk/alsa-kernel/pci/hda/Makefile
r679 r689 14 14 FILES = hda_intel.obj hda_codec.obj hda_controller.obj hda_auto_parser.obj hda_jack.obj & 15 15 hda_proc.obj hda_generic.obj hda_hwdep.obj hda_sysfs.obj hda_bind.obj & 16 patch_analog.obj patch_cmedia.obj patch_conexant.obj patch_ca0110.obj patch_c irrus.obj &16 patch_analog.obj patch_cmedia.obj patch_conexant.obj patch_ca0110.obj patch_ca0132.obj patch_cirrus.obj & 17 17 patch_realtek.obj patch_si3054.obj patch_sigmatel.obj patch_via.obj 18 18 -
GPL/trunk/alsa-kernel/pci/hda/hda_bind.c
r679 r689 50 50 if (codec->bus->shutdown) 51 51 return; 52 52 #ifndef TARGET_OS2 53 /* ignore unsol events during system suspend/resume */ 54 if (codec->core.dev.power.power_state.event != PM_EVENT_ON) 55 return; 56 #endif 53 57 if (codec->patch_ops.unsol_event) 54 58 codec->patch_ops.unsol_event(codec, ev); -
GPL/trunk/alsa-kernel/pci/hda/hda_codec.c
r679 r689 2989 2989 static int hda_codec_pm_prepare(struct device *dev) 2990 2990 { 2991 dev->power.power_state = PMSG_SUSPEND; 2991 2992 return pm_runtime_suspended(dev); 2992 2993 } … … 2996 2997 struct hda_codec *codec = dev_to_hda_codec(dev); 2997 2998 2999 #ifndef TARGET_OS2 3000 /* If no other pm-functions are called between prepare() and complete() */ 3001 if (dev->power.power_state.event == PM_EVENT_SUSPEND) 3002 dev->power.power_state = PMSG_RESUME; 3003 #endif 2998 3004 if (pm_runtime_suspended(dev) && (codec->jackpoll_interval || 2999 3005 hda_codec_need_resume(codec) || codec->forced_resume)) -
GPL/trunk/alsa-kernel/pci/hda/hda_controller.c
r679 r689 630 630 178000000); 631 631 632 /* by some reason, the playback stream stalls on PulseAudio with633 * tsched=1 when a capture stream triggers. Until we figure out the634 * real cause, disable tsched mode by telling the PCM info flag.635 */636 if (chip->driver_caps & AZX_DCAPS_AMD_WORKAROUND)637 runtime->hw.info |= SNDRV_PCM_INFO_BATCH;638 639 632 if (chip->align_buffer_size) 640 633 /* constrain buffer sizes to be multiple of 128 -
GPL/trunk/alsa-kernel/pci/hda/hda_generic.c
r679 r689 1206 1206 return "Headphone"; 1207 1207 case AUTO_PIN_LINE_OUT: 1208 /* This deals with the case where we have two DACs and 1209 * one LO, one HP and one Speaker */ 1210 if (!ch && cfg->speaker_outs && cfg->hp_outs) { 1211 bool hp_lo_shared = !path_has_mixer(codec, spec->hp_paths[0], ctl_type); 1212 bool spk_lo_shared = !path_has_mixer(codec, spec->speaker_paths[0], ctl_type); 1208 /* This deals with the case where one HP or one Speaker or 1209 * one HP + one Speaker need to share the DAC with LO 1210 */ 1211 if (!ch) { 1212 bool hp_lo_shared = false, spk_lo_shared = false; 1213 1214 if (cfg->speaker_outs) 1215 spk_lo_shared = !path_has_mixer(codec, 1216 spec->speaker_paths[0], ctl_type); 1217 if (cfg->hp_outs) 1218 hp_lo_shared = !path_has_mixer(codec, spec->hp_paths[0], ctl_type); 1213 1219 if (hp_lo_shared && spk_lo_shared) 1214 1220 return spec->vmaster_mute.hook ? "PCM" : "Master"; … … 4077 4083 spec->micmute_led.led_mode = MICMUTE_LED_FOLLOW_MUTE; 4078 4084 spec->micmute_led.capture = 0; 4079 spec->micmute_led.led_value = 0;4085 spec->micmute_led.led_value = -1; 4080 4086 spec->micmute_led.old_hook = spec->cap_sync_hook; 4081 4087 spec->cap_sync_hook = update_micmute_led; -
GPL/trunk/alsa-kernel/pci/hda/hda_intel.c
r679 r689 1051 1051 struct azx *chip; 1052 1052 1053 if (!azx_is_pm_ready(card)) 1054 return 0; 1055 1053 1056 chip = card->private_data; 1054 1057 chip->pm_prepared = 1; 1058 snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); 1059 1060 flush_work(&azx_bus(chip)->unsol_work); 1055 1061 1056 1062 /* HDA controller always requires different WAKEEN for runtime suspend … … 1065 1071 struct azx *chip; 1066 1072 1073 if (!azx_is_pm_ready(card)) 1074 return; 1075 1067 1076 chip = card->private_data; 1077 snd_power_change_state(card, SNDRV_CTL_POWER_D0); 1068 1078 chip->pm_prepared = 0; 1069 1079 } -
GPL/trunk/alsa-kernel/pci/hda/patch_ca0132.c
r679 r689 30 30 #ifdef TARGET_OS2 31 31 #define KBUILD_MODNAME "patch_ca0132" 32 #pragma disable_message (302) 32 33 #endif 33 34 … … 1280 1281 SND_PCI_QUIRK(0x1102, 0x0018, "Recon3D", QUIRK_R3D), 1281 1282 SND_PCI_QUIRK(0x1102, 0x0051, "Sound Blaster AE-5", QUIRK_AE5), 1283 SND_PCI_QUIRK(0x1102, 0x0191, "Sound Blaster AE-5 Plus", QUIRK_AE5), 1282 1284 SND_PCI_QUIRK(0x1102, 0x0081, "Sound Blaster AE-7", QUIRK_AE7), 1283 1285 {0} … … 3501 3503 3502 3504 do { 3505 #ifndef TARGET_OS2 3503 3506 if (dspload_is_loaded(codec)) { 3504 3507 codec_info(codec, "ca0132 DSP downloaded and running\n"); 3505 3508 return true; 3506 3509 } 3510 #endif 3507 3511 msleep(20); 3508 3512 } while (time_before(jiffies, timeout)); … … 6528 6532 char namestr[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; 6529 6533 int type = dir ? HDA_INPUT : HDA_OUTPUT; 6534 6535 #ifndef TARGET_OS2 6530 6536 struct snd_kcontrol_new knew = 6531 6537 HDA_CODEC_VOLUME_MONO(namestr, nid, 1, 0, type); 6538 #else 6539 struct snd_kcontrol_new knew = { 6540 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 6541 .index = 0, \ 6542 .subdevice = HDA_SUBDEV_AMP_FLAG, 6543 .access = SNDRV_CTL_ELEM_ACCESS_READWRITE | 6544 SNDRV_CTL_ELEM_ACCESS_TLV_READ | 6545 SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK, 6546 .info = snd_hda_mixer_amp_volume_info, \ 6547 .get = snd_hda_mixer_amp_volume_get, 6548 .put = snd_hda_mixer_amp_volume_put, 6549 .tlv = { .c = snd_hda_mixer_amp_tlv }, 6550 6551 }; 6552 knew.name = namestr; 6553 knew.private_value = ((nid) | ((1)<<16) | ((type)<<18) | ((0)<<19) | ((0)<<23)) | 0; 6554 #endif 6532 6555 sprintf(namestr, "FX: %s %s Volume", pfx, dirstr[dir]); 6533 6556 … … 6563 6586 char namestr[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; 6564 6587 int type = dir ? HDA_INPUT : HDA_OUTPUT; 6588 #ifndef TARGET_OS2 6565 6589 struct snd_kcontrol_new knew = 6566 6590 CA0132_CODEC_MUTE_MONO(namestr, nid, 1, type); 6591 #else 6592 struct snd_kcontrol_new knew = 6593 { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 6594 .subdevice = HDA_SUBDEV_AMP_FLAG, 6595 .info = snd_hda_mixer_amp_switch_info, 6596 .get = ca0132_switch_get, 6597 .put = ca0132_switch_put, 6598 }; 6599 knew.name = namestr; 6600 knew.private_value = HDA_COMPOSE_AMP_VAL(nid, 1, 0, type); 6601 #endif 6567 6602 /* If using alt_controls, add FX: prefix. But, don't add FX: 6568 6603 * prefix to OutFX or InFX enable controls. … … 6578 6613 static int add_voicefx(struct hda_codec *codec) 6579 6614 { 6615 #ifndef TARGET_OS2 6580 6616 struct snd_kcontrol_new knew = 6581 6617 HDA_CODEC_MUTE_MONO(ca0132_voicefx.name, 6582 6618 VOICEFX, 1, 0, HDA_INPUT); 6619 #else 6620 struct snd_kcontrol_new knew = 6621 { 6622 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 6623 .index = 0, 6624 .subdevice = HDA_SUBDEV_AMP_FLAG, 6625 .info = snd_hda_mixer_amp_switch_info, 6626 .get = snd_hda_mixer_amp_switch_get, 6627 .put = snd_hda_mixer_amp_switch_put, 6628 }; 6629 knew.name = ca0132_voicefx.name; 6630 knew.private_value = HDA_COMPOSE_AMP_VAL(VOICEFX, 1, 0, HDA_INPUT); 6631 6632 #endif 6583 6633 knew.info = ca0132_voicefx_info; 6584 6634 knew.get = ca0132_voicefx_get; … … 6590 6640 static int add_ca0132_alt_eq_presets(struct hda_codec *codec) 6591 6641 { 6642 #ifndef TARGET_OS2 6592 6643 struct snd_kcontrol_new knew = 6593 6644 HDA_CODEC_MUTE_MONO(ca0132_alt_eq_enum.name, 6594 6645 EQ_PRESET_ENUM, 1, 0, HDA_OUTPUT); 6646 #else 6647 struct snd_kcontrol_new knew = 6648 { 6649 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 6650 .index = 0, 6651 .subdevice = HDA_SUBDEV_AMP_FLAG, 6652 .info = snd_hda_mixer_amp_switch_info, 6653 .get = snd_hda_mixer_amp_switch_get, 6654 .put = snd_hda_mixer_amp_switch_put, 6655 }; 6656 knew.name = ca0132_alt_eq_enum.name; 6657 knew.private_value = HDA_COMPOSE_AMP_VAL(EQ_PRESET_ENUM, 1, 0, HDA_OUTPUT); 6658 #endif 6595 6659 knew.info = ca0132_alt_eq_preset_info; 6596 6660 knew.get = ca0132_alt_eq_preset_get; … … 6685 6749 { 6686 6750 const char *namestr = "Bass Redirection Crossover"; 6751 #ifndef TARGET_OS2 6687 6752 struct snd_kcontrol_new knew = 6688 6753 HDA_CODEC_VOLUME_MONO(namestr, BASS_REDIRECTION_XOVER, 1, 0, 6689 6754 HDA_OUTPUT); 6690 6755 #else 6756 struct snd_kcontrol_new knew = { 6757 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 6758 .index = 0, \ 6759 .subdevice = HDA_SUBDEV_AMP_FLAG, 6760 .access = SNDRV_CTL_ELEM_ACCESS_READWRITE | 6761 SNDRV_CTL_ELEM_ACCESS_TLV_READ | 6762 SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK, 6763 .info = snd_hda_mixer_amp_volume_info, \ 6764 .get = snd_hda_mixer_amp_volume_get, 6765 .put = snd_hda_mixer_amp_volume_put, 6766 .tlv = { .c = snd_hda_mixer_amp_tlv }, 6767 }; 6768 knew.name = namestr; 6769 knew.private_value = HDA_COMPOSE_AMP_VAL(BASS_REDIRECTION_XOVER, 1, 0, HDA_OUTPUT) | 0; 6770 #endif 6691 6771 knew.tlv.c = NULL; 6692 6772 knew.info = ca0132_alt_xbass_xover_slider_info; … … 6701 6781 { 6702 6782 const char *namestr = "Bass Redirection"; 6783 #ifndef TARGET_OS2 6703 6784 struct snd_kcontrol_new knew = 6704 6785 CA0132_CODEC_MUTE_MONO(namestr, BASS_REDIRECTION, 1, 6705 6786 HDA_OUTPUT); 6787 #else 6788 struct snd_kcontrol_new knew = 6789 { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 6790 .subdevice = HDA_SUBDEV_AMP_FLAG, 6791 .info = snd_hda_mixer_amp_switch_info, 6792 .get = ca0132_switch_get, 6793 .put = ca0132_switch_put, 6794 }; 6795 knew.name = namestr; 6796 knew.private_value = HDA_COMPOSE_AMP_VAL(BASS_REDIRECTION, 1, 0, HDA_OUTPUT); 6797 #endif 6706 6798 6707 6799 return snd_hda_ctl_add(codec, BASS_REDIRECTION, … … 8911 9003 { 8912 9004 /* put any chip cleanup stuffs here. */ 8913 9005 #ifndef TARGET_OS2 8914 9006 if (dspload_is_loaded(codec)) 8915 9007 dsp_reset(codec); 9008 #endif 8916 9009 } 8917 9010 -
GPL/trunk/alsa-kernel/pci/hda/patch_conexant.c
r679 r689 156 156 #endif /* NOT_USED */ 157 157 158 static void cxt_init_gpio_led(struct hda_codec *codec) 159 { 160 struct conexant_spec *spec = codec->spec; 161 unsigned int mask = spec->gpio_mute_led_mask | spec->gpio_mic_led_mask; 162 163 if (mask) { 164 snd_hda_codec_write(codec, 0x01, 0, AC_VERB_SET_GPIO_MASK, 165 mask); 166 snd_hda_codec_write(codec, 0x01, 0, AC_VERB_SET_GPIO_DIRECTION, 167 mask); 168 snd_hda_codec_write(codec, 0x01, 0, AC_VERB_SET_GPIO_DATA, 169 spec->gpio_led); 170 } 171 } 172 158 173 static int cx_auto_init(struct hda_codec *codec) 159 174 { … … 163 178 cx_auto_turn_eapd(codec, spec->num_eapds, spec->eapds, true); 164 179 180 cxt_init_gpio_led(codec); 165 181 snd_hda_apply_fixup(codec, HDA_FIXUP_ACT_INIT); 166 182 … … 222 238 CXT_FIXUP_HP_GATE_MIC, 223 239 CXT_FIXUP_MUTE_LED_GPIO, 240 CXT_FIXUP_HP_ZBOOK_MUTE_LED, 224 241 CXT_FIXUP_HEADSET_MIC, 225 242 CXT_FIXUP_HP_MIC_NO_PRESENCE, … … 665 682 #endif /* NOT_USED */ 666 683 684 static void cxt_setup_mute_led(struct hda_codec *codec, 685 unsigned int mute, unsigned int mic_mute) 686 { 687 struct conexant_spec *spec = codec->spec; 688 689 spec->gpio_led = 0; 690 spec->mute_led_polarity = 0; 691 #ifdef NOT_USED 692 if (mute) { 693 snd_hda_gen_add_mute_led_cdev(codec, cxt_gpio_mute_update); 694 spec->gpio_mute_led_mask = mute; 695 } 696 if (mic_mute) { 697 snd_hda_gen_add_micmute_led_cdev(codec, cxt_gpio_micmute_update); 698 spec->gpio_mic_led_mask = mic_mute; 699 } 700 #endif /* NOT_USED */ 701 } 702 667 703 static void cxt_fixup_mute_led_gpio(struct hda_codec *codec, 668 704 const struct hda_fixup *fix, int action) 669 705 { 670 struct conexant_spec *spec = codec->spec; 671 static const struct hda_verb gpio_init[] = { 672 { 0x01, AC_VERB_SET_GPIO_MASK, 0x03 }, 673 { 0x01, AC_VERB_SET_GPIO_DIRECTION, 0x03 }, 674 {0} 675 }; 676 677 if (action == HDA_FIXUP_ACT_PRE_PROBE) { 678 #ifdef CONFIG_SND_HDA_GENERIC_LEDS 679 snd_hda_gen_add_mute_led_cdev(codec, cxt_gpio_mute_update); 680 #endif 681 spec->gpio_led = 0; 682 spec->mute_led_polarity = 0; 683 spec->gpio_mute_led_mask = 0x01; 684 spec->gpio_mic_led_mask = 0x02; 685 #ifdef CONFIG_SND_HDA_GENERIC_LEDS 686 snd_hda_gen_add_micmute_led_cdev(codec, cxt_gpio_micmute_update); 687 #endif 688 } 689 snd_hda_add_verbs(codec, gpio_init); 690 if (spec->gpio_led) 691 snd_hda_codec_write(codec, 0x01, 0, AC_VERB_SET_GPIO_DATA, 692 spec->gpio_led); 693 } 694 706 if (action == HDA_FIXUP_ACT_PRE_PROBE) 707 cxt_setup_mute_led(codec, 0x01, 0x02); 708 } 709 710 static void cxt_fixup_hp_zbook_mute_led(struct hda_codec *codec, 711 const struct hda_fixup *fix, int action) 712 { 713 if (action == HDA_FIXUP_ACT_PRE_PROBE) 714 cxt_setup_mute_led(codec, 0x10, 0x20); 715 } 695 716 696 717 /* ThinkPad X200 & co with cxt5051 */ … … 899 920 .v.func = cxt_fixup_mute_led_gpio, 900 921 }, 922 [CXT_FIXUP_HP_ZBOOK_MUTE_LED] = { 923 .type = HDA_FIXUP_FUNC, 924 .v.func = cxt_fixup_hp_zbook_mute_led, 925 }, 901 926 [CXT_FIXUP_HEADSET_MIC] = { 902 927 .type = HDA_FIXUP_FUNC, … … 966 991 SND_PCI_QUIRK(0x103c, 0x807C, "HP EliteBook 820 G3", CXT_FIXUP_HP_DOCK), 967 992 SND_PCI_QUIRK(0x103c, 0x80FD, "HP ProBook 640 G2", CXT_FIXUP_HP_DOCK), 993 SND_PCI_QUIRK(0x103c, 0x8115, "HP Z1 Gen3", CXT_FIXUP_HP_GATE_MIC), 994 SND_PCI_QUIRK(0x103c, 0x814f, "HP ZBook 15u G3", CXT_FIXUP_MUTE_LED_GPIO), 995 SND_PCI_QUIRK(0x103c, 0x8174, "HP Spectre x360", CXT_FIXUP_HP_SPECTRE), 996 SND_PCI_QUIRK(0x103c, 0x822e, "HP ProBook 440 G4", CXT_FIXUP_MUTE_LED_GPIO), 968 997 SND_PCI_QUIRK(0x103c, 0x828c, "HP EliteBook 840 G4", CXT_FIXUP_HP_DOCK), 998 SND_PCI_QUIRK(0x103c, 0x8299, "HP 800 G3 SFF", CXT_FIXUP_HP_MIC_NO_PRESENCE), 999 SND_PCI_QUIRK(0x103c, 0x829a, "HP 800 G3 DM", CXT_FIXUP_HP_MIC_NO_PRESENCE), 1000 SND_PCI_QUIRK(0x103c, 0x836e, "HP ProBook 455 G5", CXT_FIXUP_MUTE_LED_GPIO), 1001 SND_PCI_QUIRK(0x103c, 0x837f, "HP ProBook 470 G5", CXT_FIXUP_MUTE_LED_GPIO), 969 1002 SND_PCI_QUIRK(0x103c, 0x83b2, "HP EliteBook 840 G5", CXT_FIXUP_HP_DOCK), 970 1003 SND_PCI_QUIRK(0x103c, 0x83b3, "HP EliteBook 830 G5", CXT_FIXUP_HP_DOCK), 971 1004 SND_PCI_QUIRK(0x103c, 0x83d3, "HP ProBook 640 G4", CXT_FIXUP_HP_DOCK), 972 SND_PCI_QUIRK(0x103c, 0x8174, "HP Spectre x360", CXT_FIXUP_HP_SPECTRE),973 SND_PCI_QUIRK(0x103c, 0x8115, "HP Z1 Gen3", CXT_FIXUP_HP_GATE_MIC),974 SND_PCI_QUIRK(0x103c, 0x814f, "HP ZBook 15u G3", CXT_FIXUP_MUTE_LED_GPIO),975 SND_PCI_QUIRK(0x103c, 0x822e, "HP ProBook 440 G4", CXT_FIXUP_MUTE_LED_GPIO),976 SND_PCI_QUIRK(0x103c, 0x836e, "HP ProBook 455 G5", CXT_FIXUP_MUTE_LED_GPIO),977 SND_PCI_QUIRK(0x103c, 0x837f, "HP ProBook 470 G5", CXT_FIXUP_MUTE_LED_GPIO),978 SND_PCI_QUIRK(0x103c, 0x8299, "HP 800 G3 SFF", CXT_FIXUP_HP_MIC_NO_PRESENCE),979 SND_PCI_QUIRK(0x103c, 0x829a, "HP 800 G3 DM", CXT_FIXUP_HP_MIC_NO_PRESENCE),980 1005 SND_PCI_QUIRK(0x103c, 0x8402, "HP ProBook 645 G4", CXT_FIXUP_MUTE_LED_GPIO), 1006 SND_PCI_QUIRK(0x103c, 0x8427, "HP ZBook Studio G5", CXT_FIXUP_HP_ZBOOK_MUTE_LED), 1007 SND_PCI_QUIRK(0x103c, 0x844f, "HP ZBook Studio G5", CXT_FIXUP_HP_ZBOOK_MUTE_LED), 981 1008 SND_PCI_QUIRK(0x103c, 0x8455, "HP Z2 G4", CXT_FIXUP_HP_MIC_NO_PRESENCE), 982 1009 SND_PCI_QUIRK(0x103c, 0x8456, "HP Z2 G4 SFF", CXT_FIXUP_HP_MIC_NO_PRESENCE), … … 1018 1045 { .id = CXT_FIXUP_HP_DOCK, .name = "hp-dock" }, 1019 1046 { .id = CXT_FIXUP_MUTE_LED_GPIO, .name = "mute-led-gpio" }, 1047 { .id = CXT_FIXUP_HP_ZBOOK_MUTE_LED, .name = "hp-zbook-mute-led" }, 1020 1048 { .id = CXT_FIXUP_HP_MIC_NO_PRESENCE, .name = "hp-mic-fix" }, 1021 1049 {0} -
GPL/trunk/alsa-kernel/pci/hda/patch_hdmi.c
r679 r689 2483 2483 2484 2484 #ifdef CONFIG_PM 2485 static int generic_hdmi_suspend(struct hda_codec *codec) 2486 { 2487 struct hdmi_spec *spec = codec->spec; 2488 int pin_idx; 2489 2490 for (pin_idx = 0; pin_idx < spec->num_pins; pin_idx++) { 2491 struct hdmi_spec_per_pin *per_pin = get_pin(spec, pin_idx); 2492 cancel_delayed_work_sync(&per_pin->work); 2493 } 2494 return 0; 2495 } 2496 2485 2497 static int generic_hdmi_resume(struct hda_codec *codec) 2486 2498 { … … 2506 2518 .unsol_event = hdmi_unsol_event, 2507 2519 #ifdef CONFIG_PM 2520 .suspend = generic_hdmi_suspend, 2508 2521 .resume = generic_hdmi_resume, 2509 2522 #endif … … 2648 2661 * the state will be updated at resume 2649 2662 */ 2650 if ( snd_power_get_state(codec->card) != SNDRV_CTL_POWER_D0)2663 if (codec->core.dev.power.power_state.event == PM_EVENT_SUSPEND) 2651 2664 return; 2652 2665 /* ditto during suspend/resume process itself */ … … 2834 2847 * the state will be updated at resume 2835 2848 */ 2836 if ( snd_power_get_state(codec->card) != SNDRV_CTL_POWER_D0)2849 if (codec->core.dev.power.power_state.event == PM_EVENT_SUSPEND) 2837 2850 return; 2838 2851 /* ditto during suspend/resume process itself */ -
GPL/trunk/alsa-kernel/pci/hda/patch_realtek.c
r679 r689 393 393 fallthrough; 394 394 case 0x10ec0215: 395 case 0x10ec0230: 395 396 case 0x10ec0233: 396 397 case 0x10ec0235: … … 403 404 case 0x10ec0283: 404 405 case 0x10ec0286: 405 case 0x10ec0287:406 406 case 0x10ec0288: 407 407 case 0x10ec0285: … … 413 413 case 0x10ec0275: 414 414 alc_update_coef_idx(codec, 0xe, 0, 1<<0); 415 break; 416 case 0x10ec0287: 417 alc_update_coef_idx(codec, 0x10, 1<<9, 0); 418 alc_write_coef_idx(codec, 0x8, 0x4ab7); 415 419 break; 416 420 case 0x10ec0293: … … 3019 3023 SND_PCI_QUIRK(0x1025, 0x0146, "Acer Aspire 6935G", 3020 3024 ALC882_FIXUP_ACER_ASPIRE_8930G), 3025 SND_PCI_QUIRK(0x1025, 0x0142, "Acer Aspire 7730G", 3026 ALC882_FIXUP_ACER_ASPIRE_4930G), 3027 SND_PCI_QUIRK(0x1025, 0x0155, "Packard-Bell M5120", ALC882_FIXUP_PB_M5210), 3021 3028 SND_PCI_QUIRK(0x1025, 0x015e, "Acer Aspire 6930G", 3022 3029 ALC882_FIXUP_ACER_ASPIRE_4930G), 3023 3030 SND_PCI_QUIRK(0x1025, 0x0166, "Acer Aspire 6530G", 3024 3031 ALC882_FIXUP_ACER_ASPIRE_4930G), 3025 SND_PCI_QUIRK(0x1025, 0x0142, "Acer Aspire 7730G",3026 ALC882_FIXUP_ACER_ASPIRE_4930G),3027 SND_PCI_QUIRK(0x1025, 0x0155, "Packard-Bell M5120", ALC882_FIXUP_PB_M5210),3028 3032 SND_PCI_QUIRK(0x1025, 0x021e, "Acer Aspire 5739G", 3029 3033 ALC882_FIXUP_ACER_ASPIRE_4930G), … … 3038 3042 SND_PCI_QUIRK(0x1043, 0x84bc, "ASUS ET2700", ALC887_FIXUP_ASUS_BASS), 3039 3043 SND_PCI_QUIRK(0x1043, 0x8691, "ASUS ROG Ranger VIII", ALC882_FIXUP_GPIO3), 3044 SND_PCI_QUIRK(0x104d, 0x9043, "Sony Vaio VGC-LN51JGB", ALC882_FIXUP_NO_PRIMARY_HP), 3045 SND_PCI_QUIRK(0x104d, 0x9044, "Sony VAIO AiO", ALC882_FIXUP_NO_PRIMARY_HP), 3040 3046 SND_PCI_QUIRK(0x104d, 0x9047, "Sony Vaio TT", ALC889_FIXUP_VAIO_TT), 3041 3047 SND_PCI_QUIRK(0x104d, 0x905a, "Sony Vaio Z", ALC882_FIXUP_NO_PRIMARY_HP), 3042 3048 SND_PCI_QUIRK(0x104d, 0x9060, "Sony Vaio VPCL14M1R", ALC882_FIXUP_NO_PRIMARY_HP), 3043 SND_PCI_QUIRK(0x104d, 0x9043, "Sony Vaio VGC-LN51JGB", ALC882_FIXUP_NO_PRIMARY_HP),3044 SND_PCI_QUIRK(0x104d, 0x9044, "Sony VAIO AiO", ALC882_FIXUP_NO_PRIMARY_HP),3045 3049 3046 3050 /* All Apple entries are in codec SSIDs */ … … 3081 3085 SND_PCI_QUIRK(0x1462, 0x1293, "MSI-GP65", ALC1220_FIXUP_CLEVO_P950), 3082 3086 SND_PCI_QUIRK(0x1462, 0x7350, "MSI-7350", ALC889_FIXUP_CD), 3087 SND_PCI_QUIRK(0x1462, 0xcc34, "MSI Godlike X570", ALC1220_FIXUP_GB_DUAL_CODECS), 3083 3088 SND_PCI_QUIRK(0x1462, 0xda57, "MSI Z270-Gaming", ALC1220_FIXUP_GB_DUAL_CODECS), 3084 3089 SND_PCI_QUIRK_VENDOR(0x1462, "MSI", ALC882_FIXUP_GPIO3), 3085 3090 SND_PCI_QUIRK(0x147b, 0x107a, "Abit AW9D-MAX", ALC882_FIXUP_ABIT_AW9D_MAX), 3091 SND_PCI_QUIRK(0x1558, 0x50d3, "Clevo PC50[ER][CDF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS), 3092 SND_PCI_QUIRK(0x1558, 0x65d1, "Clevo PB51[ER][CDF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS), 3093 SND_PCI_QUIRK(0x1558, 0x65d2, "Clevo PB51R[CDF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS), 3094 SND_PCI_QUIRK(0x1558, 0x65e1, "Clevo PB51[ED][DF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS), 3095 SND_PCI_QUIRK(0x1558, 0x65e5, "Clevo PC50D[PRS](?:-D|-G)?", ALC1220_FIXUP_CLEVO_PB51ED_PINS), 3096 SND_PCI_QUIRK(0x1558, 0x67d1, "Clevo PB71[ER][CDF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS), 3097 SND_PCI_QUIRK(0x1558, 0x67e1, "Clevo PB71[DE][CDF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS), 3098 SND_PCI_QUIRK(0x1558, 0x67e5, "Clevo PC70D[PRS](?:-D|-G)?", ALC1220_FIXUP_CLEVO_PB51ED_PINS), 3099 SND_PCI_QUIRK(0x1558, 0x70d1, "Clevo PC70[ER][CDF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS), 3100 SND_PCI_QUIRK(0x1558, 0x7714, "Clevo X170", ALC1220_FIXUP_CLEVO_PB51ED_PINS), 3086 3101 SND_PCI_QUIRK(0x1558, 0x9501, "Clevo P950HR", ALC1220_FIXUP_CLEVO_P950), 3087 3102 SND_PCI_QUIRK(0x1558, 0x9506, "Clevo P955HQ", ALC1220_FIXUP_CLEVO_P950), 3088 SND_PCI_QUIRK(0x1558, 0x950 A, "Clevo P955H[PR]", ALC1220_FIXUP_CLEVO_P950),3103 SND_PCI_QUIRK(0x1558, 0x950a, "Clevo P955H[PR]", ALC1220_FIXUP_CLEVO_P950), 3089 3104 SND_PCI_QUIRK(0x1558, 0x95e1, "Clevo P95xER", ALC1220_FIXUP_CLEVO_P950), 3090 3105 SND_PCI_QUIRK(0x1558, 0x95e2, "Clevo P950ER", ALC1220_FIXUP_CLEVO_P950), … … 3096 3111 SND_PCI_QUIRK(0x1558, 0x97e1, "Clevo P970[ER][CDFN]", ALC1220_FIXUP_CLEVO_P950), 3097 3112 SND_PCI_QUIRK(0x1558, 0x97e2, "Clevo P970RC-M", ALC1220_FIXUP_CLEVO_P950), 3098 SND_PCI_QUIRK(0x1558, 0x50d3, "Clevo PC50[ER][CDF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS),3099 SND_PCI_QUIRK(0x1558, 0x65d1, "Clevo PB51[ER][CDF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS),3100 SND_PCI_QUIRK(0x1558, 0x65d2, "Clevo PB51R[CDF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS),3101 SND_PCI_QUIRK(0x1558, 0x65e1, "Clevo PB51[ED][DF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS),3102 SND_PCI_QUIRK(0x1558, 0x67d1, "Clevo PB71[ER][CDF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS),3103 SND_PCI_QUIRK(0x1558, 0x67e1, "Clevo PB71[DE][CDF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS),3104 SND_PCI_QUIRK(0x1558, 0x70d1, "Clevo PC70[ER][CDF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS),3105 SND_PCI_QUIRK(0x1558, 0x7714, "Clevo X170", ALC1220_FIXUP_CLEVO_PB51ED_PINS),3106 3113 SND_PCI_QUIRK_VENDOR(0x1558, "Clevo laptop", ALC882_FIXUP_EAPD), 3107 3114 SND_PCI_QUIRK(0x161f, 0x2054, "Medion laptop", ALC883_FIXUP_EAPD), … … 3146 3153 }; 3147 3154 3155 static const struct snd_hda_pin_quirk alc882_pin_fixup_tbl[] = { 3156 #ifndef TARGET_OS2 3157 SND_HDA_PIN_QUIRK(0x10ec1220, 0x1043, "ASUS", ALC1220_FIXUP_CLEVO_P950, 3158 {0x14, 0x01014010}, 3159 {0x15, 0x01011012}, 3160 {0x16, 0x01016011}, 3161 {0x18, 0x01a19040}, 3162 {0x19, 0x02a19050}, 3163 {0x1a, 0x0181304f}, 3164 {0x1b, 0x0221401f}, 3165 {0x1e, 0x01456130}), 3166 SND_HDA_PIN_QUIRK(0x10ec1220, 0x1462, "MS-7C35", ALC1220_FIXUP_CLEVO_P950, 3167 {0x14, 0x01015010}, 3168 {0x15, 0x01011012}, 3169 {0x16, 0x01011011}, 3170 {0x18, 0x01a11040}, 3171 {0x19, 0x02a19050}, 3172 {0x1a, 0x0181104f}, 3173 {0x1b, 0x0221401f}, 3174 {0x1e, 0x01451130}), 3175 #endif 3176 {0} 3177 }; 3178 3148 3179 /* 3149 3180 * BIOS auto configuration … … 3187 3218 snd_hda_pick_fixup(codec, alc882_fixup_models, alc882_fixup_tbl, 3188 3219 alc882_fixups); 3220 snd_hda_pick_pin_fixup(codec, alc882_pin_fixup_tbl, alc882_fixups, true); 3189 3221 snd_hda_apply_fixup(codec, HDA_FIXUP_ACT_PRE_PROBE); 3190 3222 … … 3766 3798 alc_update_coef_idx(codec, 0x44, 0x0045 << 8, 0x0); 3767 3799 break; 3800 case 0x10ec0230: 3768 3801 case 0x10ec0236: 3769 3802 case 0x10ec0256: … … 3793 3826 alc_update_coef_idx(codec, 0x44, 0x007f << 8, 0x0045 << 8); 3794 3827 break; 3828 case 0x10ec0230: 3795 3829 case 0x10ec0236: 3796 3830 case 0x10ec0256: … … 4571 4605 } 4572 4606 4607 /* Fix the speaker amp after resume, etc */ 4608 static void alc269vb_fixup_aspire_e1_coef(struct hda_codec *codec, 4609 const struct hda_fixup *fix, 4610 int action) 4611 { 4612 if (action == HDA_FIXUP_ACT_INIT) 4613 alc_update_coef_idx(codec, 0x0d, 0x6000, 0x6000); 4614 } 4615 4573 4616 static void alc269_fixup_pcm_44k(struct hda_codec *codec, 4574 4617 const struct hda_fixup *fix, int action) … … 4881 4924 } 4882 4925 4926 static void alc236_fixup_hp_gpio_led(struct hda_codec *codec, 4927 const struct hda_fixup *fix, int action) 4928 { 4929 alc_fixup_hp_gpio_led(codec, action, 0x02, 0x01); 4930 } 4931 4883 4932 static void alc269_fixup_hp_gpio_led(struct hda_codec *codec, 4884 4933 const struct hda_fixup *fix, int action) … … 4977 5026 4978 5027 #ifdef NOT_USED 5028 /* toggle GPIO2 at each time stream is started; we use PREPARE state instead */ 5029 static void alc274_hp_envy_pcm_hook(struct hda_pcm_stream *hinfo, 5030 struct hda_codec *codec, 5031 struct snd_pcm_substream *substream, 5032 int action) 5033 { 5034 switch (action) { 5035 case HDA_GEN_PCM_ACT_PREPARE: 5036 alc_update_gpio_data(codec, 0x04, true); 5037 break; 5038 case HDA_GEN_PCM_ACT_CLEANUP: 5039 alc_update_gpio_data(codec, 0x04, false); 5040 break; 5041 } 5042 } 5043 5044 static void alc274_fixup_hp_envy_gpio(struct hda_codec *codec, 5045 const struct hda_fixup *fix, 5046 int action) 5047 { 5048 struct alc_spec *spec = codec->spec; 5049 5050 if (action == HDA_FIXUP_ACT_PROBE) { 5051 spec->gpio_mask |= 0x04; 5052 spec->gpio_dir |= 0x04; 5053 spec->gen.pcm_playback_hook = alc274_hp_envy_pcm_hook; 5054 } 5055 } 5056 4979 5057 static void alc_update_coef_led(struct hda_codec *codec, 4980 5058 struct alc_coef_led *led, … … 5095 5173 alc236_fixup_hp_mute_led_coefbit(codec, fix, action); 5096 5174 alc236_fixup_hp_coef_micmute_led(codec, fix, action); 5175 } 5176 5177 static void alc236_fixup_hp_micmute_led_vref(struct hda_codec *codec, 5178 const struct hda_fixup *fix, int action) 5179 { 5180 struct alc_spec *spec = codec->spec; 5181 5182 if (action == HDA_FIXUP_ACT_PRE_PROBE) { 5183 spec->cap_mute_led_nid = 0x1a; 5184 #ifdef CONFIG_SND_HDA_GENERIC_LEDS 5185 snd_hda_gen_add_micmute_led_cdev(codec, vref_micmute_led_set); 5186 #endif 5187 codec->power_filter = led_power_filter; 5188 } 5189 } 5190 5191 static void alc236_fixup_hp_mute_led_micmute_vref(struct hda_codec *codec, 5192 const struct hda_fixup *fix, int action) 5193 { 5194 alc236_fixup_hp_mute_led_coefbit(codec, fix, action); 5195 alc236_fixup_hp_micmute_led_vref(codec, fix, action); 5097 5196 } 5098 5197 … … 5327 5426 alc_process_coef_fw(codec, coef0255); 5328 5427 break; 5428 case 0x10ec0230: 5329 5429 case 0x10ec0236: 5330 5430 case 0x10ec0256: … … 5441 5541 snd_hda_set_pin_ctl_cache(codec, mic_pin, PIN_VREF50); 5442 5542 break; 5543 case 0x10ec0230: 5443 5544 case 0x10ec0236: 5444 5545 case 0x10ec0256: … … 5590 5691 alc_process_coef_fw(codec, coef0255); 5591 5692 break; 5693 case 0x10ec0230: 5592 5694 case 0x10ec0236: 5593 5695 case 0x10ec0256: … … 5688 5790 alc_process_coef_fw(codec, coef0255); 5689 5791 break; 5792 case 0x10ec0230: 5690 5793 case 0x10ec0236: 5691 5794 case 0x10ec0256: … … 5801 5904 alc_process_coef_fw(codec, coef0255); 5802 5905 break; 5906 case 0x10ec0230: 5803 5907 case 0x10ec0236: 5804 5908 case 0x10ec0256: … … 5901 6005 is_ctia = (val & 0x0070) == 0x0070; 5902 6006 break; 6007 case 0x10ec0230: 5903 6008 case 0x10ec0236: 5904 6009 case 0x10ec0256: … … 5931 6036 case 0x10ec0294: 5932 6037 alc_process_coef_fw(codec, coef0274); 5933 msleep(8 0);6038 msleep(850); 5934 6039 val = alc_read_coef_idx(codec, 0x46); 5935 6040 is_ctia = (val & 0x00f0) == 0x00f0; … … 6115 6220 { 6116 6221 snd_hda_gen_hp_automute(codec, jack); 6222 alc_update_headset_mode(codec); 6117 6223 } 6118 6224 … … 6195 6301 alc_process_coef_fw(codec, alc255fw); 6196 6302 break; 6303 case 0x10ec0230: 6197 6304 case 0x10ec0236: 6198 6305 case 0x10ec0256: … … 6334 6441 } 6335 6442 6443 static void alc295_fixup_asus_dacs(struct hda_codec *codec, 6444 const struct hda_fixup *fix, int action) 6445 { 6446 static const hda_nid_t preferred_pairs[] = { 6447 0x17, 0x02, 0x21, 0x03, 0 6448 }; 6449 struct alc_spec *spec = codec->spec; 6450 6451 if (action == HDA_FIXUP_ACT_PRE_PROBE) 6452 spec->gen.preferred_dacs = preferred_pairs; 6453 } 6454 6336 6455 static void alc_shutup_dell_xps13(struct hda_codec *codec) 6337 6456 { … … 6784 6903 alc_update_coef_idx(codec, 0x4a, 0x8000, 0 << 15); 6785 6904 break; 6905 case 0x10ec0230: 6786 6906 case 0x10ec0235: 6787 6907 case 0x10ec0236: … … 6851 6971 } 6852 6972 6973 static void alc294_gu502_toggle_output(struct hda_codec *codec, 6974 struct hda_jack_callback *cb) 6975 { 6976 /* Windows sets 0x10 to 0x8420 for Node 0x20 which is 6977 * responsible from changes between speakers and headphones 6978 */ 6979 if (snd_hda_jack_detect_state(codec, 0x21) == HDA_JACK_PRESENT) 6980 alc_write_coef_idx(codec, 0x10, 0x8420); 6981 else 6982 alc_write_coef_idx(codec, 0x10, 0x0a20); 6983 } 6984 6985 static void alc294_fixup_gu502_hp(struct hda_codec *codec, 6986 const struct hda_fixup *fix, int action) 6987 { 6988 if (!is_jack_detectable(codec, 0x21)) 6989 return; 6990 6991 switch (action) { 6992 case HDA_FIXUP_ACT_PRE_PROBE: 6993 snd_hda_jack_detect_enable_callback(codec, 0x21, 6994 alc294_gu502_toggle_output); 6995 break; 6996 case HDA_FIXUP_ACT_INIT: 6997 alc294_gu502_toggle_output(codec, NULL); 6998 break; 6999 } 7000 } 7001 6853 7002 static void alc285_fixup_hp_gpio_amp_init(struct hda_codec *codec, 6854 7003 const struct hda_fixup *fix, int action) … … 6887 7036 } 6888 7037 } 7038 7039 static void alc285_fixup_hp_spectre_x360(struct hda_codec *codec, 7040 const struct hda_fixup *fix, int action) 7041 { 7042 static const hda_nid_t conn[] = { 0x02 }; 7043 static const struct hda_pintbl pincfgs[] = { 7044 { 0x14, 0x90170110 }, /* rear speaker */ 7045 {0} 7046 }; 7047 7048 switch (action) { 7049 case HDA_FIXUP_ACT_PRE_PROBE: 7050 snd_hda_apply_pincfgs(codec, pincfgs); 7051 /* force front speaker to DAC1 */ 7052 snd_hda_override_conn_list(codec, 0x17, ARRAY_SIZE(conn), conn); 7053 break; 7054 } 7055 } 6889 7056 #endif /* NOT_USED */ 6890 7057 … … 6901 7068 /* for alc295_fixup_hp_top_speakers */ 6902 7069 #include "hp_x360_helper.c" 7070 7071 /* for alc285_fixup_ideapad_s740_coef() */ 7072 #include "ideapad_s740_helper.c" 6903 7073 6904 7074 enum { … … 6980 7150 ALC255_FIXUP_MIC_MUTE_LED, 6981 7151 ALC282_FIXUP_ASPIRE_V5_PINS, 7152 ALC269VB_FIXUP_ASPIRE_E1_COEF, 6982 7153 ALC280_FIXUP_HP_GPIO4, 6983 7154 ALC286_FIXUP_HP_GPIO_LED, … … 7065 7236 ALC294_FIXUP_ASUS_GX502_PINS, 7066 7237 ALC294_FIXUP_ASUS_GX502_VERBS, 7238 ALC294_FIXUP_ASUS_GU502_HP, 7239 ALC294_FIXUP_ASUS_GU502_PINS, 7240 ALC294_FIXUP_ASUS_GU502_VERBS, 7067 7241 ALC285_FIXUP_HP_GPIO_LED, 7068 7242 ALC285_FIXUP_HP_MUTE_LED, 7243 ALC236_FIXUP_HP_GPIO_LED, 7069 7244 ALC236_FIXUP_HP_MUTE_LED, 7245 ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF, 7070 7246 ALC298_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET, 7071 7247 ALC295_FIXUP_ASUS_MIC_NO_PRESENCE, … … 7083 7259 ALC269_FIXUP_LEMOTE_A190X, 7084 7260 ALC256_FIXUP_INTEL_NUC8_RUGGED, 7261 ALC233_FIXUP_INTEL_NUC8_DMIC, 7262 ALC233_FIXUP_INTEL_NUC8_BOOST, 7263 ALC256_FIXUP_INTEL_NUC10, 7085 7264 ALC255_FIXUP_XIAOMI_HEADSET_MIC, 7086 7265 ALC274_FIXUP_HP_MIC, 7087 7266 ALC274_FIXUP_HP_HEADSET_MIC, 7267 ALC274_FIXUP_HP_ENVY_GPIO, 7088 7268 ALC256_FIXUP_ASUS_HPE, 7089 7269 ALC285_FIXUP_THINKPAD_NO_BASS_SPK_HEADSET_JACK, … … 7093 7273 ALC282_FIXUP_ACER_DISABLE_LINEOUT, 7094 7274 ALC255_FIXUP_ACER_LIMIT_INT_MIC_BOOST, 7275 ALC256_FIXUP_ACER_HEADSET_MIC, 7276 ALC285_FIXUP_IDEAPAD_S740_COEF, 7277 ALC295_FIXUP_ASUS_DACS, 7278 ALC295_FIXUP_HP_OMEN, 7279 ALC285_FIXUP_HP_SPECTRE_X360, 7280 ALC287_FIXUP_IDEAPAD_BASS_SPK_AMP, 7281 ALC623_FIXUP_LENOVO_THINKSTATION_P340, 7282 ALC255_FIXUP_ACER_HEADPHONE_AND_MIC, 7095 7283 }; 7096 7284 … … 7940 8128 }, 7941 8129 #endif 8130 [ALC269VB_FIXUP_ASPIRE_E1_COEF] = { 8131 .type = HDA_FIXUP_FUNC, 8132 .v.func = alc269vb_fixup_aspire_e1_coef, 8133 }, 7942 8134 [ALC280_FIXUP_HP_GPIO4] = { 7943 8135 .type = HDA_FIXUP_FUNC, … … 8089 8281 .v.func = alc233_fixup_lenovo_line2_mic_hotkey, 8090 8282 }, 8283 [ALC233_FIXUP_INTEL_NUC8_DMIC] = { 8284 .type = HDA_FIXUP_FUNC, 8285 .v.func = alc_fixup_inv_dmic, 8286 .chained = true, 8287 .chain_id = ALC233_FIXUP_INTEL_NUC8_BOOST, 8288 }, 8289 [ALC233_FIXUP_INTEL_NUC8_BOOST] = { 8290 .type = HDA_FIXUP_FUNC, 8291 .v.func = alc269_fixup_limit_int_mic_boost 8292 }, 8091 8293 [ALC255_FIXUP_DELL_SPK_NOISE] = { 8092 8294 .type = HDA_FIXUP_FUNC, … … 8255 8457 {0} 8256 8458 }, 8459 .chained = true, 8460 .chain_id = ALC289_FIXUP_ASUS_GA401, 8257 8461 }, 8258 8462 [ALC225_FIXUP_DELL_WYSE_MIC_NO_PRESENCE] = { … … 8601 8805 .v.func = alc294_fixup_gx502_hp, 8602 8806 }, 8807 [ALC294_FIXUP_ASUS_GU502_PINS] = { 8808 .type = HDA_FIXUP_PINS, 8809 .v.pins = (const struct hda_pintbl[]) { 8810 { 0x19, 0x01a11050 }, /* rear HP mic */ 8811 { 0x1a, 0x01a11830 }, /* rear external mic */ 8812 { 0x21, 0x012110f0 }, /* rear HP out */ 8813 { } 8814 }, 8815 .chained = true, 8816 .chain_id = ALC294_FIXUP_ASUS_GU502_VERBS 8817 }, 8818 [ALC294_FIXUP_ASUS_GU502_VERBS] = { 8819 .type = HDA_FIXUP_VERBS, 8820 .v.verbs = (const struct hda_verb[]) { 8821 /* set 0x15 to HP-OUT ctrl */ 8822 { 0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, 0xc0 }, 8823 /* unmute the 0x15 amp */ 8824 { 0x15, AC_VERB_SET_AMP_GAIN_MUTE, 0xb000 }, 8825 /* set 0x1b to HP-OUT */ 8826 { 0x1b, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x24 }, 8827 { } 8828 }, 8829 .chained = true, 8830 .chain_id = ALC294_FIXUP_ASUS_GU502_HP 8831 }, 8832 [ALC294_FIXUP_ASUS_GU502_HP] = { 8833 .type = HDA_FIXUP_FUNC, 8834 .v.func = alc294_fixup_gu502_hp, 8835 }, 8603 8836 [ALC294_FIXUP_ASUS_COEF_1B] = { 8604 8837 .type = HDA_FIXUP_VERBS, … … 8621 8854 .v.func = alc285_fixup_hp_mute_led, 8622 8855 }, 8856 [ALC236_FIXUP_HP_GPIO_LED] = { 8857 .type = HDA_FIXUP_FUNC, 8858 .v.func = alc236_fixup_hp_gpio_led, 8859 }, 8623 8860 [ALC236_FIXUP_HP_MUTE_LED] = { 8624 8861 .type = HDA_FIXUP_FUNC, 8625 8862 .v.func = alc236_fixup_hp_mute_led, 8863 }, 8864 [ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF] = { 8865 .type = HDA_FIXUP_FUNC, 8866 .v.func = alc236_fixup_hp_mute_led_micmute_vref, 8626 8867 }, 8627 8868 #ifdef TARGET_OS2xxx … … 8791 9032 .chain_id = ALC269_FIXUP_HEADSET_MODE 8792 9033 }, 9034 [ALC256_FIXUP_INTEL_NUC10] = { 9035 .type = HDA_FIXUP_PINS, 9036 .v.pins = (const struct hda_pintbl[]) { 9037 { 0x19, 0x01a1913c }, /* use as headset mic, without its own jack detect */ 9038 { } 9039 }, 9040 .chained = true, 9041 .chain_id = ALC269_FIXUP_HEADSET_MODE 9042 }, 8793 9043 [ALC255_FIXUP_XIAOMI_HEADSET_MIC] = { 8794 9044 .type = HDA_FIXUP_VERBS, … … 8814 9064 .chained = true, 8815 9065 .chain_id = ALC274_FIXUP_HP_MIC 9066 }, 9067 [ALC274_FIXUP_HP_ENVY_GPIO] = { 9068 .type = HDA_FIXUP_FUNC, 9069 .v.func = alc274_fixup_hp_envy_gpio, 8816 9070 }, 8817 9071 [ALC256_FIXUP_ASUS_HPE] = { … … 8857 9111 }, 8858 9112 #endif 9113 [ALC285_FIXUP_IDEAPAD_S740_COEF] = { 9114 .type = HDA_FIXUP_FUNC, 9115 .v.func = alc285_fixup_ideapad_s740_coef, 9116 .chained = true, 9117 .chain_id = ALC269_FIXUP_THINKPAD_ACPI, 9118 }, 9119 [ALC295_FIXUP_ASUS_DACS] = { 9120 .type = HDA_FIXUP_FUNC, 9121 .v.func = alc295_fixup_asus_dacs, 9122 }, 9123 #ifdef TARGET_OS2xxx 9124 [ALC295_FIXUP_HP_OMEN] = { 9125 .type = HDA_FIXUP_PINS, 9126 .v.pins = (const struct hda_pintbl[]) { 9127 { 0x12, 0xb7a60130 }, 9128 { 0x13, 0x40000000 }, 9129 { 0x14, 0x411111f0 }, 9130 { 0x16, 0x411111f0 }, 9131 { 0x17, 0x90170110 }, 9132 { 0x18, 0x411111f0 }, 9133 { 0x19, 0x02a11030 }, 9134 { 0x1a, 0x411111f0 }, 9135 { 0x1b, 0x04a19030 }, 9136 { 0x1d, 0x40600001 }, 9137 { 0x1e, 0x411111f0 }, 9138 { 0x21, 0x03211020 }, 9139 {0} 9140 }, 9141 .chained = true, 9142 .chain_id = ALC269_FIXUP_HP_LINE1_MIC1_LED, 9143 }, 9144 [ALC285_FIXUP_HP_SPECTRE_X360] = { 9145 .type = HDA_FIXUP_FUNC, 9146 .v.func = alc285_fixup_hp_spectre_x360, 9147 }, 9148 #endif 9149 [ALC287_FIXUP_IDEAPAD_BASS_SPK_AMP] = { 9150 .type = HDA_FIXUP_FUNC, 9151 .v.func = alc285_fixup_ideapad_s740_coef, 9152 .chained = true, 9153 .chain_id = ALC285_FIXUP_THINKPAD_HEADSET_JACK, 9154 }, 9155 [ALC623_FIXUP_LENOVO_THINKSTATION_P340] = { 9156 .type = HDA_FIXUP_FUNC, 9157 .v.func = alc_fixup_no_shutup, 9158 .chained = true, 9159 .chain_id = ALC283_FIXUP_HEADSET_MIC, 9160 }, 9161 #ifdef TARGET_OS2xxx 9162 [ALC255_FIXUP_ACER_HEADPHONE_AND_MIC] = { 9163 .type = HDA_FIXUP_PINS, 9164 .v.pins = (const struct hda_pintbl[]) { 9165 { 0x21, 0x03211030 }, /* Change the Headphone location to Left */ 9166 { } 9167 }, 9168 .chained = true, 9169 .chain_id = ALC255_FIXUP_XIAOMI_HEADSET_MIC 9170 }, 9171 #endif 8859 9172 }; 8860 9173 … … 8865 9178 SND_PCI_QUIRK(0x1025, 0x047c, "Acer AC700", ALC269_FIXUP_ACER_AC700), 8866 9179 SND_PCI_QUIRK(0x1025, 0x072d, "Acer Aspire V5-571G", ALC269_FIXUP_ASPIRE_HEADSET_MIC), 8867 SND_PCI_QUIRK(0x1025, 0x080d, "Acer Aspire V5-122P", ALC269_FIXUP_ASPIRE_HEADSET_MIC),8868 9180 SND_PCI_QUIRK(0x1025, 0x0740, "Acer AO725", ALC271_FIXUP_HP_GATE_MIC_JACK), 8869 9181 SND_PCI_QUIRK(0x1025, 0x0742, "Acer AO756", ALC271_FIXUP_HP_GATE_MIC_JACK), … … 8871 9183 SND_PCI_QUIRK(0x1025, 0x0775, "Acer Aspire E1-572", ALC271_FIXUP_HP_GATE_MIC_JACK_E1_572), 8872 9184 SND_PCI_QUIRK(0x1025, 0x079b, "Acer Aspire V5-573G", ALC282_FIXUP_ASPIRE_V5_PINS), 9185 SND_PCI_QUIRK(0x1025, 0x080d, "Acer Aspire V5-122P", ALC269_FIXUP_ASPIRE_HEADSET_MIC), 9186 SND_PCI_QUIRK(0x1025, 0x0840, "Acer Aspire E1", ALC269VB_FIXUP_ASPIRE_E1_COEF), 8873 9187 SND_PCI_QUIRK(0x1025, 0x101c, "Acer Veriton N2510G", ALC269_FIXUP_LIFEBOOK), 8874 9188 SND_PCI_QUIRK(0x1025, 0x102b, "Acer Aspire C24-860", ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE), … … 8883 9197 SND_PCI_QUIRK(0x1025, 0x1247, "Acer vCopperbox", ALC269VC_FIXUP_ACER_VCOPPERBOX_PINS), 8884 9198 SND_PCI_QUIRK(0x1025, 0x1248, "Acer Veriton N4660G", ALC269VC_FIXUP_ACER_MIC_NO_PRESENCE), 9199 SND_PCI_QUIRK(0x1025, 0x1269, "Acer SWIFT SF314-54", ALC256_FIXUP_ACER_HEADSET_MIC), 8885 9200 SND_PCI_QUIRK(0x1025, 0x128f, "Acer Veriton Z6860G", ALC286_FIXUP_ACER_AIO_HEADSET_MIC), 8886 9201 SND_PCI_QUIRK(0x1025, 0x1290, "Acer Veriton Z4860G", ALC286_FIXUP_ACER_AIO_HEADSET_MIC), 8887 9202 SND_PCI_QUIRK(0x1025, 0x1291, "Acer Veriton Z4660G", ALC286_FIXUP_ACER_AIO_HEADSET_MIC), 9203 SND_PCI_QUIRK(0x1025, 0x129c, "Acer SWIFT SF314-55", ALC256_FIXUP_ACER_HEADSET_MIC), 8888 9204 SND_PCI_QUIRK(0x1025, 0x1308, "Acer Aspire Z24-890", ALC286_FIXUP_ACER_AIO_HEADSET_MIC), 8889 9205 SND_PCI_QUIRK(0x1025, 0x132a, "Acer TravelMate B114-21", ALC233_FIXUP_ACER_HEADSET_MIC), 8890 9206 SND_PCI_QUIRK(0x1025, 0x1330, "Acer TravelMate X514-51T", ALC255_FIXUP_ACER_HEADSET_MIC), 8891 9207 SND_PCI_QUIRK(0x1025, 0x1430, "Acer TravelMate B311R-31", ALC256_FIXUP_ACER_MIC_NO_PRESENCE), 9208 SND_PCI_QUIRK(0x1025, 0x1466, "Acer Aspire A515-56", ALC255_FIXUP_ACER_HEADPHONE_AND_MIC), 8892 9209 SND_PCI_QUIRK(0x1028, 0x0470, "Dell M101z", ALC269_FIXUP_DELL_M101Z), 8893 9210 SND_PCI_QUIRK(0x1028, 0x054b, "Dell XPS one 2710", ALC275_FIXUP_DELL_XPS), … … 8923 9240 SND_PCI_QUIRK(0x1028, 0x075c, "Dell XPS 27 7760", ALC298_FIXUP_SPK_VOLUME), 8924 9241 SND_PCI_QUIRK(0x1028, 0x075d, "Dell AIO", ALC298_FIXUP_SPK_VOLUME), 9242 SND_PCI_QUIRK(0x1028, 0x0798, "Dell Inspiron 17 7000 Gaming", ALC256_FIXUP_DELL_INSPIRON_7559_SUBWOOFER), 8925 9243 SND_PCI_QUIRK(0x1028, 0x07b0, "Dell Precision 7520", ALC295_FIXUP_DISABLE_DAC3), 8926 SND_PCI_QUIRK(0x1028, 0x0798, "Dell Inspiron 17 7000 Gaming", ALC256_FIXUP_DELL_INSPIRON_7559_SUBWOOFER),8927 9244 SND_PCI_QUIRK(0x1028, 0x080c, "Dell WYSE", ALC225_FIXUP_DELL_WYSE_MIC_NO_PRESENCE), 8928 9245 SND_PCI_QUIRK(0x1028, 0x084b, "Dell", ALC274_FIXUP_DELL_AIO_LINEOUT_VERB), … … 8934 9251 SND_PCI_QUIRK(0x1028, 0x08ae, "Dell WYSE NB", ALC225_FIXUP_DELL1_MIC_NO_PRESENCE), 8935 9252 SND_PCI_QUIRK(0x1028, 0x0935, "Dell", ALC274_FIXUP_DELL_AIO_LINEOUT_VERB), 9253 SND_PCI_QUIRK(0x1028, 0x097d, "Dell Precision", ALC289_FIXUP_DUAL_SPK), 8936 9254 SND_PCI_QUIRK(0x1028, 0x097e, "Dell Precision", ALC289_FIXUP_DUAL_SPK), 8937 SND_PCI_QUIRK(0x1028, 0x097d, "Dell Precision", ALC289_FIXUP_DUAL_SPK),8938 9255 SND_PCI_QUIRK(0x1028, 0x098d, "Dell Precision", ALC233_FIXUP_ASUS_MIC_NO_PRESENCE), 8939 9256 SND_PCI_QUIRK(0x1028, 0x09bf, "Dell Precision", ALC233_FIXUP_ASUS_MIC_NO_PRESENCE), … … 8946 9263 SND_PCI_QUIRK(0x103c, 0x18e6, "HP", ALC269_FIXUP_HP_GPIO_LED), 8947 9264 SND_PCI_QUIRK(0x103c, 0x218b, "HP", ALC269_FIXUP_LIMIT_INT_MIC_BOOST_MUTE_LED), 8948 SND_PCI_QUIRK(0x103c, 0x225f, "HP", ALC280_FIXUP_HP_GPIO2_MIC_HOTKEY),8949 /* ALC282 */8950 9265 SND_PCI_QUIRK(0x103c, 0x21f9, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1), 8951 9266 SND_PCI_QUIRK(0x103c, 0x2210, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1), 8952 9267 SND_PCI_QUIRK(0x103c, 0x2214, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1), 9268 SND_PCI_QUIRK(0x103c, 0x221b, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED), 9269 SND_PCI_QUIRK(0x103c, 0x221c, "HP EliteBook 755 G2", ALC280_FIXUP_HP_HEADSET_MIC), 9270 SND_PCI_QUIRK(0x103c, 0x2221, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED), 9271 SND_PCI_QUIRK(0x103c, 0x2225, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED), 8953 9272 SND_PCI_QUIRK(0x103c, 0x2236, "HP", ALC269_FIXUP_HP_LINE1_MIC1_LED), 8954 9273 SND_PCI_QUIRK(0x103c, 0x2237, "HP", ALC269_FIXUP_HP_LINE1_MIC1_LED), … … 8956 9275 SND_PCI_QUIRK(0x103c, 0x2239, "HP", ALC269_FIXUP_HP_LINE1_MIC1_LED), 8957 9276 SND_PCI_QUIRK(0x103c, 0x224b, "HP", ALC269_FIXUP_HP_LINE1_MIC1_LED), 8958 SND_PCI_QUIRK(0x103c, 0x2268, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),8959 SND_PCI_QUIRK(0x103c, 0x226a, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),8960 SND_PCI_QUIRK(0x103c, 0x226b, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),8961 SND_PCI_QUIRK(0x103c, 0x226e, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),8962 SND_PCI_QUIRK(0x103c, 0x2271, "HP", ALC286_FIXUP_HP_GPIO_LED),8963 SND_PCI_QUIRK(0x103c, 0x2272, "HP", ALC280_FIXUP_HP_DOCK_PINS),8964 SND_PCI_QUIRK(0x103c, 0x2273, "HP", ALC280_FIXUP_HP_DOCK_PINS),8965 SND_PCI_QUIRK(0x103c, 0x229e, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),8966 SND_PCI_QUIRK(0x103c, 0x22b2, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),8967 SND_PCI_QUIRK(0x103c, 0x22b7, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),8968 SND_PCI_QUIRK(0x103c, 0x22bf, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),8969 SND_PCI_QUIRK(0x103c, 0x22cf, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),8970 SND_PCI_QUIRK(0x103c, 0x22db, "HP", ALC280_FIXUP_HP_9480M),8971 SND_PCI_QUIRK(0x103c, 0x22dc, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED),8972 SND_PCI_QUIRK(0x103c, 0x22fb, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED),8973 /* ALC290 */8974 SND_PCI_QUIRK(0x103c, 0x221b, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED),8975 SND_PCI_QUIRK(0x103c, 0x2221, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED),8976 SND_PCI_QUIRK(0x103c, 0x2225, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED),8977 9277 SND_PCI_QUIRK(0x103c, 0x2253, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED), 8978 9278 SND_PCI_QUIRK(0x103c, 0x2254, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED), … … 8982 9282 SND_PCI_QUIRK(0x103c, 0x2259, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED), 8983 9283 SND_PCI_QUIRK(0x103c, 0x225a, "HP", ALC269_FIXUP_HP_DOCK_GPIO_MIC1_LED), 9284 SND_PCI_QUIRK(0x103c, 0x225f, "HP", ALC280_FIXUP_HP_GPIO2_MIC_HOTKEY), 8984 9285 SND_PCI_QUIRK(0x103c, 0x2260, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1), 8985 9286 SND_PCI_QUIRK(0x103c, 0x2263, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1), 8986 9287 SND_PCI_QUIRK(0x103c, 0x2264, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1), 8987 9288 SND_PCI_QUIRK(0x103c, 0x2265, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1), 9289 SND_PCI_QUIRK(0x103c, 0x2268, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1), 9290 SND_PCI_QUIRK(0x103c, 0x226a, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1), 9291 SND_PCI_QUIRK(0x103c, 0x226b, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1), 9292 SND_PCI_QUIRK(0x103c, 0x226e, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1), 9293 SND_PCI_QUIRK(0x103c, 0x2271, "HP", ALC286_FIXUP_HP_GPIO_LED), 8988 9294 SND_PCI_QUIRK(0x103c, 0x2272, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED), 9295 SND_PCI_QUIRK(0x103c, 0x2272, "HP", ALC280_FIXUP_HP_DOCK_PINS), 8989 9296 SND_PCI_QUIRK(0x103c, 0x2273, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED), 9297 SND_PCI_QUIRK(0x103c, 0x2273, "HP", ALC280_FIXUP_HP_DOCK_PINS), 8990 9298 SND_PCI_QUIRK(0x103c, 0x2278, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED), 8991 9299 SND_PCI_QUIRK(0x103c, 0x227f, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1), … … 8993 9301 SND_PCI_QUIRK(0x103c, 0x228b, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1), 8994 9302 SND_PCI_QUIRK(0x103c, 0x228e, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1), 9303 SND_PCI_QUIRK(0x103c, 0x229e, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1), 9304 SND_PCI_QUIRK(0x103c, 0x22b2, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1), 9305 SND_PCI_QUIRK(0x103c, 0x22b7, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1), 9306 SND_PCI_QUIRK(0x103c, 0x22bf, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1), 9307 SND_PCI_QUIRK(0x103c, 0x22c4, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1), 8995 9308 SND_PCI_QUIRK(0x103c, 0x22c5, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1), 8996 9309 SND_PCI_QUIRK(0x103c, 0x22c7, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1), 8997 9310 SND_PCI_QUIRK(0x103c, 0x22c8, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1), 8998 SND_PCI_QUIRK(0x103c, 0x22c4, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1), 9311 SND_PCI_QUIRK(0x103c, 0x22cf, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1), 9312 SND_PCI_QUIRK(0x103c, 0x22db, "HP", ALC280_FIXUP_HP_9480M), 9313 SND_PCI_QUIRK(0x103c, 0x22dc, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED), 9314 SND_PCI_QUIRK(0x103c, 0x22fb, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED), 8999 9315 SND_PCI_QUIRK(0x103c, 0x2334, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1), 9000 9316 SND_PCI_QUIRK(0x103c, 0x2335, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1), 9001 9317 SND_PCI_QUIRK(0x103c, 0x2336, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1), 9002 9318 SND_PCI_QUIRK(0x103c, 0x2337, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1), 9003 SND_PCI_QUIRK(0x103c, 0x221c, "HP EliteBook 755 G2", ALC280_FIXUP_HP_HEADSET_MIC),9004 9319 SND_PCI_QUIRK(0x103c, 0x802e, "HP Z240 SFF", ALC221_FIXUP_HP_MIC_NO_PRESENCE), 9005 9320 SND_PCI_QUIRK(0x103c, 0x802f, "HP Z240", ALC221_FIXUP_HP_MIC_NO_PRESENCE), 9321 SND_PCI_QUIRK(0x103c, 0x8077, "HP", ALC256_FIXUP_HP_HEADSET_MIC), 9322 SND_PCI_QUIRK(0x103c, 0x8158, "HP", ALC256_FIXUP_HP_HEADSET_MIC), 9006 9323 SND_PCI_QUIRK(0x103c, 0x820d, "HP Pavilion 15", ALC269_FIXUP_HP_MUTE_LED_MIC3), 9007 9324 SND_PCI_QUIRK(0x103c, 0x8256, "HP", ALC221_FIXUP_HP_FRONT_MIC), … … 9011 9328 SND_PCI_QUIRK(0x103c, 0x82c0, "HP G3 mini premium", ALC221_FIXUP_HP_MIC_NO_PRESENCE), 9012 9329 SND_PCI_QUIRK(0x103c, 0x83b9, "HP Spectre x360", ALC269_FIXUP_HP_MUTE_LED_MIC3), 9330 SND_PCI_QUIRK(0x103c, 0x841c, "HP Pavilion 15-CK0xx", ALC269_FIXUP_HP_MUTE_LED_MIC3), 9013 9331 SND_PCI_QUIRK(0x103c, 0x8497, "HP Envy x360", ALC269_FIXUP_HP_MUTE_LED_MIC3), 9332 SND_PCI_QUIRK(0x103c, 0x84da, "HP OMEN dc0019-ur", ALC295_FIXUP_HP_OMEN), 9014 9333 SND_PCI_QUIRK(0x103c, 0x84e7, "HP Pavilion 15", ALC269_FIXUP_HP_MUTE_LED_MIC3), 9334 SND_PCI_QUIRK(0x103c, 0x8519, "HP Spectre x360 15-df0xxx", ALC285_FIXUP_HP_SPECTRE_X360), 9335 SND_PCI_QUIRK(0x103c, 0x861f, "HP Elite Dragonfly G1", ALC285_FIXUP_HP_GPIO_AMP_INIT), 9015 9336 SND_PCI_QUIRK(0x103c, 0x869d, "HP", ALC236_FIXUP_HP_MUTE_LED), 9337 SND_PCI_QUIRK(0x103c, 0x86c7, "HP Envy AiO 32", ALC274_FIXUP_HP_ENVY_GPIO), 9338 SND_PCI_QUIRK(0x103c, 0x8716, "HP Elite Dragonfly G2 Notebook PC", ALC285_FIXUP_HP_GPIO_AMP_INIT), 9339 SND_PCI_QUIRK(0x103c, 0x8720, "HP EliteBook x360 1040 G8 Notebook PC", ALC285_FIXUP_HP_GPIO_AMP_INIT), 9016 9340 SND_PCI_QUIRK(0x103c, 0x8724, "HP EliteBook 850 G7", ALC285_FIXUP_HP_GPIO_LED), 9017 9341 SND_PCI_QUIRK(0x103c, 0x8729, "HP", ALC285_FIXUP_HP_GPIO_LED), 9342 SND_PCI_QUIRK(0x103c, 0x8730, "HP ProBook 445 G7", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF), 9018 9343 SND_PCI_QUIRK(0x103c, 0x8736, "HP", ALC285_FIXUP_HP_GPIO_AMP_INIT), 9019 9344 SND_PCI_QUIRK(0x103c, 0x8760, "HP", ALC285_FIXUP_HP_MUTE_LED), … … 9025 9350 ALC285_FIXUP_HP_GPIO_AMP_INIT), 9026 9351 SND_PCI_QUIRK(0x103c, 0x87c8, "HP", ALC287_FIXUP_HP_GPIO_LED), 9352 SND_PCI_QUIRK(0x103c, 0x87e5, "HP ProBook 440 G8 Notebook PC", ALC236_FIXUP_HP_GPIO_LED), 9353 SND_PCI_QUIRK(0x103c, 0x87e7, "HP ProBook 450 G8 Notebook PC", ALC236_FIXUP_HP_GPIO_LED), 9354 SND_PCI_QUIRK(0x103c, 0x87f1, "HP ProBook 630 G8 Notebook PC", ALC236_FIXUP_HP_GPIO_LED), 9355 SND_PCI_QUIRK(0x103c, 0x87f2, "HP ProBook 640 G8 Notebook PC", ALC236_FIXUP_HP_GPIO_LED), 9027 9356 SND_PCI_QUIRK(0x103c, 0x87f4, "HP", ALC287_FIXUP_HP_GPIO_LED), 9028 9357 SND_PCI_QUIRK(0x103c, 0x87f5, "HP", ALC287_FIXUP_HP_GPIO_LED), 9029 9358 SND_PCI_QUIRK(0x103c, 0x87f7, "HP Spectre x360 14", ALC245_FIXUP_HP_X360_AMP), 9359 SND_PCI_QUIRK(0x103c, 0x880d, "HP EliteBook 830 G8 Notebook PC", ALC285_FIXUP_HP_GPIO_LED), 9360 SND_PCI_QUIRK(0x103c, 0x8846, "HP EliteBook 850 G8 Notebook PC", ALC285_FIXUP_HP_GPIO_LED), 9361 SND_PCI_QUIRK(0x103c, 0x8847, "HP EliteBook x360 830 G8 Notebook PC", ALC285_FIXUP_HP_GPIO_LED), 9362 SND_PCI_QUIRK(0x103c, 0x884b, "HP EliteBook 840 Aero G8 Notebook PC", ALC285_FIXUP_HP_GPIO_LED), 9363 SND_PCI_QUIRK(0x103c, 0x884c, "HP EliteBook 840 G8 Notebook PC", ALC285_FIXUP_HP_GPIO_LED), 9364 SND_PCI_QUIRK(0x103c, 0x8862, "HP ProBook 445 G8 Notebook PC", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF), 9365 SND_PCI_QUIRK(0x103c, 0x8863, "HP ProBook 445 G8 Notebook PC", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF), 9366 SND_PCI_QUIRK(0x103c, 0x886d, "HP ZBook Fury 17.3 Inch G8 Mobile Workstation PC", ALC285_FIXUP_HP_GPIO_AMP_INIT), 9367 SND_PCI_QUIRK(0x103c, 0x8870, "HP ZBook Fury 15.6 Inch G8 Mobile Workstation PC", ALC285_FIXUP_HP_GPIO_AMP_INIT), 9368 SND_PCI_QUIRK(0x103c, 0x8873, "HP ZBook Studio 15.6 Inch G8 Mobile Workstation PC", ALC285_FIXUP_HP_GPIO_AMP_INIT), 9369 SND_PCI_QUIRK(0x103c, 0x888d, "HP ZBook Power 15.6 inch G8 Mobile Workstation PC", ALC236_FIXUP_HP_GPIO_LED), 9370 SND_PCI_QUIRK(0x103c, 0x8896, "HP EliteBook 855 G8 Notebook PC", ALC285_FIXUP_HP_MUTE_LED), 9030 9371 SND_PCI_QUIRK(0x1043, 0x103e, "ASUS X540SA", ALC256_FIXUP_ASUS_MIC), 9031 9372 SND_PCI_QUIRK(0x1043, 0x103f, "ASUS TX300", ALC282_FIXUP_ASUS_TX300), … … 9036 9377 SND_PCI_QUIRK(0x1043, 0x115d, "Asus 1015E", ALC269_FIXUP_LIMIT_INT_MIC_BOOST), 9037 9378 SND_PCI_QUIRK(0x1043, 0x11c0, "ASUS X556UR", ALC255_FIXUP_ASUS_MIC_NO_PRESENCE), 9379 SND_PCI_QUIRK(0x1043, 0x125e, "ASUS Q524UQK", ALC255_FIXUP_ASUS_MIC_NO_PRESENCE), 9038 9380 SND_PCI_QUIRK(0x1043, 0x1271, "ASUS X430UN", ALC256_FIXUP_ASUS_MIC_NO_PRESENCE), 9039 9381 SND_PCI_QUIRK(0x1043, 0x1290, "ASUS X441SA", ALC233_FIXUP_EAPD_COEF_AND_MIC_NO_PRESENCE), 9040 9382 SND_PCI_QUIRK(0x1043, 0x12a0, "ASUS X441UV", ALC233_FIXUP_EAPD_COEF_AND_MIC_NO_PRESENCE), 9383 SND_PCI_QUIRK(0x1043, 0x12e0, "ASUS X541SA", ALC256_FIXUP_ASUS_MIC), 9041 9384 SND_PCI_QUIRK(0x1043, 0x12f0, "ASUS X541UV", ALC256_FIXUP_ASUS_MIC), 9042 SND_PCI_QUIRK(0x1043, 0x12e0, "ASUS X541SA", ALC256_FIXUP_ASUS_MIC),9043 9385 SND_PCI_QUIRK(0x1043, 0x13b0, "ASUS Z550SA", ALC256_FIXUP_ASUS_MIC), 9044 9386 SND_PCI_QUIRK(0x1043, 0x1427, "Asus Zenbook UX31E", ALC269VB_FIXUP_ASUS_ZENBOOK), 9045 9387 SND_PCI_QUIRK(0x1043, 0x1517, "Asus Zenbook UX31A", ALC269VB_FIXUP_ASUS_ZENBOOK_UX31A), 9046 9388 SND_PCI_QUIRK(0x1043, 0x16e3, "ASUS UX50", ALC269_FIXUP_STEREO_DMIC), 9389 SND_PCI_QUIRK(0x1043, 0x1740, "ASUS UX430UA", ALC295_FIXUP_ASUS_DACS), 9047 9390 SND_PCI_QUIRK(0x1043, 0x17d1, "ASUS UX431FL", ALC294_FIXUP_ASUS_DUAL_SPK), 9391 SND_PCI_QUIRK(0x1043, 0x1881, "ASUS Zephyrus S/M", ALC294_FIXUP_ASUS_GX502_PINS), 9048 9392 SND_PCI_QUIRK(0x1043, 0x18b1, "Asus MJ401TA", ALC256_FIXUP_ASUS_HEADSET_MIC), 9049 9393 SND_PCI_QUIRK(0x1043, 0x18f1, "Asus FX505DT", ALC256_FIXUP_ASUS_HEADSET_MIC), … … 9058 9402 SND_PCI_QUIRK(0x1043, 0x1bbd, "ASUS Z550MA", ALC255_FIXUP_ASUS_MIC_NO_PRESENCE), 9059 9403 SND_PCI_QUIRK(0x1043, 0x1c23, "Asus X55U", ALC269_FIXUP_LIMIT_INT_MIC_BOOST), 9060 SND_PCI_QUIRK(0x1043, 0x125e, "ASUS Q524UQK", ALC255_FIXUP_ASUS_MIC_NO_PRESENCE),9061 9404 SND_PCI_QUIRK(0x1043, 0x1ccd, "ASUS X555UB", ALC256_FIXUP_ASUS_MIC), 9062 9405 SND_PCI_QUIRK(0x1043, 0x1d4e, "ASUS TM420", ALC256_FIXUP_ASUS_HPE), 9063 9406 SND_PCI_QUIRK(0x1043, 0x1e11, "ASUS Zephyrus G15", ALC289_FIXUP_ASUS_GA502), 9407 SND_PCI_QUIRK(0x1043, 0x1e51, "ASUS Zephyrus M15", ALC294_FIXUP_ASUS_GU502_PINS), 9408 SND_PCI_QUIRK(0x1043, 0x1e8e, "ASUS Zephyrus G15", ALC289_FIXUP_ASUS_GA401), 9064 9409 SND_PCI_QUIRK(0x1043, 0x1f11, "ASUS Zephyrus G14", ALC289_FIXUP_ASUS_GA401), 9065 SND_PCI_QUIRK(0x1043, 0x1881, "ASUS Zephyrus S/M", ALC294_FIXUP_ASUS_GX502_PINS),9066 9410 SND_PCI_QUIRK(0x1043, 0x3030, "ASUS ZN270IE", ALC256_FIXUP_ASUS_AIO_GPIO2), 9067 9411 SND_PCI_QUIRK(0x1043, 0x831a, "ASUS P901", ALC269_FIXUP_STEREO_DMIC), … … 9070 9414 SND_PCI_QUIRK(0x1043, 0x83ce, "ASUS P1005", ALC269_FIXUP_STEREO_DMIC), 9071 9415 SND_PCI_QUIRK(0x1043, 0x8516, "ASUS X101CH", ALC269_FIXUP_ASUS_X101), 9072 SND_PCI_QUIRK(0x104d, 0x90b5, "Sony VAIO Pro 11", ALC286_FIXUP_SONY_MIC_NO_PRESENCE),9073 SND_PCI_QUIRK(0x104d, 0x90b6, "Sony VAIO Pro 13", ALC286_FIXUP_SONY_MIC_NO_PRESENCE),9074 9416 SND_PCI_QUIRK(0x104d, 0x9073, "Sony VAIO", ALC275_FIXUP_SONY_VAIO_GPIO2), 9075 9417 SND_PCI_QUIRK(0x104d, 0x907b, "Sony VAIO", ALC275_FIXUP_SONY_HWEQ), 9076 9418 SND_PCI_QUIRK(0x104d, 0x9084, "Sony VAIO", ALC275_FIXUP_SONY_HWEQ), 9077 9419 SND_PCI_QUIRK(0x104d, 0x9099, "Sony VAIO S13", ALC275_FIXUP_SONY_DISABLE_AAMIX), 9420 SND_PCI_QUIRK(0x104d, 0x90b5, "Sony VAIO Pro 11", ALC286_FIXUP_SONY_MIC_NO_PRESENCE), 9421 SND_PCI_QUIRK(0x104d, 0x90b6, "Sony VAIO Pro 13", ALC286_FIXUP_SONY_MIC_NO_PRESENCE), 9078 9422 SND_PCI_QUIRK(0x10cf, 0x1475, "Lifebook", ALC269_FIXUP_LIFEBOOK), 9079 9423 SND_PCI_QUIRK(0x10cf, 0x159f, "Lifebook E780", ALC269_FIXUP_LIFEBOOK_NO_HP_TO_LINEOUT), 9080 9424 SND_PCI_QUIRK(0x10cf, 0x15dc, "Lifebook T731", ALC269_FIXUP_LIFEBOOK_HP_PIN), 9425 SND_PCI_QUIRK(0x10cf, 0x1629, "Lifebook U7x7", ALC255_FIXUP_LIFEBOOK_U7x7_HEADSET_MIC), 9081 9426 SND_PCI_QUIRK(0x10cf, 0x1757, "Lifebook E752", ALC269_FIXUP_LIFEBOOK_HP_PIN), 9082 SND_PCI_QUIRK(0x10cf, 0x1629, "Lifebook U7x7", ALC255_FIXUP_LIFEBOOK_U7x7_HEADSET_MIC),9083 9427 SND_PCI_QUIRK(0x10cf, 0x1845, "Lifebook U904", ALC269_FIXUP_LIFEBOOK_EXTMIC), 9084 9428 SND_PCI_QUIRK(0x10ec, 0x10f2, "Intel Reference board", ALC700_FIXUP_INTEL_REFERENCE), 9429 SND_PCI_QUIRK(0x10ec, 0x118c, "Medion EE4254 MD62100", ALC256_FIXUP_MEDION_HEADSET_NO_PRESENCE), 9085 9430 SND_PCI_QUIRK(0x10ec, 0x1230, "Intel Reference board", ALC295_FIXUP_CHROME_BOOK), 9086 9431 SND_PCI_QUIRK(0x10ec, 0x1252, "Intel Reference board", ALC295_FIXUP_CHROME_BOOK), … … 9092 9437 SND_PCI_QUIRK(0x144d, 0xc189, "Samsung Galaxy Flex Book (NT950QCG-X716)", ALC298_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET), 9093 9438 SND_PCI_QUIRK(0x144d, 0xc18a, "Samsung Galaxy Book Ion (NP930XCJ-K01US)", ALC298_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET), 9094 SND_PCI_QUIRK(0x144d, 0xc830, "Samsung Galaxy Book Ion (NT950XCJ-X716A)", ALC298_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET),9095 9439 SND_PCI_QUIRK(0x144d, 0xc740, "Samsung Ativ book 8 (NP870Z5G)", ALC269_FIXUP_ATIV_BOOK_8), 9096 9440 SND_PCI_QUIRK(0x144d, 0xc812, "Samsung Notebook Pen S (NT950SBE-X58)", ALC298_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET), 9441 SND_PCI_QUIRK(0x144d, 0xc830, "Samsung Galaxy Book Ion (NT950XCJ-X716A)", ALC298_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET), 9097 9442 SND_PCI_QUIRK(0x1458, 0xfa53, "Gigabyte BXBT-2807", ALC283_FIXUP_HEADSET_MIC), 9098 9443 SND_PCI_QUIRK(0x1462, 0xb120, "MSI Cubi MS-B120", ALC283_FIXUP_HEADSET_MIC), … … 9117 9462 SND_PCI_QUIRK(0x1558, 0x50d5, "Clevo NP50D5", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), 9118 9463 SND_PCI_QUIRK(0x1558, 0x50f0, "Clevo NH50A[CDF]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), 9464 SND_PCI_QUIRK(0x1558, 0x50f2, "Clevo NH50E[PR]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), 9119 9465 SND_PCI_QUIRK(0x1558, 0x50f3, "Clevo NH58DPQ", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), 9466 SND_PCI_QUIRK(0x1558, 0x50f5, "Clevo NH55EPY", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), 9467 SND_PCI_QUIRK(0x1558, 0x50f6, "Clevo NH55DPQ", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), 9120 9468 SND_PCI_QUIRK(0x1558, 0x5101, "Clevo S510WU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), 9121 9469 SND_PCI_QUIRK(0x1558, 0x5157, "Clevo W517GU1", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), … … 9123 9471 SND_PCI_QUIRK(0x1558, 0x70a1, "Clevo NB70T[HJK]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), 9124 9472 SND_PCI_QUIRK(0x1558, 0x70b3, "Clevo NK70SB", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), 9473 SND_PCI_QUIRK(0x1558, 0x70f2, "Clevo NH79EPY", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), 9474 SND_PCI_QUIRK(0x1558, 0x70f3, "Clevo NH77DPQ", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), 9475 SND_PCI_QUIRK(0x1558, 0x70f4, "Clevo NH77EPY", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), 9476 SND_PCI_QUIRK(0x1558, 0x70f6, "Clevo NH77DPQ-Y", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), 9125 9477 SND_PCI_QUIRK(0x1558, 0x8228, "Clevo NR40BU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), 9126 9478 SND_PCI_QUIRK(0x1558, 0x8520, "Clevo NH50D[CD]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), … … 9132 9484 SND_PCI_QUIRK(0x1558, 0x8560, "System76 Gazelle (gaze14)", ALC269_FIXUP_HEADSET_MIC), 9133 9485 SND_PCI_QUIRK(0x1558, 0x8561, "System76 Gazelle (gaze14)", ALC269_FIXUP_HEADSET_MIC), 9486 SND_PCI_QUIRK(0x1558, 0x8562, "Clevo NH[5|7][0-9]RZ[Q]", ALC269_FIXUP_DMIC), 9134 9487 SND_PCI_QUIRK(0x1558, 0x8668, "Clevo NP50B[BE]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), 9135 9488 SND_PCI_QUIRK(0x1558, 0x8680, "Clevo NJ50LU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), … … 9139 9492 SND_PCI_QUIRK(0x1558, 0x8d50, "Clevo NH55RCQ-M", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), 9140 9493 SND_PCI_QUIRK(0x1558, 0x951d, "Clevo N950T[CDF]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), 9494 SND_PCI_QUIRK(0x1558, 0x9600, "Clevo N960K[PR]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), 9141 9495 SND_PCI_QUIRK(0x1558, 0x961d, "Clevo N960S[CDF]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), 9142 9496 SND_PCI_QUIRK(0x1558, 0x971d, "Clevo N970T[CDF]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), 9143 9497 SND_PCI_QUIRK(0x1558, 0xa500, "Clevo NL53RU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), 9498 SND_PCI_QUIRK(0x1558, 0xa600, "Clevo NL5XNU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), 9499 SND_PCI_QUIRK(0x1558, 0xb018, "Clevo NP50D[BE]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), 9500 SND_PCI_QUIRK(0x1558, 0xb019, "Clevo NH77D[BE]Q", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), 9501 SND_PCI_QUIRK(0x1558, 0xb022, "Clevo NH77D[DC][QW]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), 9502 SND_PCI_QUIRK(0x1558, 0xc018, "Clevo NP50D[BE]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), 9503 SND_PCI_QUIRK(0x1558, 0xc019, "Clevo NH77D[BE]Q", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), 9504 SND_PCI_QUIRK(0x1558, 0xc022, "Clevo NH77[DC][QW]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), 9144 9505 SND_PCI_QUIRK(0x17aa, 0x1036, "Lenovo P520", ALC233_FIXUP_LENOVO_MULTI_CODECS), 9145 SND_PCI_QUIRK(0x17aa, 0x1048, "ThinkCentre Station", ALC 283_FIXUP_HEADSET_MIC),9506 SND_PCI_QUIRK(0x17aa, 0x1048, "ThinkCentre Station", ALC623_FIXUP_LENOVO_THINKSTATION_P340), 9146 9507 SND_PCI_QUIRK(0x17aa, 0x20f2, "Thinkpad SL410/510", ALC269_FIXUP_SKU_IGNORE), 9147 9508 SND_PCI_QUIRK(0x17aa, 0x215e, "Thinkpad L512", ALC269_FIXUP_SKU_IGNORE), … … 9149 9510 SND_PCI_QUIRK(0x17aa, 0x21ca, "Thinkpad L412", ALC269_FIXUP_SKU_IGNORE), 9150 9511 SND_PCI_QUIRK(0x17aa, 0x21e9, "Thinkpad Edge 15", ALC269_FIXUP_SKU_IGNORE), 9512 SND_PCI_QUIRK(0x17aa, 0x21f3, "Thinkpad T430", ALC269_FIXUP_LENOVO_DOCK), 9151 9513 SND_PCI_QUIRK(0x17aa, 0x21f6, "Thinkpad T530", ALC269_FIXUP_LENOVO_DOCK_LIMIT_BOOST), 9152 9514 SND_PCI_QUIRK(0x17aa, 0x21fa, "Thinkpad X230", ALC269_FIXUP_LENOVO_DOCK), 9153 SND_PCI_QUIRK(0x17aa, 0x21f3, "Thinkpad T430", ALC269_FIXUP_LENOVO_DOCK),9154 9515 SND_PCI_QUIRK(0x17aa, 0x21fb, "Thinkpad T430s", ALC269_FIXUP_LENOVO_DOCK), 9155 9516 SND_PCI_QUIRK(0x17aa, 0x2203, "Thinkpad X230 Tablet", ALC269_FIXUP_LENOVO_DOCK), … … 9192 9553 SND_PCI_QUIRK(0x17aa, 0x3178, "ThinkCentre Station", ALC283_FIXUP_HEADSET_MIC), 9193 9554 SND_PCI_QUIRK(0x17aa, 0x3818, "Lenovo C940", ALC298_FIXUP_LENOVO_SPK_VOLUME), 9555 SND_PCI_QUIRK(0x17aa, 0x3827, "Ideapad S740", ALC285_FIXUP_IDEAPAD_S740_COEF), 9556 SND_PCI_QUIRK(0x17aa, 0x3843, "Yoga 9i", ALC287_FIXUP_IDEAPAD_BASS_SPK_AMP), 9194 9557 SND_PCI_QUIRK(0x17aa, 0x3902, "Lenovo E50-80", ALC269_FIXUP_DMIC_THINKPAD_ACPI), 9195 9558 SND_PCI_QUIRK(0x17aa, 0x3977, "IdeaPad S210", ALC283_FIXUP_INT_MIC), 9196 9559 SND_PCI_QUIRK(0x17aa, 0x3978, "Lenovo B50-70", ALC269_FIXUP_DMIC_THINKPAD_ACPI), 9560 SND_PCI_QUIRK(0x17aa, 0x3bf8, "Quanta FL1", ALC269_FIXUP_PCM_44K), 9197 9561 SND_PCI_QUIRK(0x17aa, 0x5013, "Thinkpad", ALC269_FIXUP_LIMIT_INT_MIC_BOOST), 9198 9562 SND_PCI_QUIRK(0x17aa, 0x501a, "Thinkpad", ALC283_FIXUP_INT_MIC), … … 9213 9577 SND_PCI_QUIRK(0x17aa, 0x511e, "Thinkpad", ALC298_FIXUP_TPT470_DOCK), 9214 9578 SND_PCI_QUIRK(0x17aa, 0x511f, "Thinkpad", ALC298_FIXUP_TPT470_DOCK), 9215 SND_PCI_QUIRK(0x17aa, 0x3bf8, "Quanta FL1", ALC269_FIXUP_PCM_44K),9216 9579 SND_PCI_QUIRK(0x17aa, 0x9e54, "LENOVO NB", ALC269_FIXUP_LENOVO_EAPD), 9217 9580 SND_PCI_QUIRK(0x19e5, 0x3204, "Huawei MACH-WX9", ALC256_FIXUP_HUAWEI_MACH_WX9_PINS), … … 9220 9583 SND_PCI_QUIRK(0x1b35, 0x1237, "CZC L101", ALC269_FIXUP_CZC_L101), 9221 9584 SND_PCI_QUIRK(0x1b7d, 0xa831, "Ordissimo EVE2 ", ALC269VB_FIXUP_ORDISSIMO_EVE2), /* Also known as Malata PC-B1303 */ 9222 SND_PCI_QUIRK(0x1d72, 0x1602, "RedmiBook", ALC255_FIXUP_XIAOMI_HEADSET_MIC),9223 SND_PCI_QUIRK(0x1d72, 0x1901, "RedmiBook 14", ALC256_FIXUP_ASUS_HEADSET_MIC),9224 SND_PCI_QUIRK(0x10ec, 0x118c, "Medion EE4254 MD62100", ALC256_FIXUP_MEDION_HEADSET_NO_PRESENCE),9225 9585 SND_PCI_QUIRK(0x1c06, 0x2013, "Lemote A1802", ALC269_FIXUP_LEMOTE_A1802), 9226 9586 SND_PCI_QUIRK(0x1c06, 0x2015, "Lemote A190X", ALC269_FIXUP_LEMOTE_A190X), 9587 SND_PCI_QUIRK(0x1d72, 0x1602, "RedmiBook", ALC255_FIXUP_XIAOMI_HEADSET_MIC), 9588 SND_PCI_QUIRK(0x1d72, 0x1701, "XiaomiNotebook Pro", ALC298_FIXUP_DELL1_MIC_NO_PRESENCE), 9589 SND_PCI_QUIRK(0x1d72, 0x1901, "RedmiBook 14", ALC256_FIXUP_ASUS_HEADSET_MIC), 9590 SND_PCI_QUIRK(0x1d72, 0x1947, "RedmiBook Air", ALC255_FIXUP_XIAOMI_HEADSET_MIC), 9591 SND_PCI_QUIRK(0x8086, 0x2074, "Intel NUC 8", ALC233_FIXUP_INTEL_NUC8_DMIC), 9227 9592 SND_PCI_QUIRK(0x8086, 0x2080, "Intel NUC 8 Rugged", ALC256_FIXUP_INTEL_NUC8_RUGGED), 9593 SND_PCI_QUIRK(0x8086, 0x2081, "Intel NUC 10", ALC256_FIXUP_INTEL_NUC10), 9228 9594 9229 9595 #if 0 … … 9355 9721 {.id = ALC255_FIXUP_MIC_MUTE_LED, .name = "alc255-dell-mute"}, 9356 9722 {.id = ALC282_FIXUP_ASPIRE_V5_PINS, .name = "aspire-v5"}, 9723 {.id = ALC269VB_FIXUP_ASPIRE_E1_COEF, .name = "aspire-e1-coef"}, 9357 9724 {.id = ALC280_FIXUP_HP_GPIO4, .name = "hp-gpio4"}, 9358 9725 {.id = ALC286_FIXUP_HP_GPIO_LED, .name = "hp-gpio-led"}, … … 9401 9768 {.id = ALC274_FIXUP_HP_MIC, .name = "alc274-hp-mic-detect"}, 9402 9769 {.id = ALC245_FIXUP_HP_X360_AMP, .name = "alc245-hp-x360-amp"}, 9770 {.id = ALC295_FIXUP_HP_OMEN, .name = "alc295-hp-omen"}, 9771 {.id = ALC285_FIXUP_HP_SPECTRE_X360, .name = "alc285-hp-spectre-x360"}, 9772 {.id = ALC287_FIXUP_IDEAPAD_BASS_SPK_AMP, .name = "alc287-ideapad-bass-spk-amp"}, 9773 {.id = ALC623_FIXUP_LENOVO_THINKSTATION_P340, .name = "alc623-lenovo-thinkstation-p340"}, 9774 {.id = ALC255_FIXUP_ACER_HEADPHONE_AND_MIC, .name = "alc255-acer-headphone-and-mic"}, 9403 9775 {0} 9404 9776 }; … … 9678 10050 {0x19, 0x03a11020}, 9679 10051 {0x21, 0x0321101f}), 9680 SND_HDA_PIN_QUIRK(0x10ec0285, 0x17aa, "Lenovo", ALC285_FIXUP_THINKPAD_NO_BASS_SPK_HEADSET_JACK, 10052 SND_HDA_PIN_QUIRK(0x10ec0285, 0x17aa, "Lenovo", ALC285_FIXUP_LENOVO_PC_BEEP_IN_NOISE, 10053 {0x12, 0x90a60130}, 9681 10054 {0x14, 0x90170110}, 9682 10055 {0x19, 0x04a11040}, 9683 10056 {0x21, 0x04211020}), 9684 10057 SND_HDA_PIN_QUIRK(0x10ec0285, 0x17aa, "Lenovo", ALC285_FIXUP_LENOVO_PC_BEEP_IN_NOISE, 9685 {0x12, 0x90a60130}, 10058 {0x14, 0x90170110}, 10059 {0x19, 0x04a11040}, 10060 {0x1d, 0x40600001}, 10061 {0x21, 0x04211020}), 10062 SND_HDA_PIN_QUIRK(0x10ec0285, 0x17aa, "Lenovo", ALC285_FIXUP_THINKPAD_NO_BASS_SPK_HEADSET_JACK, 9686 10063 {0x14, 0x90170110}, 9687 10064 {0x19, 0x04a11040}, … … 9988 10365 spec->init_hook = alc256_init; 9989 10366 break; 10367 case 0x10ec0230: 9990 10368 case 0x10ec0236: 9991 10369 case 0x10ec0256: … … 10193 10571 SND_PCI_QUIRK_VENDOR(0x1043, "ASUS laptop", ALC861_FIXUP_AMP_VREF_0F), 10194 10572 SND_PCI_QUIRK(0x1462, 0x7254, "HP DX2200", ALC861_FIXUP_NO_JACK_DETECT), 10195 SND_PCI_QUIRK(0x1584, 0x2b01, "Haier W18", ALC861_FIXUP_AMP_VREF_0F), 10196 SND_PCI_QUIRK(0x1584, 0x0000, "Uniwill ECS M31EI", ALC861_FIXUP_AMP_VREF_0F), 10573 SND_PCI_QUIRK_VENDOR(0x1584, "Haier/Uniwill", ALC861_FIXUP_AMP_VREF_0F), 10197 10574 SND_PCI_QUIRK(0x1734, 0x10c7, "FSC Amilo Pi1505", ALC861_FIXUP_FSC_AMILO_PI1505), 10198 10575 {0} … … 10298 10675 .chain_id = ALC255_FIXUP_ACER_MIC_NO_PRESENCE, 10299 10676 }, 10677 #ifdef TARGET_OS2xxx 10678 [ALC256_FIXUP_ACER_HEADSET_MIC] = { 10679 .type = HDA_FIXUP_PINS, 10680 .v.pins = (const struct hda_pintbl[]) { 10681 { 0x19, 0x02a1113c }, /* use as headset mic, without its own jack detect */ 10682 { 0x1a, 0x90a1092f }, /* use as internal mic */ 10683 {0} 10684 }, 10685 .chained = true, 10686 .chain_id = ALC269_FIXUP_HEADSET_MODE_NO_HP_MIC 10687 }, 10688 #endif 10300 10689 }; 10301 10690 … … 11180 11569 SND_PCI_QUIRK(0x1025, 0x034a, "Gateway LT27", ALC662_FIXUP_INV_DMIC), 11181 11570 SND_PCI_QUIRK(0x1025, 0x038b, "Acer Aspire 8943G", ALC662_FIXUP_ASPIRE), 11571 SND_PCI_QUIRK(0x1025, 0x0566, "Acer Aspire Ethos 8951G", ALC669_FIXUP_ACER_ASPIRE_ETHOS), 11182 11572 SND_PCI_QUIRK(0x1025, 0x123c, "Acer Nitro N50-600", ALC662_FIXUP_ACER_NITRO_HEADSET_MODE), 11183 11573 SND_PCI_QUIRK(0x1025, 0x124e, "Acer 2660G", ALC662_FIXUP_ACER_X2660G_HEADSET_MODE), … … 11196 11586 SND_PCI_QUIRK(0x1043, 0x1080, "Asus UX501VW", ALC668_FIXUP_HEADSET_MODE), 11197 11587 SND_PCI_QUIRK(0x1043, 0x11cd, "Asus N550", ALC662_FIXUP_ASUS_Nx50), 11198 SND_PCI_QUIRK(0x1043, 0x13df, "Asus N550JX", ALC662_FIXUP_BASS_1A),11199 11588 SND_PCI_QUIRK(0x1043, 0x129d, "Asus N750", ALC662_FIXUP_ASUS_Nx50), 11200 11589 SND_PCI_QUIRK(0x1043, 0x12ff, "ASUS G751", ALC668_FIXUP_ASUS_G751), 11590 SND_PCI_QUIRK(0x1043, 0x13df, "Asus N550JX", ALC662_FIXUP_BASS_1A), 11201 11591 SND_PCI_QUIRK(0x1043, 0x1477, "ASUS N56VZ", ALC662_FIXUP_BASS_MODE4_CHMAP), 11202 11592 SND_PCI_QUIRK(0x1043, 0x15a7, "ASUS UX51VZH", ALC662_FIXUP_BASS_16), … … 11218 11608 SND_PCI_QUIRK(0x1b35, 0x1234, "CZC ET26", ALC662_FIXUP_CZC_ET26), 11219 11609 SND_PCI_QUIRK(0x1b35, 0x2206, "CZC P10T", ALC662_FIXUP_CZC_P10T), 11220 SND_PCI_QUIRK(0x1025, 0x0566, "Acer Aspire Ethos 8951G", ALC669_FIXUP_ACER_ASPIRE_ETHOS),11221 11610 11222 11611 #if 0 … … 11496 11885 HDA_CODEC_ENTRY(0x10ec0222, "ALC222", patch_alc269), 11497 11886 HDA_CODEC_ENTRY(0x10ec0225, "ALC225", patch_alc269), 11887 HDA_CODEC_ENTRY(0x10ec0230, "ALC236", patch_alc269), 11498 11888 HDA_CODEC_ENTRY(0x10ec0231, "ALC231", patch_alc269), 11499 11889 HDA_CODEC_ENTRY(0x10ec0233, "ALC233", patch_alc269), -
GPL/trunk/alsa-kernel/pci/intel8x0.c
r679 r689 358 358 struct ac97_pcm *pcm; 359 359 int pcm_open_flag; 360 unsigned int prepared:1; 360 361 unsigned int suspended: 1; 361 362 }; … … 717 718 int status, civ, i, step; 718 719 int ack = 0; 720 721 if (!(ichdev->prepared || chip->in_measurement) || ichdev->suspended) 722 return; 719 723 720 724 spin_lock_irqsave(&chip->reg_lock, flags); … … 908 912 snd_ac97_pcm_close(ichdev->pcm); 909 913 ichdev->pcm_open_flag = 0; 914 ichdev->prepared = 0; 910 915 } 911 916 err = snd_ac97_pcm_open(ichdev->pcm, params_rate(hw_params), … … 929 934 snd_ac97_pcm_close(ichdev->pcm); 930 935 ichdev->pcm_open_flag = 0; 936 ichdev->prepared = 0; 931 937 } 932 938 return 0; … … 1003 1009 } 1004 1010 snd_intel8x0_setup_periods(chip, ichdev); 1011 ichdev->prepared = 1; 1005 1012 return 0; 1006 1013 } -
GPL/trunk/alsa-kernel/pci/rme9652/hdsp.c
r679 r689 5322 5322 pci_release_regions(hdsp->pci); 5323 5323 5324 pci_disable_device(hdsp->pci); 5324 if (pci_is_enabled(hdsp->pci)) 5325 pci_disable_device(hdsp->pci); 5325 5326 return 0; 5326 5327 } -
GPL/trunk/alsa-kernel/pci/rme9652/hdspm.c
r679 r689 6892 6892 pci_release_regions(hdspm->pci); 6893 6893 6894 pci_disable_device(hdspm->pci); 6894 if (pci_is_enabled(hdspm->pci)) 6895 pci_disable_device(hdspm->pci); 6895 6896 return 0; 6896 6897 } -
GPL/trunk/alsa-kernel/pci/rme9652/rme9652.c
r679 r689 1741 1741 pci_release_regions(rme9652->pci); 1742 1742 1743 pci_disable_device(rme9652->pci); 1743 if (pci_is_enabled(rme9652->pci)) 1744 pci_disable_device(rme9652->pci); 1744 1745 return 0; 1745 1746 } -
GPL/trunk/include/linux/pm.h
r679 r689 33 33 }; 34 34 35 typedef struct pm_message { 36 int event; 37 } pm_message_t; 38 35 39 /* 36 40 * Power management requests … … 250 254 extern void device_power_up(void); 251 255 extern void device_resume(void); 252 253 254 typedef struct pm_message {255 int event;256 } pm_message_t;257 258 #define PMSG_FREEZE 3259 #define PMSG_SUSPEND 3260 #define PMSG_ON 0261 #define PMSG_RESUME 0262 #define PMSG_THAW 0263 #define PMSG_RESTORE 0264 265 256 266 257 struct dev_pm_ops { … … 322 313 }; 323 314 315 #define PM_EVENT_INVALID (-1) 316 #define PM_EVENT_ON 0x0000 317 #define PM_EVENT_FREEZE 0x0001 318 #define PM_EVENT_SUSPEND 0x0002 319 #define PM_EVENT_HIBERNATE 0x0004 320 #define PM_EVENT_QUIESCE 0x0008 321 #define PM_EVENT_RESUME 0x0010 322 #define PM_EVENT_THAW 0x0020 324 323 #define PM_EVENT_RESTORE 0x0040 324 #define PM_EVENT_RECOVER 0x0080 325 #define PM_EVENT_USER 0x0100 326 #define PM_EVENT_REMOTE 0x0200 327 #define PM_EVENT_AUTO 0x0400 328 329 #define PM_EVENT_SLEEP (PM_EVENT_SUSPEND | PM_EVENT_HIBERNATE) 330 #define PM_EVENT_USER_SUSPEND (PM_EVENT_USER | PM_EVENT_SUSPEND) 331 #define PM_EVENT_USER_RESUME (PM_EVENT_USER | PM_EVENT_RESUME) 332 #define PM_EVENT_REMOTE_RESUME (PM_EVENT_REMOTE | PM_EVENT_RESUME) 333 #define PM_EVENT_AUTO_SUSPEND (PM_EVENT_AUTO | PM_EVENT_SUSPEND) 334 #define PM_EVENT_AUTO_RESUME (PM_EVENT_AUTO | PM_EVENT_RESUME) 335 336 #define PMSG_FREEZE 3 337 #define PMSG_SUSPEND 3 338 #define PMSG_ON 0 339 #define PMSG_RESUME 0 340 #define PMSG_THAW 0 341 #define PMSG_RESTORE 0 325 342 326 343 #endif /* _LINUX_PM_H */ -
GPL/trunk/include/linux/workqueue.h
r679 r689 5 5 #include <linux/completion.h> 6 6 #include <linux/bitops.h> 7 7 8 8 9 #define cancel_work_sync(w) flush_scheduled_work() … … 28 29 struct completion thread_exited; 29 30 }; 31 30 32 struct delayed_work { 31 33 struct work_struct work; 34 struct timer_list timer; 35 36 /* target workqueue and CPU ->timer uses to queue ->work */ 37 struct workqueue_struct *wq; 38 int cpu; 32 39 }; 33 40 … … 86 93 #define flush_work(work) cancel_work_sync(work) 87 94 95 #define container_of(ptr, type, member) \ 96 ( (type *)( (char *)ptr - offsetof(type,member) ) ) 97 98 static inline struct delayed_work *to_delayed_work(struct work_struct *work) 99 { 100 return container_of(work, struct delayed_work, work); 101 } 102 88 103 #endif /* __LINUX_WORKQUEUE_H */ -
GPL/trunk/lib32/initcall.h
r679 r689 125 125 extern_module_init(ca0110_driver_init) 126 126 extern_module_exit(ca0110_driver_exit) 127 extern_module_init(ca0132_driver_init) 128 extern_module_exit(ca0132_driver_exit) 127 129 extern_module_init(cirrus_driver_init) 128 130 extern_module_exit(cirrus_driver_exit) -
GPL/trunk/lib32/ossidc.c
r679 r689 129 129 call_module_init(analog_driver_init); 130 130 call_module_init(ca0110_driver_init); 131 call_module_init(ca0132_driver_init); 131 132 call_module_init(cirrus_driver_init); 132 133 call_module_init(cmedia_driver_init); -
GPL/trunk/uniaud.inc
r679 r689 7 7 # BUILDVERSION must be 3 parts, and only numbers like 5.44.108 8 8 # The second and third numbers must be 2 digits 9 BUILDVERSION = 3.01.0 19 BUILDVERSION = 3.01.02 10 10 11 11 # Fixpack version
Note:
See TracChangeset
for help on using the changeset viewer.