Changeset 685 for GPL/branches


Ignore:
Timestamp:
May 27, 2021, 12:02:50 PM (4 years ago)
Author:
Paul Smedley
Message:

Update linux sound code to 5.10.40 level

Location:
GPL/branches/uniaud32-next/alsa-kernel
Files:
1 added
12 edited

Legend:

Unmodified
Added
Removed
  • GPL/branches/uniaud32-next/alsa-kernel/core/init.c

    r678 r685  
    398398        }
    399399        card->shutdown = 1;
    400         spin_unlock(&card->files_lock);
    401400
    402401        /* replace file->f_op with special dummy operations */
    403         spin_lock(&card->files_lock);
    404402        list_for_each_entry(mfile, &card->files_list, list, struct snd_monitor_file) {
    405403                /* it's critical part, use endless loop */
  • GPL/branches/uniaud32-next/alsa-kernel/isa/sb/emu8000.c

    r629 r685  
    10301030        memset(emu->controls, 0, sizeof(emu->controls));
    10311031        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;
    10331034                        goto __error;
     1035                }
    10341036        }
    10351037        return 0;
  • GPL/branches/uniaud32-next/alsa-kernel/isa/sb/sb16_csp.c

    r629 r685  
    10471047        spin_lock_init(&p->q_lock);
    10481048
    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;
    10501051                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;
    10521055                goto __error;
     1056        }
    10531057
    10541058        return 0;
  • GPL/branches/uniaud32-next/alsa-kernel/isa/sb/sb8.c

    r629 r685  
    9797        /* block the 0x388 port to avoid PnP conflicts */
    9898        acard->fm_res = request_region(0x388, 4, "SoundBlaster FM");
    99         if (!acard->fm_res) {
    100                 err = -EBUSY;
    101                 goto _err;
    102         }
    10399
    104100        if (port[dev] != SNDRV_AUTO_PORT) {
  • GPL/branches/uniaud32-next/alsa-kernel/pci/hda/hda_generic.c

    r684 r685  
    12061206                return "Headphone";
    12071207        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);
    12131219                        if (hp_lo_shared && spk_lo_shared)
    12141220                                return spec->vmaster_mute.hook ? "PCM" : "Master";
  • GPL/branches/uniaud32-next/alsa-kernel/pci/hda/patch_conexant.c

    r684 r685  
    991991        SND_PCI_QUIRK(0x103c, 0x807C, "HP EliteBook 820 G3", CXT_FIXUP_HP_DOCK),
    992992        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),
    993997        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),
    9941002        SND_PCI_QUIRK(0x103c, 0x83b2, "HP EliteBook 840 G5", CXT_FIXUP_HP_DOCK),
    9951003        SND_PCI_QUIRK(0x103c, 0x83b3, "HP EliteBook 830 G5", CXT_FIXUP_HP_DOCK),
    9961004        SND_PCI_QUIRK(0x103c, 0x83d3, "HP ProBook 640 G4", CXT_FIXUP_HP_DOCK),
    997         SND_PCI_QUIRK(0x103c, 0x8174, "HP Spectre x360", CXT_FIXUP_HP_SPECTRE),
    998         SND_PCI_QUIRK(0x103c, 0x8115, "HP Z1 Gen3", CXT_FIXUP_HP_GATE_MIC),
    999         SND_PCI_QUIRK(0x103c, 0x814f, "HP ZBook 15u G3", CXT_FIXUP_MUTE_LED_GPIO),
    1000         SND_PCI_QUIRK(0x103c, 0x822e, "HP ProBook 440 G4", CXT_FIXUP_MUTE_LED_GPIO),
    1001         SND_PCI_QUIRK(0x103c, 0x836e, "HP ProBook 455 G5", CXT_FIXUP_MUTE_LED_GPIO),
    1002         SND_PCI_QUIRK(0x103c, 0x837f, "HP ProBook 470 G5", CXT_FIXUP_MUTE_LED_GPIO),
    1003         SND_PCI_QUIRK(0x103c, 0x8299, "HP 800 G3 SFF", CXT_FIXUP_HP_MIC_NO_PRESENCE),
    1004         SND_PCI_QUIRK(0x103c, 0x829a, "HP 800 G3 DM", CXT_FIXUP_HP_MIC_NO_PRESENCE),
    10051005        SND_PCI_QUIRK(0x103c, 0x8402, "HP ProBook 645 G4", CXT_FIXUP_MUTE_LED_GPIO),
    10061006        SND_PCI_QUIRK(0x103c, 0x8427, "HP ZBook Studio G5", CXT_FIXUP_HP_ZBOOK_MUTE_LED),
  • GPL/branches/uniaud32-next/alsa-kernel/pci/hda/patch_hdmi.c

    r682 r685  
    26612661         * the state will be updated at resume
    26622662         */
    2663         if (snd_power_get_state(codec->card) != SNDRV_CTL_POWER_D0)
     2663        if (codec->core.dev.power.power_state.event == PM_EVENT_SUSPEND)
    26642664                return;
    26652665        /* ditto during suspend/resume process itself */
     
    28472847         * the state will be updated at resume
    28482848         */
    2849         if (snd_power_get_state(codec->card) != SNDRV_CTL_POWER_D0)
     2849        if (codec->core.dev.power.power_state.event == PM_EVENT_SUSPEND)
    28502850                return;
    28512851        /* ditto during suspend/resume process itself */
  • GPL/branches/uniaud32-next/alsa-kernel/pci/hda/patch_realtek.c

    r684 r685  
    403403        case 0x10ec0283:
    404404        case 0x10ec0286:
    405         case 0x10ec0287:
    406405        case 0x10ec0288:
    407406        case 0x10ec0285:
     
    413412        case 0x10ec0275:
    414413                alc_update_coef_idx(codec, 0xe, 0, 1<<0);
     414                break;
     415        case 0x10ec0287:
     416                alc_update_coef_idx(codec, 0x10, 1<<9, 0);
     417                alc_write_coef_idx(codec, 0x8, 0x4ab7);
    415418                break;
    416419        case 0x10ec0293:
     
    30193022        SND_PCI_QUIRK(0x1025, 0x0146, "Acer Aspire 6935G",
    30203023                      ALC882_FIXUP_ACER_ASPIRE_8930G),
     3024        SND_PCI_QUIRK(0x1025, 0x0142, "Acer Aspire 7730G",
     3025                      ALC882_FIXUP_ACER_ASPIRE_4930G),
     3026        SND_PCI_QUIRK(0x1025, 0x0155, "Packard-Bell M5120", ALC882_FIXUP_PB_M5210),
    30213027        SND_PCI_QUIRK(0x1025, 0x015e, "Acer Aspire 6930G",
    30223028                      ALC882_FIXUP_ACER_ASPIRE_4930G),
    30233029        SND_PCI_QUIRK(0x1025, 0x0166, "Acer Aspire 6530G",
    30243030                      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),
    30283031        SND_PCI_QUIRK(0x1025, 0x021e, "Acer Aspire 5739G",
    30293032                      ALC882_FIXUP_ACER_ASPIRE_4930G),
     
    30383041        SND_PCI_QUIRK(0x1043, 0x84bc, "ASUS ET2700", ALC887_FIXUP_ASUS_BASS),
    30393042        SND_PCI_QUIRK(0x1043, 0x8691, "ASUS ROG Ranger VIII", ALC882_FIXUP_GPIO3),
     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),
    30403045        SND_PCI_QUIRK(0x104d, 0x9047, "Sony Vaio TT", ALC889_FIXUP_VAIO_TT),
    30413046        SND_PCI_QUIRK(0x104d, 0x905a, "Sony Vaio Z", ALC882_FIXUP_NO_PRIMARY_HP),
    30423047        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),
    30453048
    30463049        /* All Apple entries are in codec SSIDs */
     
    30853088        SND_PCI_QUIRK_VENDOR(0x1462, "MSI", ALC882_FIXUP_GPIO3),
    30863089        SND_PCI_QUIRK(0x147b, 0x107a, "Abit AW9D-MAX", ALC882_FIXUP_ABIT_AW9D_MAX),
     3090        SND_PCI_QUIRK(0x1558, 0x50d3, "Clevo PC50[ER][CDF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS),
     3091        SND_PCI_QUIRK(0x1558, 0x65d1, "Clevo PB51[ER][CDF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS),
     3092        SND_PCI_QUIRK(0x1558, 0x65d2, "Clevo PB51R[CDF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS),
     3093        SND_PCI_QUIRK(0x1558, 0x65e1, "Clevo PB51[ED][DF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS),
     3094        SND_PCI_QUIRK(0x1558, 0x65e5, "Clevo PC50D[PRS](?:-D|-G)?", ALC1220_FIXUP_CLEVO_PB51ED_PINS),
     3095        SND_PCI_QUIRK(0x1558, 0x67d1, "Clevo PB71[ER][CDF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS),
     3096        SND_PCI_QUIRK(0x1558, 0x67e1, "Clevo PB71[DE][CDF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS),
     3097        SND_PCI_QUIRK(0x1558, 0x67e5, "Clevo PC70D[PRS](?:-D|-G)?", ALC1220_FIXUP_CLEVO_PB51ED_PINS),
     3098        SND_PCI_QUIRK(0x1558, 0x70d1, "Clevo PC70[ER][CDF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS),
     3099        SND_PCI_QUIRK(0x1558, 0x7714, "Clevo X170", ALC1220_FIXUP_CLEVO_PB51ED_PINS),
    30873100        SND_PCI_QUIRK(0x1558, 0x9501, "Clevo P950HR", ALC1220_FIXUP_CLEVO_P950),
    30883101        SND_PCI_QUIRK(0x1558, 0x9506, "Clevo P955HQ", ALC1220_FIXUP_CLEVO_P950),
    3089         SND_PCI_QUIRK(0x1558, 0x950A, "Clevo P955H[PR]", ALC1220_FIXUP_CLEVO_P950),
     3102        SND_PCI_QUIRK(0x1558, 0x950a, "Clevo P955H[PR]", ALC1220_FIXUP_CLEVO_P950),
    30903103        SND_PCI_QUIRK(0x1558, 0x95e1, "Clevo P95xER", ALC1220_FIXUP_CLEVO_P950),
    30913104        SND_PCI_QUIRK(0x1558, 0x95e2, "Clevo P950ER", ALC1220_FIXUP_CLEVO_P950),
     
    30973110        SND_PCI_QUIRK(0x1558, 0x97e1, "Clevo P970[ER][CDFN]", ALC1220_FIXUP_CLEVO_P950),
    30983111        SND_PCI_QUIRK(0x1558, 0x97e2, "Clevo P970RC-M", ALC1220_FIXUP_CLEVO_P950),
    3099         SND_PCI_QUIRK(0x1558, 0x50d3, "Clevo PC50[ER][CDF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS),
    3100         SND_PCI_QUIRK(0x1558, 0x65d1, "Clevo PB51[ER][CDF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS),
    3101         SND_PCI_QUIRK(0x1558, 0x65d2, "Clevo PB51R[CDF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS),
    3102         SND_PCI_QUIRK(0x1558, 0x65e1, "Clevo PB51[ED][DF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS),
    3103         SND_PCI_QUIRK(0x1558, 0x67d1, "Clevo PB71[ER][CDF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS),
    3104         SND_PCI_QUIRK(0x1558, 0x67e1, "Clevo PB71[DE][CDF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS),
    3105         SND_PCI_QUIRK(0x1558, 0x70d1, "Clevo PC70[ER][CDF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS),
    3106         SND_PCI_QUIRK(0x1558, 0x7714, "Clevo X170", ALC1220_FIXUP_CLEVO_PB51ED_PINS),
    31073112        SND_PCI_QUIRK_VENDOR(0x1558, "Clevo laptop", ALC882_FIXUP_EAPD),
    31083113        SND_PCI_QUIRK(0x161f, 0x2054, "Medion laptop", ALC883_FIXUP_EAPD),
     
    49924997}
    49934998
     4999/* toggle GPIO2 at each time stream is started; we use PREPARE state instead */
     5000static void alc274_hp_envy_pcm_hook(struct hda_pcm_stream *hinfo,
     5001                                    struct hda_codec *codec,
     5002                                    struct snd_pcm_substream *substream,
     5003                                    int action)
     5004{
     5005        switch (action) {
     5006        case HDA_GEN_PCM_ACT_PREPARE:
     5007                alc_update_gpio_data(codec, 0x04, true);
     5008                break;
     5009        case HDA_GEN_PCM_ACT_CLEANUP:
     5010                alc_update_gpio_data(codec, 0x04, false);
     5011                break;
     5012        }
     5013}
     5014
     5015static void alc274_fixup_hp_envy_gpio(struct hda_codec *codec,
     5016                                      const struct hda_fixup *fix,
     5017                                      int action)
     5018{
     5019        struct alc_spec *spec = codec->spec;
     5020
     5021        if (action == HDA_FIXUP_ACT_PROBE) {
     5022                spec->gpio_mask |= 0x04;
     5023                spec->gpio_dir |= 0x04;
     5024                spec->gen.pcm_playback_hook = alc274_hp_envy_pcm_hook;
     5025        }
     5026}
     5027
    49945028#ifdef NOT_USED
    49955029static void alc_update_coef_led(struct hda_codec *codec,
     
    51115145        alc236_fixup_hp_mute_led_coefbit(codec, fix, action);
    51125146        alc236_fixup_hp_coef_micmute_led(codec, fix, action);
     5147}
     5148
     5149static void alc236_fixup_hp_micmute_led_vref(struct hda_codec *codec,
     5150                                const struct hda_fixup *fix, int action)
     5151{
     5152        struct alc_spec *spec = codec->spec;
     5153
     5154        if (action == HDA_FIXUP_ACT_PRE_PROBE) {
     5155                spec->cap_mute_led_nid = 0x1a;
     5156#ifdef CONFIG_SND_HDA_GENERIC_LEDS
     5157                snd_hda_gen_add_micmute_led_cdev(codec, vref_micmute_led_set);
     5158#endif
     5159                codec->power_filter = led_power_filter;
     5160        }
     5161}
     5162
     5163static void alc236_fixup_hp_mute_led_micmute_vref(struct hda_codec *codec,
     5164                                const struct hda_fixup *fix, int action)
     5165{
     5166        alc236_fixup_hp_mute_led_coefbit(codec, fix, action);
     5167        alc236_fixup_hp_micmute_led_vref(codec, fix, action);
    51135168}
    51145169
     
    63516406}
    63526407
     6408static void alc295_fixup_asus_dacs(struct hda_codec *codec,
     6409                                   const struct hda_fixup *fix, int action)
     6410{
     6411        static const hda_nid_t preferred_pairs[] = {
     6412                0x17, 0x02, 0x21, 0x03, 0
     6413        };
     6414        struct alc_spec *spec = codec->spec;
     6415
     6416        if (action == HDA_FIXUP_ACT_PRE_PROBE)
     6417                spec->gen.preferred_dacs = preferred_pairs;
     6418}
     6419
    63536420static void alc_shutup_dell_xps13(struct hda_codec *codec)
    63546421{
     
    68686935}
    68696936
     6937static void alc294_gu502_toggle_output(struct hda_codec *codec,
     6938                                       struct hda_jack_callback *cb)
     6939{
     6940        /* Windows sets 0x10 to 0x8420 for Node 0x20 which is
     6941         * responsible from changes between speakers and headphones
     6942         */
     6943        if (snd_hda_jack_detect_state(codec, 0x21) == HDA_JACK_PRESENT)
     6944                alc_write_coef_idx(codec, 0x10, 0x8420);
     6945        else
     6946                alc_write_coef_idx(codec, 0x10, 0x0a20);
     6947}
     6948
     6949static void alc294_fixup_gu502_hp(struct hda_codec *codec,
     6950                                  const struct hda_fixup *fix, int action)
     6951{
     6952        if (!is_jack_detectable(codec, 0x21))
     6953                return;
     6954
     6955        switch (action) {
     6956        case HDA_FIXUP_ACT_PRE_PROBE:
     6957                snd_hda_jack_detect_enable_callback(codec, 0x21,
     6958                                alc294_gu502_toggle_output);
     6959                break;
     6960        case HDA_FIXUP_ACT_INIT:
     6961                alc294_gu502_toggle_output(codec, NULL);
     6962                break;
     6963        }
     6964}
     6965
    68706966static void  alc285_fixup_hp_gpio_amp_init(struct hda_codec *codec,
    68716967                              const struct hda_fixup *fix, int action)
     
    69187014/* for alc295_fixup_hp_top_speakers */
    69197015#include "hp_x360_helper.c"
     7016
     7017/* for alc285_fixup_ideapad_s740_coef() */
     7018#include "ideapad_s740_helper.c"
    69207019
    69217020enum {
     
    70837182        ALC294_FIXUP_ASUS_GX502_PINS,
    70847183        ALC294_FIXUP_ASUS_GX502_VERBS,
     7184        ALC294_FIXUP_ASUS_GU502_HP,
     7185        ALC294_FIXUP_ASUS_GU502_PINS,
     7186        ALC294_FIXUP_ASUS_GU502_VERBS,
    70857187        ALC285_FIXUP_HP_GPIO_LED,
    70867188        ALC285_FIXUP_HP_MUTE_LED,
    70877189        ALC236_FIXUP_HP_GPIO_LED,
    70887190        ALC236_FIXUP_HP_MUTE_LED,
     7191        ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF,
    70897192        ALC298_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET,
    70907193        ALC295_FIXUP_ASUS_MIC_NO_PRESENCE,
     
    71027205        ALC269_FIXUP_LEMOTE_A190X,
    71037206        ALC256_FIXUP_INTEL_NUC8_RUGGED,
     7207        ALC233_FIXUP_INTEL_NUC8_DMIC,
     7208        ALC233_FIXUP_INTEL_NUC8_BOOST,
    71047209        ALC256_FIXUP_INTEL_NUC10,
    71057210        ALC255_FIXUP_XIAOMI_HEADSET_MIC,
    71067211        ALC274_FIXUP_HP_MIC,
    71077212        ALC274_FIXUP_HP_HEADSET_MIC,
     7213        ALC274_FIXUP_HP_ENVY_GPIO,
    71087214        ALC256_FIXUP_ASUS_HPE,
    71097215        ALC285_FIXUP_THINKPAD_NO_BASS_SPK_HEADSET_JACK,
     
    71147220        ALC255_FIXUP_ACER_LIMIT_INT_MIC_BOOST,
    71157221        ALC256_FIXUP_ACER_HEADSET_MIC,
     7222        ALC285_FIXUP_IDEAPAD_S740_COEF,
     7223        ALC295_FIXUP_ASUS_DACS,
     7224        ALC295_FIXUP_HP_OMEN,
     7225        ALC285_FIXUP_HP_SPECTRE_X360,
    71167226};
    71177227
     
    81138223                .type = HDA_FIXUP_FUNC,
    81148224                .v.func = alc233_fixup_lenovo_line2_mic_hotkey,
     8225        },
     8226        [ALC233_FIXUP_INTEL_NUC8_DMIC] = {
     8227                .type = HDA_FIXUP_FUNC,
     8228                .v.func = alc_fixup_inv_dmic,
     8229                .chained = true,
     8230                .chain_id = ALC233_FIXUP_INTEL_NUC8_BOOST,
     8231        },
     8232        [ALC233_FIXUP_INTEL_NUC8_BOOST] = {
     8233                .type = HDA_FIXUP_FUNC,
     8234                .v.func = alc269_fixup_limit_int_mic_boost
    81158235        },
    81168236        [ALC255_FIXUP_DELL_SPK_NOISE] = {
     
    86268746                .v.func = alc294_fixup_gx502_hp,
    86278747        },
     8748        [ALC294_FIXUP_ASUS_GU502_PINS] = {
     8749                .type = HDA_FIXUP_PINS,
     8750                .v.pins = (const struct hda_pintbl[]) {
     8751                        { 0x19, 0x01a11050 }, /* rear HP mic */
     8752                        { 0x1a, 0x01a11830 }, /* rear external mic */
     8753                        { 0x21, 0x012110f0 }, /* rear HP out */
     8754                        { }
     8755                },
     8756                .chained = true,
     8757                .chain_id = ALC294_FIXUP_ASUS_GU502_VERBS
     8758        },
     8759        [ALC294_FIXUP_ASUS_GU502_VERBS] = {
     8760                .type = HDA_FIXUP_VERBS,
     8761                .v.verbs = (const struct hda_verb[]) {
     8762                        /* set 0x15 to HP-OUT ctrl */
     8763                        { 0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, 0xc0 },
     8764                        /* unmute the 0x15 amp */
     8765                        { 0x15, AC_VERB_SET_AMP_GAIN_MUTE, 0xb000 },
     8766                        /* set 0x1b to HP-OUT */
     8767                        { 0x1b, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x24 },
     8768                        { }
     8769                },
     8770                .chained = true,
     8771                .chain_id = ALC294_FIXUP_ASUS_GU502_HP
     8772        },
     8773        [ALC294_FIXUP_ASUS_GU502_HP] = {
     8774                .type = HDA_FIXUP_FUNC,
     8775                .v.func = alc294_fixup_gu502_hp,
     8776        },
    86288777        [ALC294_FIXUP_ASUS_COEF_1B] = {
    86298778                .type = HDA_FIXUP_VERBS,
     
    86538802                .type = HDA_FIXUP_FUNC,
    86548803                .v.func = alc236_fixup_hp_mute_led,
     8804        },
     8805        [ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF] = {
     8806                .type = HDA_FIXUP_FUNC,
     8807                .v.func = alc236_fixup_hp_mute_led_micmute_vref,
    86558808        },
    86568809#ifdef TARGET_OS2xxx
     
    88539006                .chain_id = ALC274_FIXUP_HP_MIC
    88549007        },
     9008        [ALC274_FIXUP_HP_ENVY_GPIO] = {
     9009                .type = HDA_FIXUP_FUNC,
     9010                .v.func = alc274_fixup_hp_envy_gpio,
     9011        },
    88559012        [ALC256_FIXUP_ASUS_HPE] = {
    88569013                .type = HDA_FIXUP_VERBS,
     
    88959052        },
    88969053#endif
     9054        [ALC285_FIXUP_IDEAPAD_S740_COEF] = {
     9055                .type = HDA_FIXUP_FUNC,
     9056                .v.func = alc285_fixup_ideapad_s740_coef,
     9057                .chained = true,
     9058                .chain_id = ALC269_FIXUP_THINKPAD_ACPI,
     9059        },
     9060        [ALC295_FIXUP_ASUS_DACS] = {
     9061                .type = HDA_FIXUP_FUNC,
     9062                .v.func = alc295_fixup_asus_dacs,
     9063        },
     9064#ifdef TARGET_OS2xxx
     9065        [ALC295_FIXUP_HP_OMEN] = {
     9066                .type = HDA_FIXUP_PINS,
     9067                .v.pins = (const struct hda_pintbl[]) {
     9068                        { 0x12, 0xb7a60130 },
     9069                        { 0x13, 0x40000000 },
     9070                        { 0x14, 0x411111f0 },
     9071                        { 0x16, 0x411111f0 },
     9072                        { 0x17, 0x90170110 },
     9073                        { 0x18, 0x411111f0 },
     9074                        { 0x19, 0x02a11030 },
     9075                        { 0x1a, 0x411111f0 },
     9076                        { 0x1b, 0x04a19030 },
     9077                        { 0x1d, 0x40600001 },
     9078                        { 0x1e, 0x411111f0 },
     9079                        { 0x21, 0x03211020 },
     9080                        {}
     9081                },
     9082                .chained = true,
     9083                .chain_id = ALC269_FIXUP_HP_LINE1_MIC1_LED,
     9084        },
     9085        [ALC285_FIXUP_HP_SPECTRE_X360] = {
     9086                .type = HDA_FIXUP_PINS,
     9087                .v.pins = (const struct hda_pintbl[]) {
     9088                        { 0x14, 0x90170110 }, /* enable top speaker */
     9089                        {}
     9090                },
     9091                .chained = true,
     9092                .chain_id = ALC285_FIXUP_SPEAKER2_TO_DAC1,
     9093        },
     9094#endif
    88979095};
    88989096
     
    89039101        SND_PCI_QUIRK(0x1025, 0x047c, "Acer AC700", ALC269_FIXUP_ACER_AC700),
    89049102        SND_PCI_QUIRK(0x1025, 0x072d, "Acer Aspire V5-571G", ALC269_FIXUP_ASPIRE_HEADSET_MIC),
    8905         SND_PCI_QUIRK(0x1025, 0x080d, "Acer Aspire V5-122P", ALC269_FIXUP_ASPIRE_HEADSET_MIC),
    89069103        SND_PCI_QUIRK(0x1025, 0x0740, "Acer AO725", ALC271_FIXUP_HP_GATE_MIC_JACK),
    89079104        SND_PCI_QUIRK(0x1025, 0x0742, "Acer AO756", ALC271_FIXUP_HP_GATE_MIC_JACK),
     
    89099106        SND_PCI_QUIRK(0x1025, 0x0775, "Acer Aspire E1-572", ALC271_FIXUP_HP_GATE_MIC_JACK_E1_572),
    89109107        SND_PCI_QUIRK(0x1025, 0x079b, "Acer Aspire V5-573G", ALC282_FIXUP_ASPIRE_V5_PINS),
     9108        SND_PCI_QUIRK(0x1025, 0x080d, "Acer Aspire V5-122P", ALC269_FIXUP_ASPIRE_HEADSET_MIC),
    89119109        SND_PCI_QUIRK(0x1025, 0x0840, "Acer Aspire E1", ALC269VB_FIXUP_ASPIRE_E1_COEF),
    89129110        SND_PCI_QUIRK(0x1025, 0x101c, "Acer Veriton N2510G", ALC269_FIXUP_LIFEBOOK),
     
    89649162        SND_PCI_QUIRK(0x1028, 0x075c, "Dell XPS 27 7760", ALC298_FIXUP_SPK_VOLUME),
    89659163        SND_PCI_QUIRK(0x1028, 0x075d, "Dell AIO", ALC298_FIXUP_SPK_VOLUME),
     9164        SND_PCI_QUIRK(0x1028, 0x0798, "Dell Inspiron 17 7000 Gaming", ALC256_FIXUP_DELL_INSPIRON_7559_SUBWOOFER),
    89669165        SND_PCI_QUIRK(0x1028, 0x07b0, "Dell Precision 7520", ALC295_FIXUP_DISABLE_DAC3),
    8967         SND_PCI_QUIRK(0x1028, 0x0798, "Dell Inspiron 17 7000 Gaming", ALC256_FIXUP_DELL_INSPIRON_7559_SUBWOOFER),
    89689166        SND_PCI_QUIRK(0x1028, 0x080c, "Dell WYSE", ALC225_FIXUP_DELL_WYSE_MIC_NO_PRESENCE),
    89699167        SND_PCI_QUIRK(0x1028, 0x084b, "Dell", ALC274_FIXUP_DELL_AIO_LINEOUT_VERB),
     
    89759173        SND_PCI_QUIRK(0x1028, 0x08ae, "Dell WYSE NB", ALC225_FIXUP_DELL1_MIC_NO_PRESENCE),
    89769174        SND_PCI_QUIRK(0x1028, 0x0935, "Dell", ALC274_FIXUP_DELL_AIO_LINEOUT_VERB),
     9175        SND_PCI_QUIRK(0x1028, 0x097d, "Dell Precision", ALC289_FIXUP_DUAL_SPK),
    89779176        SND_PCI_QUIRK(0x1028, 0x097e, "Dell Precision", ALC289_FIXUP_DUAL_SPK),
    8978         SND_PCI_QUIRK(0x1028, 0x097d, "Dell Precision", ALC289_FIXUP_DUAL_SPK),
    89799177        SND_PCI_QUIRK(0x1028, 0x098d, "Dell Precision", ALC233_FIXUP_ASUS_MIC_NO_PRESENCE),
    89809178        SND_PCI_QUIRK(0x1028, 0x09bf, "Dell Precision", ALC233_FIXUP_ASUS_MIC_NO_PRESENCE),
     
    89879185        SND_PCI_QUIRK(0x103c, 0x18e6, "HP", ALC269_FIXUP_HP_GPIO_LED),
    89889186        SND_PCI_QUIRK(0x103c, 0x218b, "HP", ALC269_FIXUP_LIMIT_INT_MIC_BOOST_MUTE_LED),
    8989         SND_PCI_QUIRK(0x103c, 0x225f, "HP", ALC280_FIXUP_HP_GPIO2_MIC_HOTKEY),
    8990         /* ALC282 */
    89919187        SND_PCI_QUIRK(0x103c, 0x21f9, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
    89929188        SND_PCI_QUIRK(0x103c, 0x2210, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
    89939189        SND_PCI_QUIRK(0x103c, 0x2214, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
     9190        SND_PCI_QUIRK(0x103c, 0x221b, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED),
     9191        SND_PCI_QUIRK(0x103c, 0x221c, "HP EliteBook 755 G2", ALC280_FIXUP_HP_HEADSET_MIC),
     9192        SND_PCI_QUIRK(0x103c, 0x2221, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED),
     9193        SND_PCI_QUIRK(0x103c, 0x2225, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED),
    89949194        SND_PCI_QUIRK(0x103c, 0x2236, "HP", ALC269_FIXUP_HP_LINE1_MIC1_LED),
    89959195        SND_PCI_QUIRK(0x103c, 0x2237, "HP", ALC269_FIXUP_HP_LINE1_MIC1_LED),
     
    89979197        SND_PCI_QUIRK(0x103c, 0x2239, "HP", ALC269_FIXUP_HP_LINE1_MIC1_LED),
    89989198        SND_PCI_QUIRK(0x103c, 0x224b, "HP", ALC269_FIXUP_HP_LINE1_MIC1_LED),
    8999         SND_PCI_QUIRK(0x103c, 0x2268, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
    9000         SND_PCI_QUIRK(0x103c, 0x226a, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
    9001         SND_PCI_QUIRK(0x103c, 0x226b, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
    9002         SND_PCI_QUIRK(0x103c, 0x226e, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
    9003         SND_PCI_QUIRK(0x103c, 0x2271, "HP", ALC286_FIXUP_HP_GPIO_LED),
    9004         SND_PCI_QUIRK(0x103c, 0x2272, "HP", ALC280_FIXUP_HP_DOCK_PINS),
    9005         SND_PCI_QUIRK(0x103c, 0x2273, "HP", ALC280_FIXUP_HP_DOCK_PINS),
    9006         SND_PCI_QUIRK(0x103c, 0x229e, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
    9007         SND_PCI_QUIRK(0x103c, 0x22b2, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
    9008         SND_PCI_QUIRK(0x103c, 0x22b7, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
    9009         SND_PCI_QUIRK(0x103c, 0x22bf, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
    9010         SND_PCI_QUIRK(0x103c, 0x22cf, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
    9011         SND_PCI_QUIRK(0x103c, 0x22db, "HP", ALC280_FIXUP_HP_9480M),
    9012         SND_PCI_QUIRK(0x103c, 0x22dc, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED),
    9013         SND_PCI_QUIRK(0x103c, 0x22fb, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED),
    9014         /* ALC290 */
    9015         SND_PCI_QUIRK(0x103c, 0x221b, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED),
    9016         SND_PCI_QUIRK(0x103c, 0x2221, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED),
    9017         SND_PCI_QUIRK(0x103c, 0x2225, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED),
    90189199        SND_PCI_QUIRK(0x103c, 0x2253, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED),
    90199200        SND_PCI_QUIRK(0x103c, 0x2254, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED),
     
    90239204        SND_PCI_QUIRK(0x103c, 0x2259, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED),
    90249205        SND_PCI_QUIRK(0x103c, 0x225a, "HP", ALC269_FIXUP_HP_DOCK_GPIO_MIC1_LED),
     9206        SND_PCI_QUIRK(0x103c, 0x225f, "HP", ALC280_FIXUP_HP_GPIO2_MIC_HOTKEY),
    90259207        SND_PCI_QUIRK(0x103c, 0x2260, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
    90269208        SND_PCI_QUIRK(0x103c, 0x2263, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
    90279209        SND_PCI_QUIRK(0x103c, 0x2264, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
    90289210        SND_PCI_QUIRK(0x103c, 0x2265, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
     9211        SND_PCI_QUIRK(0x103c, 0x2268, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
     9212        SND_PCI_QUIRK(0x103c, 0x226a, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
     9213        SND_PCI_QUIRK(0x103c, 0x226b, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
     9214        SND_PCI_QUIRK(0x103c, 0x226e, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
     9215        SND_PCI_QUIRK(0x103c, 0x2271, "HP", ALC286_FIXUP_HP_GPIO_LED),
    90299216        SND_PCI_QUIRK(0x103c, 0x2272, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED),
     9217        SND_PCI_QUIRK(0x103c, 0x2272, "HP", ALC280_FIXUP_HP_DOCK_PINS),
    90309218        SND_PCI_QUIRK(0x103c, 0x2273, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED),
     9219        SND_PCI_QUIRK(0x103c, 0x2273, "HP", ALC280_FIXUP_HP_DOCK_PINS),
    90319220        SND_PCI_QUIRK(0x103c, 0x2278, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED),
    90329221        SND_PCI_QUIRK(0x103c, 0x227f, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
     
    90349223        SND_PCI_QUIRK(0x103c, 0x228b, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
    90359224        SND_PCI_QUIRK(0x103c, 0x228e, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
     9225        SND_PCI_QUIRK(0x103c, 0x229e, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
     9226        SND_PCI_QUIRK(0x103c, 0x22b2, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
     9227        SND_PCI_QUIRK(0x103c, 0x22b7, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
     9228        SND_PCI_QUIRK(0x103c, 0x22bf, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
     9229        SND_PCI_QUIRK(0x103c, 0x22c4, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
    90369230        SND_PCI_QUIRK(0x103c, 0x22c5, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
    90379231        SND_PCI_QUIRK(0x103c, 0x22c7, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
    90389232        SND_PCI_QUIRK(0x103c, 0x22c8, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
    9039         SND_PCI_QUIRK(0x103c, 0x22c4, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
     9233        SND_PCI_QUIRK(0x103c, 0x22cf, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
     9234        SND_PCI_QUIRK(0x103c, 0x22db, "HP", ALC280_FIXUP_HP_9480M),
     9235        SND_PCI_QUIRK(0x103c, 0x22dc, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED),
     9236        SND_PCI_QUIRK(0x103c, 0x22fb, "HP", ALC269_FIXUP_HP_GPIO_MIC1_LED),
    90409237        SND_PCI_QUIRK(0x103c, 0x2334, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
    90419238        SND_PCI_QUIRK(0x103c, 0x2335, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
    90429239        SND_PCI_QUIRK(0x103c, 0x2336, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
    90439240        SND_PCI_QUIRK(0x103c, 0x2337, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
    9044         SND_PCI_QUIRK(0x103c, 0x221c, "HP EliteBook 755 G2", ALC280_FIXUP_HP_HEADSET_MIC),
    90459241        SND_PCI_QUIRK(0x103c, 0x802e, "HP Z240 SFF", ALC221_FIXUP_HP_MIC_NO_PRESENCE),
    90469242        SND_PCI_QUIRK(0x103c, 0x802f, "HP Z240", ALC221_FIXUP_HP_MIC_NO_PRESENCE),
     9243        SND_PCI_QUIRK(0x103c, 0x8077, "HP", ALC256_FIXUP_HP_HEADSET_MIC),
     9244        SND_PCI_QUIRK(0x103c, 0x8158, "HP", ALC256_FIXUP_HP_HEADSET_MIC),
    90479245        SND_PCI_QUIRK(0x103c, 0x820d, "HP Pavilion 15", ALC269_FIXUP_HP_MUTE_LED_MIC3),
    90489246        SND_PCI_QUIRK(0x103c, 0x8256, "HP", ALC221_FIXUP_HP_FRONT_MIC),
     
    90539251        SND_PCI_QUIRK(0x103c, 0x83b9, "HP Spectre x360", ALC269_FIXUP_HP_MUTE_LED_MIC3),
    90549252        SND_PCI_QUIRK(0x103c, 0x8497, "HP Envy x360", ALC269_FIXUP_HP_MUTE_LED_MIC3),
     9253        SND_PCI_QUIRK(0x103c, 0x84da, "HP OMEN dc0019-ur", ALC295_FIXUP_HP_OMEN),
    90559254        SND_PCI_QUIRK(0x103c, 0x84e7, "HP Pavilion 15", ALC269_FIXUP_HP_MUTE_LED_MIC3),
     9255        SND_PCI_QUIRK(0x103c, 0x8519, "HP Spectre x360 15-df0xxx", ALC285_FIXUP_HP_SPECTRE_X360),
    90569256        SND_PCI_QUIRK(0x103c, 0x869d, "HP", ALC236_FIXUP_HP_MUTE_LED),
     9257        SND_PCI_QUIRK(0x103c, 0x86c7, "HP Envy AiO 32", ALC274_FIXUP_HP_ENVY_GPIO),
    90579258        SND_PCI_QUIRK(0x103c, 0x8724, "HP EliteBook 850 G7", ALC285_FIXUP_HP_GPIO_LED),
    90589259        SND_PCI_QUIRK(0x103c, 0x8729, "HP", ALC285_FIXUP_HP_GPIO_LED),
     9260        SND_PCI_QUIRK(0x103c, 0x8730, "HP ProBook 445 G7", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF),
    90599261        SND_PCI_QUIRK(0x103c, 0x8736, "HP", ALC285_FIXUP_HP_GPIO_AMP_INIT),
    90609262        SND_PCI_QUIRK(0x103c, 0x8760, "HP", ALC285_FIXUP_HP_MUTE_LED),
     
    90819283        SND_PCI_QUIRK(0x1043, 0x115d, "Asus 1015E", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
    90829284        SND_PCI_QUIRK(0x1043, 0x11c0, "ASUS X556UR", ALC255_FIXUP_ASUS_MIC_NO_PRESENCE),
     9285        SND_PCI_QUIRK(0x1043, 0x125e, "ASUS Q524UQK", ALC255_FIXUP_ASUS_MIC_NO_PRESENCE),
    90839286        SND_PCI_QUIRK(0x1043, 0x1271, "ASUS X430UN", ALC256_FIXUP_ASUS_MIC_NO_PRESENCE),
    90849287        SND_PCI_QUIRK(0x1043, 0x1290, "ASUS X441SA", ALC233_FIXUP_EAPD_COEF_AND_MIC_NO_PRESENCE),
    90859288        SND_PCI_QUIRK(0x1043, 0x12a0, "ASUS X441UV", ALC233_FIXUP_EAPD_COEF_AND_MIC_NO_PRESENCE),
     9289        SND_PCI_QUIRK(0x1043, 0x12e0, "ASUS X541SA", ALC256_FIXUP_ASUS_MIC),
    90869290        SND_PCI_QUIRK(0x1043, 0x12f0, "ASUS X541UV", ALC256_FIXUP_ASUS_MIC),
    9087         SND_PCI_QUIRK(0x1043, 0x12e0, "ASUS X541SA", ALC256_FIXUP_ASUS_MIC),
    90889291        SND_PCI_QUIRK(0x1043, 0x13b0, "ASUS Z550SA", ALC256_FIXUP_ASUS_MIC),
    90899292        SND_PCI_QUIRK(0x1043, 0x1427, "Asus Zenbook UX31E", ALC269VB_FIXUP_ASUS_ZENBOOK),
    90909293        SND_PCI_QUIRK(0x1043, 0x1517, "Asus Zenbook UX31A", ALC269VB_FIXUP_ASUS_ZENBOOK_UX31A),
    90919294        SND_PCI_QUIRK(0x1043, 0x16e3, "ASUS UX50", ALC269_FIXUP_STEREO_DMIC),
     9295        SND_PCI_QUIRK(0x1043, 0x1740, "ASUS UX430UA", ALC295_FIXUP_ASUS_DACS),
    90929296        SND_PCI_QUIRK(0x1043, 0x17d1, "ASUS UX431FL", ALC294_FIXUP_ASUS_DUAL_SPK),
     9297        SND_PCI_QUIRK(0x1043, 0x1881, "ASUS Zephyrus S/M", ALC294_FIXUP_ASUS_GX502_PINS),
    90939298        SND_PCI_QUIRK(0x1043, 0x18b1, "Asus MJ401TA", ALC256_FIXUP_ASUS_HEADSET_MIC),
    90949299        SND_PCI_QUIRK(0x1043, 0x18f1, "Asus FX505DT", ALC256_FIXUP_ASUS_HEADSET_MIC),
     
    91039308        SND_PCI_QUIRK(0x1043, 0x1bbd, "ASUS Z550MA", ALC255_FIXUP_ASUS_MIC_NO_PRESENCE),
    91049309        SND_PCI_QUIRK(0x1043, 0x1c23, "Asus X55U", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
    9105         SND_PCI_QUIRK(0x1043, 0x125e, "ASUS Q524UQK", ALC255_FIXUP_ASUS_MIC_NO_PRESENCE),
    91069310        SND_PCI_QUIRK(0x1043, 0x1ccd, "ASUS X555UB", ALC256_FIXUP_ASUS_MIC),
    91079311        SND_PCI_QUIRK(0x1043, 0x1d4e, "ASUS TM420", ALC256_FIXUP_ASUS_HPE),
    91089312        SND_PCI_QUIRK(0x1043, 0x1e11, "ASUS Zephyrus G15", ALC289_FIXUP_ASUS_GA502),
     9313        SND_PCI_QUIRK(0x1043, 0x1e51, "ASUS Zephyrus M15", ALC294_FIXUP_ASUS_GU502_PINS),
     9314        SND_PCI_QUIRK(0x1043, 0x1e8e, "ASUS Zephyrus G15", ALC289_FIXUP_ASUS_GA401),
    91099315        SND_PCI_QUIRK(0x1043, 0x1f11, "ASUS Zephyrus G14", ALC289_FIXUP_ASUS_GA401),
    9110         SND_PCI_QUIRK(0x1043, 0x1881, "ASUS Zephyrus S/M", ALC294_FIXUP_ASUS_GX502_PINS),
    91119316        SND_PCI_QUIRK(0x1043, 0x3030, "ASUS ZN270IE", ALC256_FIXUP_ASUS_AIO_GPIO2),
    91129317        SND_PCI_QUIRK(0x1043, 0x831a, "ASUS P901", ALC269_FIXUP_STEREO_DMIC),
     
    91159320        SND_PCI_QUIRK(0x1043, 0x83ce, "ASUS P1005", ALC269_FIXUP_STEREO_DMIC),
    91169321        SND_PCI_QUIRK(0x1043, 0x8516, "ASUS X101CH", ALC269_FIXUP_ASUS_X101),
    9117         SND_PCI_QUIRK(0x104d, 0x90b5, "Sony VAIO Pro 11", ALC286_FIXUP_SONY_MIC_NO_PRESENCE),
    9118         SND_PCI_QUIRK(0x104d, 0x90b6, "Sony VAIO Pro 13", ALC286_FIXUP_SONY_MIC_NO_PRESENCE),
    91199322        SND_PCI_QUIRK(0x104d, 0x9073, "Sony VAIO", ALC275_FIXUP_SONY_VAIO_GPIO2),
    91209323        SND_PCI_QUIRK(0x104d, 0x907b, "Sony VAIO", ALC275_FIXUP_SONY_HWEQ),
    91219324        SND_PCI_QUIRK(0x104d, 0x9084, "Sony VAIO", ALC275_FIXUP_SONY_HWEQ),
    91229325        SND_PCI_QUIRK(0x104d, 0x9099, "Sony VAIO S13", ALC275_FIXUP_SONY_DISABLE_AAMIX),
     9326        SND_PCI_QUIRK(0x104d, 0x90b5, "Sony VAIO Pro 11", ALC286_FIXUP_SONY_MIC_NO_PRESENCE),
     9327        SND_PCI_QUIRK(0x104d, 0x90b6, "Sony VAIO Pro 13", ALC286_FIXUP_SONY_MIC_NO_PRESENCE),
    91239328        SND_PCI_QUIRK(0x10cf, 0x1475, "Lifebook", ALC269_FIXUP_LIFEBOOK),
    91249329        SND_PCI_QUIRK(0x10cf, 0x159f, "Lifebook E780", ALC269_FIXUP_LIFEBOOK_NO_HP_TO_LINEOUT),
    91259330        SND_PCI_QUIRK(0x10cf, 0x15dc, "Lifebook T731", ALC269_FIXUP_LIFEBOOK_HP_PIN),
     9331        SND_PCI_QUIRK(0x10cf, 0x1629, "Lifebook U7x7", ALC255_FIXUP_LIFEBOOK_U7x7_HEADSET_MIC),
    91269332        SND_PCI_QUIRK(0x10cf, 0x1757, "Lifebook E752", ALC269_FIXUP_LIFEBOOK_HP_PIN),
    9127         SND_PCI_QUIRK(0x10cf, 0x1629, "Lifebook U7x7", ALC255_FIXUP_LIFEBOOK_U7x7_HEADSET_MIC),
    91289333        SND_PCI_QUIRK(0x10cf, 0x1845, "Lifebook U904", ALC269_FIXUP_LIFEBOOK_EXTMIC),
    91299334        SND_PCI_QUIRK(0x10ec, 0x10f2, "Intel Reference board", ALC700_FIXUP_INTEL_REFERENCE),
     9335        SND_PCI_QUIRK(0x10ec, 0x118c, "Medion EE4254 MD62100", ALC256_FIXUP_MEDION_HEADSET_NO_PRESENCE),
    91309336        SND_PCI_QUIRK(0x10ec, 0x1230, "Intel Reference board", ALC295_FIXUP_CHROME_BOOK),
    91319337        SND_PCI_QUIRK(0x10ec, 0x1252, "Intel Reference board", ALC295_FIXUP_CHROME_BOOK),
     
    91379343        SND_PCI_QUIRK(0x144d, 0xc189, "Samsung Galaxy Flex Book (NT950QCG-X716)", ALC298_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET),
    91389344        SND_PCI_QUIRK(0x144d, 0xc18a, "Samsung Galaxy Book Ion (NP930XCJ-K01US)", ALC298_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET),
    9139         SND_PCI_QUIRK(0x144d, 0xc830, "Samsung Galaxy Book Ion (NT950XCJ-X716A)", ALC298_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET),
    91409345        SND_PCI_QUIRK(0x144d, 0xc740, "Samsung Ativ book 8 (NP870Z5G)", ALC269_FIXUP_ATIV_BOOK_8),
    91419346        SND_PCI_QUIRK(0x144d, 0xc812, "Samsung Notebook Pen S (NT950SBE-X58)", ALC298_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET),
     9347        SND_PCI_QUIRK(0x144d, 0xc830, "Samsung Galaxy Book Ion (NT950XCJ-X716A)", ALC298_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET),
    91429348        SND_PCI_QUIRK(0x1458, 0xfa53, "Gigabyte BXBT-2807", ALC283_FIXUP_HEADSET_MIC),
    91439349        SND_PCI_QUIRK(0x1462, 0xb120, "MSI Cubi MS-B120", ALC283_FIXUP_HEADSET_MIC),
     
    91629368        SND_PCI_QUIRK(0x1558, 0x50d5, "Clevo NP50D5", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
    91639369        SND_PCI_QUIRK(0x1558, 0x50f0, "Clevo NH50A[CDF]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
     9370        SND_PCI_QUIRK(0x1558, 0x50f2, "Clevo NH50E[PR]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
    91649371        SND_PCI_QUIRK(0x1558, 0x50f3, "Clevo NH58DPQ", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
     9372        SND_PCI_QUIRK(0x1558, 0x50f5, "Clevo NH55EPY", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
     9373        SND_PCI_QUIRK(0x1558, 0x50f6, "Clevo NH55DPQ", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
    91659374        SND_PCI_QUIRK(0x1558, 0x5101, "Clevo S510WU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
    91669375        SND_PCI_QUIRK(0x1558, 0x5157, "Clevo W517GU1", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
     
    91689377        SND_PCI_QUIRK(0x1558, 0x70a1, "Clevo NB70T[HJK]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
    91699378        SND_PCI_QUIRK(0x1558, 0x70b3, "Clevo NK70SB", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
     9379        SND_PCI_QUIRK(0x1558, 0x70f2, "Clevo NH79EPY", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
     9380        SND_PCI_QUIRK(0x1558, 0x70f3, "Clevo NH77DPQ", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
     9381        SND_PCI_QUIRK(0x1558, 0x70f4, "Clevo NH77EPY", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
     9382        SND_PCI_QUIRK(0x1558, 0x70f6, "Clevo NH77DPQ-Y", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
    91709383        SND_PCI_QUIRK(0x1558, 0x8228, "Clevo NR40BU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
    91719384        SND_PCI_QUIRK(0x1558, 0x8520, "Clevo NH50D[CD]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
     
    91859398        SND_PCI_QUIRK(0x1558, 0x8d50, "Clevo NH55RCQ-M", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
    91869399        SND_PCI_QUIRK(0x1558, 0x951d, "Clevo N950T[CDF]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
     9400        SND_PCI_QUIRK(0x1558, 0x9600, "Clevo N960K[PR]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
    91879401        SND_PCI_QUIRK(0x1558, 0x961d, "Clevo N960S[CDF]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
    91889402        SND_PCI_QUIRK(0x1558, 0x971d, "Clevo N970T[CDF]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
    91899403        SND_PCI_QUIRK(0x1558, 0xa500, "Clevo NL53RU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
     9404        SND_PCI_QUIRK(0x1558, 0xa600, "Clevo NL5XNU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
     9405        SND_PCI_QUIRK(0x1558, 0xb018, "Clevo NP50D[BE]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
     9406        SND_PCI_QUIRK(0x1558, 0xb019, "Clevo NH77D[BE]Q", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
     9407        SND_PCI_QUIRK(0x1558, 0xb022, "Clevo NH77D[DC][QW]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
     9408        SND_PCI_QUIRK(0x1558, 0xc018, "Clevo NP50D[BE]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
     9409        SND_PCI_QUIRK(0x1558, 0xc019, "Clevo NH77D[BE]Q", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
     9410        SND_PCI_QUIRK(0x1558, 0xc022, "Clevo NH77[DC][QW]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
    91909411        SND_PCI_QUIRK(0x17aa, 0x1036, "Lenovo P520", ALC233_FIXUP_LENOVO_MULTI_CODECS),
    91919412        SND_PCI_QUIRK(0x17aa, 0x1048, "ThinkCentre Station", ALC283_FIXUP_HEADSET_MIC),
     
    91959416        SND_PCI_QUIRK(0x17aa, 0x21ca, "Thinkpad L412", ALC269_FIXUP_SKU_IGNORE),
    91969417        SND_PCI_QUIRK(0x17aa, 0x21e9, "Thinkpad Edge 15", ALC269_FIXUP_SKU_IGNORE),
     9418        SND_PCI_QUIRK(0x17aa, 0x21f3, "Thinkpad T430", ALC269_FIXUP_LENOVO_DOCK),
    91979419        SND_PCI_QUIRK(0x17aa, 0x21f6, "Thinkpad T530", ALC269_FIXUP_LENOVO_DOCK_LIMIT_BOOST),
    91989420        SND_PCI_QUIRK(0x17aa, 0x21fa, "Thinkpad X230", ALC269_FIXUP_LENOVO_DOCK),
    9199         SND_PCI_QUIRK(0x17aa, 0x21f3, "Thinkpad T430", ALC269_FIXUP_LENOVO_DOCK),
    92009421        SND_PCI_QUIRK(0x17aa, 0x21fb, "Thinkpad T430s", ALC269_FIXUP_LENOVO_DOCK),
    92019422        SND_PCI_QUIRK(0x17aa, 0x2203, "Thinkpad X230 Tablet", ALC269_FIXUP_LENOVO_DOCK),
     
    92389459        SND_PCI_QUIRK(0x17aa, 0x3178, "ThinkCentre Station", ALC283_FIXUP_HEADSET_MIC),
    92399460        SND_PCI_QUIRK(0x17aa, 0x3818, "Lenovo C940", ALC298_FIXUP_LENOVO_SPK_VOLUME),
     9461        SND_PCI_QUIRK(0x17aa, 0x3827, "Ideapad S740", ALC285_FIXUP_IDEAPAD_S740_COEF),
    92409462        SND_PCI_QUIRK(0x17aa, 0x3902, "Lenovo E50-80", ALC269_FIXUP_DMIC_THINKPAD_ACPI),
    92419463        SND_PCI_QUIRK(0x17aa, 0x3977, "IdeaPad S210", ALC283_FIXUP_INT_MIC),
    92429464        SND_PCI_QUIRK(0x17aa, 0x3978, "Lenovo B50-70", ALC269_FIXUP_DMIC_THINKPAD_ACPI),
     9465        SND_PCI_QUIRK(0x17aa, 0x3bf8, "Quanta FL1", ALC269_FIXUP_PCM_44K),
    92439466        SND_PCI_QUIRK(0x17aa, 0x5013, "Thinkpad", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
    92449467        SND_PCI_QUIRK(0x17aa, 0x501a, "Thinkpad", ALC283_FIXUP_INT_MIC),
     
    92599482        SND_PCI_QUIRK(0x17aa, 0x511e, "Thinkpad", ALC298_FIXUP_TPT470_DOCK),
    92609483        SND_PCI_QUIRK(0x17aa, 0x511f, "Thinkpad", ALC298_FIXUP_TPT470_DOCK),
    9261         SND_PCI_QUIRK(0x17aa, 0x3bf8, "Quanta FL1", ALC269_FIXUP_PCM_44K),
    92629484        SND_PCI_QUIRK(0x17aa, 0x9e54, "LENOVO NB", ALC269_FIXUP_LENOVO_EAPD),
    92639485        SND_PCI_QUIRK(0x19e5, 0x3204, "Huawei MACH-WX9", ALC256_FIXUP_HUAWEI_MACH_WX9_PINS),
     
    92669488        SND_PCI_QUIRK(0x1b35, 0x1237, "CZC L101", ALC269_FIXUP_CZC_L101),
    92679489        SND_PCI_QUIRK(0x1b7d, 0xa831, "Ordissimo EVE2 ", ALC269VB_FIXUP_ORDISSIMO_EVE2), /* Also known as Malata PC-B1303 */
     9490        SND_PCI_QUIRK(0x1c06, 0x2013, "Lemote A1802", ALC269_FIXUP_LEMOTE_A1802),
     9491        SND_PCI_QUIRK(0x1c06, 0x2015, "Lemote A190X", ALC269_FIXUP_LEMOTE_A190X),
    92689492        SND_PCI_QUIRK(0x1d72, 0x1602, "RedmiBook", ALC255_FIXUP_XIAOMI_HEADSET_MIC),
    92699493        SND_PCI_QUIRK(0x1d72, 0x1701, "XiaomiNotebook Pro", ALC298_FIXUP_DELL1_MIC_NO_PRESENCE),
    92709494        SND_PCI_QUIRK(0x1d72, 0x1901, "RedmiBook 14", ALC256_FIXUP_ASUS_HEADSET_MIC),
    92719495        SND_PCI_QUIRK(0x1d72, 0x1947, "RedmiBook Air", ALC255_FIXUP_XIAOMI_HEADSET_MIC),
    9272         SND_PCI_QUIRK(0x10ec, 0x118c, "Medion EE4254 MD62100", ALC256_FIXUP_MEDION_HEADSET_NO_PRESENCE),
    9273         SND_PCI_QUIRK(0x1c06, 0x2013, "Lemote A1802", ALC269_FIXUP_LEMOTE_A1802),
    9274         SND_PCI_QUIRK(0x1c06, 0x2015, "Lemote A190X", ALC269_FIXUP_LEMOTE_A190X),
     9496        SND_PCI_QUIRK(0x8086, 0x2074, "Intel NUC 8", ALC233_FIXUP_INTEL_NUC8_DMIC),
    92759497        SND_PCI_QUIRK(0x8086, 0x2080, "Intel NUC 8 Rugged", ALC256_FIXUP_INTEL_NUC8_RUGGED),
    92769498        SND_PCI_QUIRK(0x8086, 0x2081, "Intel NUC 10", ALC256_FIXUP_INTEL_NUC10),
     
    94519673        {.id = ALC274_FIXUP_HP_MIC, .name = "alc274-hp-mic-detect"},
    94529674        {.id = ALC245_FIXUP_HP_X360_AMP, .name = "alc245-hp-x360-amp"},
     9675        {.id = ALC295_FIXUP_HP_OMEN, .name = "alc295-hp-omen"},
     9676        {.id = ALC285_FIXUP_HP_SPECTRE_X360, .name = "alc285-hp-spectre-x360"},
    94539677        {0}
    94549678};
     
    97289952                {0x19, 0x03a11020},
    97299953                {0x21, 0x0321101f}),
    9730         SND_HDA_PIN_QUIRK(0x10ec0285, 0x17aa, "Lenovo", ALC285_FIXUP_THINKPAD_NO_BASS_SPK_HEADSET_JACK,
     9954        SND_HDA_PIN_QUIRK(0x10ec0285, 0x17aa, "Lenovo", ALC285_FIXUP_LENOVO_PC_BEEP_IN_NOISE,
     9955                {0x12, 0x90a60130},
    97319956                {0x14, 0x90170110},
    97329957                {0x19, 0x04a11040},
    97339958                {0x21, 0x04211020}),
    97349959        SND_HDA_PIN_QUIRK(0x10ec0285, 0x17aa, "Lenovo", ALC285_FIXUP_LENOVO_PC_BEEP_IN_NOISE,
    9735                 {0x12, 0x90a60130},
     9960                {0x14, 0x90170110},
     9961                {0x19, 0x04a11040},
     9962                {0x1d, 0x40600001},
     9963                {0x21, 0x04211020}),
     9964        SND_HDA_PIN_QUIRK(0x10ec0285, 0x17aa, "Lenovo", ALC285_FIXUP_THINKPAD_NO_BASS_SPK_HEADSET_JACK,
    97369965                {0x14, 0x90170110},
    97379966                {0x19, 0x04a11040},
     
    1024310472        SND_PCI_QUIRK_VENDOR(0x1043, "ASUS laptop", ALC861_FIXUP_AMP_VREF_0F),
    1024410473        SND_PCI_QUIRK(0x1462, 0x7254, "HP DX2200", ALC861_FIXUP_NO_JACK_DETECT),
    10245         SND_PCI_QUIRK(0x1584, 0x2b01, "Haier W18", ALC861_FIXUP_AMP_VREF_0F),
    10246         SND_PCI_QUIRK(0x1584, 0x0000, "Uniwill ECS M31EI", ALC861_FIXUP_AMP_VREF_0F),
     10474        SND_PCI_QUIRK_VENDOR(0x1584, "Haier/Uniwill", ALC861_FIXUP_AMP_VREF_0F),
    1024710475        SND_PCI_QUIRK(0x1734, 0x10c7, "FSC Amilo Pi1505", ALC861_FIXUP_FSC_AMILO_PI1505),
    1024810476        {0}
     
    1124211470        SND_PCI_QUIRK(0x1025, 0x034a, "Gateway LT27", ALC662_FIXUP_INV_DMIC),
    1124311471        SND_PCI_QUIRK(0x1025, 0x038b, "Acer Aspire 8943G", ALC662_FIXUP_ASPIRE),
     11472        SND_PCI_QUIRK(0x1025, 0x0566, "Acer Aspire Ethos 8951G", ALC669_FIXUP_ACER_ASPIRE_ETHOS),
    1124411473        SND_PCI_QUIRK(0x1025, 0x123c, "Acer Nitro N50-600", ALC662_FIXUP_ACER_NITRO_HEADSET_MODE),
    1124511474        SND_PCI_QUIRK(0x1025, 0x124e, "Acer 2660G", ALC662_FIXUP_ACER_X2660G_HEADSET_MODE),
     
    1125811487        SND_PCI_QUIRK(0x1043, 0x1080, "Asus UX501VW", ALC668_FIXUP_HEADSET_MODE),
    1125911488        SND_PCI_QUIRK(0x1043, 0x11cd, "Asus N550", ALC662_FIXUP_ASUS_Nx50),
    11260         SND_PCI_QUIRK(0x1043, 0x13df, "Asus N550JX", ALC662_FIXUP_BASS_1A),
    1126111489        SND_PCI_QUIRK(0x1043, 0x129d, "Asus N750", ALC662_FIXUP_ASUS_Nx50),
    1126211490        SND_PCI_QUIRK(0x1043, 0x12ff, "ASUS G751", ALC668_FIXUP_ASUS_G751),
     11491        SND_PCI_QUIRK(0x1043, 0x13df, "Asus N550JX", ALC662_FIXUP_BASS_1A),
    1126311492        SND_PCI_QUIRK(0x1043, 0x1477, "ASUS N56VZ", ALC662_FIXUP_BASS_MODE4_CHMAP),
    1126411493        SND_PCI_QUIRK(0x1043, 0x15a7, "ASUS UX51VZH", ALC662_FIXUP_BASS_16),
     
    1128011509        SND_PCI_QUIRK(0x1b35, 0x1234, "CZC ET26", ALC662_FIXUP_CZC_ET26),
    1128111510        SND_PCI_QUIRK(0x1b35, 0x2206, "CZC P10T", ALC662_FIXUP_CZC_P10T),
    11282         SND_PCI_QUIRK(0x1025, 0x0566, "Acer Aspire Ethos 8951G", ALC669_FIXUP_ACER_ASPIRE_ETHOS),
    1128311511
    1128411512#if 0
  • GPL/branches/uniaud32-next/alsa-kernel/pci/intel8x0.c

    r629 r685  
    358358        struct ac97_pcm *pcm;
    359359        int pcm_open_flag;
     360        unsigned int prepared:1;
    360361        unsigned int suspended: 1;
    361362};
     
    717718        int status, civ, i, step;
    718719        int ack = 0;
     720
     721        if (!ichdev->prepared || ichdev->suspended)
     722                return;
    719723
    720724        spin_lock_irqsave(&chip->reg_lock, flags);
     
    908912                snd_ac97_pcm_close(ichdev->pcm);
    909913                ichdev->pcm_open_flag = 0;
     914                ichdev->prepared = 0;
    910915        }
    911916        err = snd_ac97_pcm_open(ichdev->pcm, params_rate(hw_params),
     
    929934                snd_ac97_pcm_close(ichdev->pcm);
    930935                ichdev->pcm_open_flag = 0;
     936                ichdev->prepared = 0;
    931937        }
    932938        return 0;
     
    10031009        }
    10041010        snd_intel8x0_setup_periods(chip, ichdev);
     1011        ichdev->prepared = 1;
    10051012        return 0;
    10061013}
  • GPL/branches/uniaud32-next/alsa-kernel/pci/rme9652/hdsp.c

    r629 r685  
    53225322                pci_release_regions(hdsp->pci);
    53235323
    5324         pci_disable_device(hdsp->pci);
     5324        if (pci_is_enabled(hdsp->pci))
     5325                pci_disable_device(hdsp->pci);
    53255326        return 0;
    53265327}
  • GPL/branches/uniaud32-next/alsa-kernel/pci/rme9652/hdspm.c

    r629 r685  
    68926892                pci_release_regions(hdspm->pci);
    68936893
    6894         pci_disable_device(hdspm->pci);
     6894        if (pci_is_enabled(hdspm->pci))
     6895                pci_disable_device(hdspm->pci);
    68956896        return 0;
    68966897}
  • GPL/branches/uniaud32-next/alsa-kernel/pci/rme9652/rme9652.c

    r629 r685  
    17411741                pci_release_regions(rme9652->pci);
    17421742
    1743         pci_disable_device(rme9652->pci);
     1743        if (pci_is_enabled(rme9652->pci))
     1744                pci_disable_device(rme9652->pci);
    17441745        return 0;
    17451746}
Note: See TracChangeset for help on using the changeset viewer.