Ignore:
Timestamp:
Oct 30, 2008, 9:57:08 AM (17 years ago)
Author:
Paul Smedley
Message:

Update source to ALSA 1.0.18

File:
1 edited

Legend:

Unmodified
Added
Removed
  • GPL/branches/uniaud32-2.0/alsa-kernel/pci/intel8x0.c

    r358 r399  
    6262                "{NVidia,nForce Audio},"
    6363                "{NVidia,nForce2 Audio},"
     64                "{NVidia,nForce3 Audio},"
     65                "{NVidia,MCP04},"
     66                "{NVidia,MCP501},"
     67                "{NVidia,CK804},"
     68                "{NVidia,CK8},"
     69                "{NVidia,CK8S},"
    6470                "{AMD,AMD768},"
    6571                "{AMD,AMD8111},"
     
    8086MODULE_PARM_DESC(id, "ID string for Intel i8x0 soundcard.");
    8187module_param(ac97_clock, int, 0444);
    82 MODULE_PARM_DESC(ac97_clock, "AC'97 codec clock (0 = auto-detect).");
     88MODULE_PARM_DESC(ac97_clock, "AC'97 codec clock (0 = whitelist + auto-detect, 1 = force autodetect).");
    8389module_param(ac97_quirk, charp, 0444);
    8490MODULE_PARM_DESC(ac97_quirk, "AC'97 workaround for strange hardware.");
     
    19621968        {
    19631969                .subvendor = 0x10cf,
     1970                .subdevice = 0x127d,
     1971                .name = "Fujitsu Lifebook P7010",
     1972                .type = AC97_TUNE_HP_ONLY
     1973        },
     1974        {
     1975                .subvendor = 0x10cf,
    19641976                .subdevice = 0x127e,
    19651977                .name = "Fujitsu Lifebook C1211D",
     
    21372149                                chip->ac97_sdin[codecs] =
    21382150                                        igetbyte(chip, ICHREG(SDM)) & ICH_LDI_MASK;
    2139                                 snd_assert(chip->ac97_sdin[codecs] < 3,
    2140                                            chip->ac97_sdin[codecs] = 0);
     2151                                if (snd_BUG_ON(chip->ac97_sdin[codecs] >= 3))
     2152                                        chip->ac97_sdin[codecs] = 0;
    21412153                        } else
    21422154                                chip->ac97_sdin[codecs] = i;
     
    26892701        printk(KERN_INFO "intel8x0: clocking to %d\n", chip->ac97_bus->clock);
    26902702        snd_ac97_update_power(chip->ac97[0], AC97_PCM_FRONT_DAC_RATE, 0);
     2703}
     2704
     2705static struct snd_pci_quirk intel8x0_clock_list[] __devinitdata = {
     2706        SND_PCI_QUIRK(0x0e11, 0x008a, "AD1885", 41000),
     2707        SND_PCI_QUIRK(0x1028, 0x00be, "AD1885", 44100),
     2708        SND_PCI_QUIRK(0x1028, 0x0177, "AD1980", 48000),
     2709        SND_PCI_QUIRK(0x1043, 0x80f3, "AD1985", 48000),
     2710        {0}     /* terminator */
     2711};
     2712
     2713static int __devinit intel8x0_in_clock_list(struct intel8x0 *chip)
     2714{
     2715        struct pci_dev *pci = chip->pci;
     2716        const struct snd_pci_quirk *wl;
     2717
     2718        wl = snd_pci_quirk_lookup(pci, intel8x0_clock_list);
     2719        if (!wl)
     2720                return 0;
     2721        printk(KERN_INFO "intel8x0: white list rate for %04x:%04x is %i\n",
     2722               pci->subsystem_vendor, pci->subsystem_device, wl->value);
     2723        chip->ac97_bus->clock = wl->value;
     2724        return 1;
    26912725}
    26922726
     
    30883122                 snd_ac97_get_short_name(chip->ac97[0]), chip->irq);
    30893123
    3090         if (! ac97_clock)
    3091                 intel8x0_measure_ac97_clock(chip);
     3124        if (ac97_clock == 0 || ac97_clock == 1) {
     3125                if (ac97_clock == 0) {
     3126                        if (intel8x0_in_clock_list(chip) == 0)
     3127                                intel8x0_measure_ac97_clock(chip);
     3128                } else {
     3129                        intel8x0_measure_ac97_clock(chip);
     3130                }
     3131        }
    30923132
    30933133        if ((err = snd_card_register(card)) < 0) {
Note: See TracChangeset for help on using the changeset viewer.