Changeset 754


Ignore:
Timestamp:
Oct 22, 2022, 10:06:27 AM (3 years ago)
Author:
Paul Smedley
Message:

Update linux source to 6.0.3

Location:
GPL/branches/uniaud32-exp/alsa-kernel
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • GPL/branches/uniaud32-exp/alsa-kernel/core/rawmidi.c

    r750 r754  
    19291929        snd_info_free_entry(rmidi->proc_entry);
    19301930        rmidi->proc_entry = NULL;
    1931         mutex_lock(&register_mutex);
    19321931        if (rmidi->ops && rmidi->ops->dev_unregister)
    19331932                rmidi->ops->dev_unregister(rmidi);
    1934         mutex_unlock(&register_mutex);
    19351933
    19361934        snd_rawmidi_free_substreams(&rmidi->streams[SNDRV_RAWMIDI_STREAM_INPUT]);
  • GPL/branches/uniaud32-exp/alsa-kernel/core/sound_oss.c

    r697 r754  
    171171                return -ENOENT;
    172172        }
    173         unregister_sound_special(minor);
    174173        switch (SNDRV_MINOR_OSS_DEVICE(minor)) {
    175174        case SNDRV_MINOR_OSS_PCM:
     
    183182                break;
    184183        }
    185         if (track2 >= 0) {
     184        if (track2 >= 0)
     185                snd_oss_minors[track2] = NULL;
     186        snd_oss_minors[minor] = NULL;
     187        mutex_unlock(&sound_oss_mutex);
     188
     189        /* call unregister_sound_special() outside sound_oss_mutex;
     190         * otherwise may deadlock, as it can trigger the release of a card
     191         */
     192        unregister_sound_special(minor);
     193        if (track2 >= 0)
    186194                unregister_sound_special(track2);
    187                 snd_oss_minors[track2] = NULL;
    188         }
    189         snd_oss_minors[minor] = NULL;
    190         mutex_unlock(&sound_oss_mutex);
     195
    191196        kfree(mptr);
    192197        return 0;
  • GPL/branches/uniaud32-exp/alsa-kernel/include/sound/version.h

    r751 r754  
    11/* include/version.h */
    2 #define CONFIG_SND_VERSION "6.0.2"
     2#define CONFIG_SND_VERSION "6.0.3"
    33#define CONFIG_SND_DATE ""
  • GPL/branches/uniaud32-exp/alsa-kernel/pci/hda/hda_beep.h

    r615 r754  
    2626        unsigned int linear_tone:1;     /* linear tone for IDT/STAC codec */
    2727        unsigned int playing:1;
     28        unsigned int keep_power_at_enable:1;    /* set by driver */
    2829        struct work_struct beep_work; /* scheduled task for beep event */
    2930        struct mutex mutex;
  • GPL/branches/uniaud32-exp/alsa-kernel/pci/hda/hda_codec.c

    r750 r754  
    944944
    945945        codec->bus = bus;
    946         codec->core.type = HDA_DEV_LEGACY;
    947 
    948         return codec;
    949 }
    950 EXPORT_SYMBOL_GPL(snd_hda_codec_device_init);
    951 
    952 /**
    953  * snd_hda_codec_new - create a HDA codec
    954  * @bus: the bus to assign
    955  * @card: card for this codec
    956  * @codec_addr: the codec address
    957  * @codecp: the pointer to store the generated codec
    958  *
    959  * Returns 0 if successful, or a negative error code.
    960  */
    961 int snd_hda_codec_new(struct hda_bus *bus, struct snd_card *card,
    962                       unsigned int codec_addr, struct hda_codec **codecp)
    963 {
    964         struct hda_codec *codec;
    965         int ret;
    966 
    967         codec = snd_hda_codec_device_init(bus, codec_addr, "hdaudioC%dD%d",
    968                                           card->number, codec_addr);
    969         if (IS_ERR(codec))
    970                 return PTR_ERR(codec);
    971         *codecp = codec;
    972 
    973         ret = snd_hda_codec_device_new(bus, card, codec_addr, *codecp, true);
    974         if (ret)
    975                 put_device(hda_codec_dev(*codecp));
    976 
    977         return ret;
    978 }
    979 EXPORT_SYMBOL_GPL(snd_hda_codec_new);
    980 
    981 int snd_hda_codec_device_new(struct hda_bus *bus, struct snd_card *card,
    982                         unsigned int codec_addr, struct hda_codec *codec,
    983                         bool snddev_managed)
    984 {
    985         char component[31];
    986         hda_nid_t fg;
    987         int err;
    988         static const struct snd_device_ops dev_ops = {
    989                 .dev_register = snd_hda_codec_dev_register,
    990                 .dev_free = snd_hda_codec_dev_free,
    991         };
    992 
    993         dev_dbg(card->dev, "%s: entry\n", __func__);
    994 
    995         if (snd_BUG_ON(!bus))
    996                 return -EINVAL;
    997         if (snd_BUG_ON(codec_addr > HDA_MAX_CODEC_ADDRESS))
    998                 return -EINVAL;
    999 
     946        codec->depop_delay = -1;
     947        codec->fixup_id = HDA_FIXUP_ID_NOT_SET;
    1000948        codec->core.dev.release = snd_hda_codec_dev_release;
    1001949        codec->core.exec_verb = codec_exec_verb;
    1002 
    1003         codec->card = card;
    1004         codec->addr = codec_addr;
     950        codec->core.type = HDA_DEV_LEGACY;
     951
    1005952        mutex_init(&codec->spdif_mutex);
    1006953        mutex_init(&codec->control_mutex);
     
    1015962        INIT_LIST_HEAD(&codec->conn_list);
    1016963        INIT_LIST_HEAD(&codec->pcm_list_head);
     964        INIT_DELAYED_WORK(&codec->jackpoll_work, hda_jackpoll_work);
    1017965        refcount_set(&codec->pcm_ref, 1);
    1018966        init_waitqueue_head(&codec->remove_sleep);
    1019967
    1020         INIT_DELAYED_WORK(&codec->jackpoll_work, hda_jackpoll_work);
    1021         codec->depop_delay = -1;
    1022         codec->fixup_id = HDA_FIXUP_ID_NOT_SET;
     968        return codec;
     969}
     970EXPORT_SYMBOL_GPL(snd_hda_codec_device_init);
     971
     972/**
     973 * snd_hda_codec_new - create a HDA codec
     974 * @bus: the bus to assign
     975 * @card: card for this codec
     976 * @codec_addr: the codec address
     977 * @codecp: the pointer to store the generated codec
     978 *
     979 * Returns 0 if successful, or a negative error code.
     980 */
     981int snd_hda_codec_new(struct hda_bus *bus, struct snd_card *card,
     982                      unsigned int codec_addr, struct hda_codec **codecp)
     983{
     984        struct hda_codec *codec;
     985        int ret;
     986
     987        codec = snd_hda_codec_device_init(bus, codec_addr, "hdaudioC%dD%d",
     988                                          card->number, codec_addr);
     989        if (IS_ERR(codec))
     990                return PTR_ERR(codec);
     991        *codecp = codec;
     992
     993        ret = snd_hda_codec_device_new(bus, card, codec_addr, *codecp, true);
     994        if (ret)
     995                put_device(hda_codec_dev(*codecp));
     996
     997        return ret;
     998}
     999EXPORT_SYMBOL_GPL(snd_hda_codec_new);
     1000
     1001int snd_hda_codec_device_new(struct hda_bus *bus, struct snd_card *card,
     1002                        unsigned int codec_addr, struct hda_codec *codec,
     1003                        bool snddev_managed)
     1004{
     1005        char component[31];
     1006        hda_nid_t fg;
     1007        int err;
     1008        static const struct snd_device_ops dev_ops = {
     1009                .dev_register = snd_hda_codec_dev_register,
     1010                .dev_free = snd_hda_codec_dev_free,
     1011        };
     1012
     1013        dev_dbg(card->dev, "%s: entry\n", __func__);
     1014
     1015        if (snd_BUG_ON(!bus))
     1016                return -EINVAL;
     1017        if (snd_BUG_ON(codec_addr > HDA_MAX_CODEC_ADDRESS))
     1018                return -EINVAL;
     1019
     1020        codec->card = card;
     1021        codec->addr = codec_addr;
    10231022
    10241023#ifdef CONFIG_PM
  • GPL/branches/uniaud32-exp/alsa-kernel/pci/hda/patch_hdmi.c

    r750 r754  
    6666struct hdmi_spec_per_cvt {
    6767        hda_nid_t cvt_nid;
    68         int assigned;
     68        bool assigned;          /* the stream has been assigned */
     69        bool silent_stream;     /* silent stream activated */
    6970        unsigned int channels_min;
    7071        unsigned int channels_max;
     
    10011002 */
    10021003static int hdmi_choose_cvt(struct hda_codec *codec,
    1003                            int pin_idx, int *cvt_id)
     1004                           int pin_idx, int *cvt_id,
     1005                           bool silent)
    10041006{
    10051007        struct hdmi_spec *spec = codec->spec;
     
    10161018        if (per_pin && per_pin->silent_stream) {
    10171019                cvt_idx = cvt_nid_to_cvt_index(codec, per_pin->cvt_nid);
     1020                per_cvt = get_cvt(spec, cvt_idx);
     1021                if (per_cvt->assigned && !silent)
     1022                        return -EBUSY;
    10181023                if (cvt_id)
    10191024                        *cvt_id = cvt_idx;
     
    10261031
    10271032                /* Must not already be assigned */
    1028                 if (per_cvt->assigned)
     1033                if (per_cvt->assigned || per_cvt->silent_stream)
    10291034                        continue;
    10301035                if (per_pin == NULL)
     
    12121217                return -EINVAL;
    12131218
    1214         err = hdmi_choose_cvt(codec, -1, &cvt_idx);
     1219        err = hdmi_choose_cvt(codec, -1, &cvt_idx, false);
    12151220        if (err)
    12161221                return err;
    12171222
    12181223        per_cvt = get_cvt(spec, cvt_idx);
    1219         per_cvt->assigned = 1;
     1224        per_cvt->assigned = true;
    12201225        hinfo->nid = per_cvt->cvt_nid;
    12211226
     
    12801285        }
    12811286
    1282         err = hdmi_choose_cvt(codec, pin_idx, &cvt_idx);
     1287        err = hdmi_choose_cvt(codec, pin_idx, &cvt_idx, false);
    12831288        if (err < 0)
    12841289                goto unlock;
     
    12861291        per_cvt = get_cvt(spec, cvt_idx);
    12871292        /* Claim converter */
    1288         per_cvt->assigned = 1;
     1293        per_cvt->assigned = true;
    12891294
    12901295        set_bit(pcm_idx, &spec->pcm_in_use);
    12911296        per_pin = get_pin(spec, pin_idx);
    12921297        per_pin->cvt_nid = per_cvt->cvt_nid;
    1293         per_pin->silent_stream = false;
    12941298        hinfo->nid = per_cvt->cvt_nid;
    12951299
     
    13211325                if (hinfo->channels_min > hinfo->channels_max ||
    13221326                    !hinfo->rates || !hinfo->formats) {
    1323                         per_cvt->assigned = 0;
     1327                        per_cvt->assigned = false;
    13241328                        hinfo->nid = 0;
    13251329                        snd_hda_spdif_ctls_unassign(codec, pcm_idx);
     
    17731777
    17741778        pin_idx = pin_id_to_pin_index(codec, per_pin->pin_nid, per_pin->dev_id);
    1775         err = hdmi_choose_cvt(codec, pin_idx, &cvt_idx);
     1779        err = hdmi_choose_cvt(codec, pin_idx, &cvt_idx, true);
    17761780        if (err) {
    17771781                codec_err(codec, "hdmi: no free converter to enable silent mode\n");
     
    17801784
    17811785        per_cvt = get_cvt(spec, cvt_idx);
    1782         per_cvt->assigned = 1;
     1786        per_cvt->silent_stream = true;
    17831787        per_pin->cvt_nid = per_cvt->cvt_nid;
    17841788        per_pin->silent_stream = true;
     
    18401844        if (cvt_idx >= 0 && cvt_idx < spec->num_cvts) {
    18411845                per_cvt = get_cvt(spec, cvt_idx);
    1842                 per_cvt->assigned = 0;
     1846                per_cvt->silent_stream = false;
    18431847        }
    18441848
     
    22362240                }
    22372241                per_cvt = get_cvt(spec, cvt_idx);
    2238                 per_cvt->assigned = 0;
     2242                per_cvt->assigned = false;
    22392243                hinfo->nid = 0;
    22402244
     
    27622766                return;
    27632767#endif
    2764         /* ditto during suspend/resume process itself */
    2765         if (snd_hdac_is_in_pm(&codec->core))
    2766                 return;
    27672768
    27682769        check_presence_and_report(codec, pin_nid, dev_id);
     
    29502951                return;
    29512952#endif
    2952         /* ditto during suspend/resume process itself */
    2953         if (snd_hdac_is_in_pm(&codec->core))
    2954                 return;
    29552953
    29562954        snd_hdac_i915_set_bclk(&codec->bus->core);
  • GPL/branches/uniaud32-exp/alsa-kernel/pci/hda/patch_realtek.c

    r751 r754  
    94529452                .type = HDA_FIXUP_PINS,
    94539453                .v.pins = (const struct hda_pintbl[]) {
    9454                         { 0x14, 0x90170120 },
     9454                        { 0x14, 0x90170152 }, /* Speaker Surround Playback Switch */
     9455                        { 0x19, 0x03a19020 }, /* Mic Boost Volume */
     9456                        { 0x1a, 0x03a11c30 }, /* Mic Boost Volume */
     9457                        { 0x1e, 0x90170151 }, /* Rear jack, IN OUT EAPD Detect */
     9458                        { 0x21, 0x03211420 },
    94559459                        { }
    94569460                },
    9457                 .chained = true,
    9458                 .chain_id = ALC294_FIXUP_ASUS_G513_PINS,
    94599461        },
    94609462        [ALC294_FIXUP_ASUS_COEF_1B] = {
     
    1021210214        SND_PCI_QUIRK(0x1028, 0x0872, "Dell Precision 3630", ALC255_FIXUP_DELL_HEADSET_MIC),
    1021310215        SND_PCI_QUIRK(0x1028, 0x0873, "Dell Precision 3930", ALC255_FIXUP_DUMMY_LINEOUT_VERB),
    10214         SND_PCI_QUIRK(0x1028, 0x087d, "Dell Precision 5530", ALC289_FIXUP_DUAL_SPK),
    1021510216        SND_PCI_QUIRK(0x1028, 0x08ad, "Dell WYSE AIO", ALC225_FIXUP_DELL_WYSE_AIO_MIC_NO_PRESENCE),
    1021610217        SND_PCI_QUIRK(0x1028, 0x08ae, "Dell WYSE NB", ALC225_FIXUP_DELL1_MIC_NO_PRESENCE),
     
    1043610437        SND_PCI_QUIRK(0x1043, 0x1c52, "ASUS Zephyrus G15 2022", ALC289_FIXUP_ASUS_GA401),
    1043710438        SND_PCI_QUIRK(0x1043, 0x1f11, "ASUS Zephyrus G14", ALC289_FIXUP_ASUS_GA401),
     10439        SND_PCI_QUIRK(0x1043, 0x1f92, "ASUS ROG Flow X16", ALC289_FIXUP_ASUS_GA401),
    1043810440        SND_PCI_QUIRK(0x1043, 0x3030, "ASUS ZN270IE", ALC256_FIXUP_ASUS_AIO_GPIO2),
    1043910441        SND_PCI_QUIRK(0x1043, 0x831a, "ASUS P901", ALC269_FIXUP_STEREO_DMIC),
     
    1045710459        SND_PCI_QUIRK(0x10ec, 0x118c, "Medion EE4254 MD62100", ALC256_FIXUP_MEDION_HEADSET_NO_PRESENCE),
    1045810460        SND_PCI_QUIRK(0x10ec, 0x1230, "Intel Reference board", ALC295_FIXUP_CHROME_BOOK),
     10461        SND_PCI_QUIRK(0x10ec, 0x124c, "Intel Reference board", ALC295_FIXUP_CHROME_BOOK),
    1045910462        SND_PCI_QUIRK(0x10ec, 0x1252, "Intel Reference board", ALC295_FIXUP_CHROME_BOOK),
    1046010463        SND_PCI_QUIRK(0x10ec, 0x1254, "Intel Reference board", ALC295_FIXUP_CHROME_BOOK),
  • GPL/branches/uniaud32-exp/alsa-kernel/pci/hda/patch_sigmatel.c

    r749 r754  
    44144414                        /* IDT/STAC codecs have linear beep tone parameter */
    44154415                        codec->beep->linear_tone = spec->linear_tone_beep;
     4416                        /* keep power up while beep is enabled */
     4417                        codec->beep->keep_power_at_enable = 1;
    44164418                        /* if no beep switch is available, make its own one */
    44174419                        caps = query_amp_caps(codec, nid, HDA_OUTPUT);
     
    45464548        return 0;
    45474549}
    4548 
    4549 static int stac_check_power_status(struct hda_codec *codec, hda_nid_t nid)
    4550 {
    4551 #ifdef CONFIG_SND_HDA_INPUT_BEEP
    4552         struct sigmatel_spec *spec = codec->spec;
    4553 #endif
    4554         int ret = snd_hda_gen_check_power_status(codec, nid);
    4555 
    4556 #ifdef CONFIG_SND_HDA_INPUT_BEEP
    4557         if (nid == spec->gen.beep_nid && codec->beep) {
    4558                 if (codec->beep->enabled != spec->beep_power_on) {
    4559                         spec->beep_power_on = codec->beep->enabled;
    4560                         if (spec->beep_power_on)
    4561                                 snd_hda_power_up_pm(codec);
    4562                         else
    4563                                 snd_hda_power_down_pm(codec);
    4564                 }
    4565                 ret |= spec->beep_power_on;
    4566         }
    4567 #endif
    4568         return ret;
    4569 }
    45704550#else
    45714551#define stac_suspend            NULL
     
    45804560#ifdef CONFIG_PM
    45814561        .suspend = stac_suspend,
    4582         .check_power_status = stac_check_power_status,
    45834562#endif
    45844563};
Note: See TracChangeset for help on using the changeset viewer.