> Date: Mon, 24 Sep 2012 03:49:41 -0400 > From: Brad Smith <b...@comstyle.com> > > I've always wondered why this workaround was not removed once MSI > support was added. This was added before we had MSI support to > workaround some Intel azalia(4) being setup by the BIOS as far > as I know to use MSI and thus interrupts on system that were > affected by this did not work at all for azalia(4).
Because there still are conditions under which we would not be able to use MSI. Perhaps we should change the generic PCI code to explicitly disable MSIs if they are turned on. But until we do that, this workaround needs to stay in place. > Index: azalia.c > =================================================================== > RCS file: /home/cvs/src/sys/dev/pci/azalia.c,v > retrieving revision 1.200 > diff -u -p -r1.200 azalia.c > --- azalia.c 10 May 2012 22:46:48 -0000 1.200 > +++ azalia.c 2 Aug 2012 10:41:02 -0000 > @@ -488,7 +488,6 @@ azalia_pci_attach(struct device *parent, > azalia_t *sc; > struct pci_attach_args *pa; > pcireg_t v; > - uint8_t reg; > pci_intr_handle_t ih; > const char *interrupt_str; > > @@ -511,13 +510,6 @@ azalia_pci_attach(struct device *parent, > sc->subid = pci_conf_read(pa->pa_pc, pa->pa_tag, PCI_SUBSYS_ID_REG); > > azalia_configure_pci(sc); > - > - /* disable MSI, use INTx instead */ > - if (PCI_VENDOR(sc->pciid) == PCI_VENDOR_INTEL) { > - reg = azalia_pci_read(sc->pc, sc->tag, ICH_PCI_MMC); > - reg &= ~(ICH_PCI_MMC_ME); > - azalia_pci_write(sc->pc, sc->tag, ICH_PCI_MMC, reg); > - } > > /* interrupt */ > if (pci_intr_map_msi(pa, &ih) && pci_intr_map(pa, &ih)) { > > -- > This message has been scanned for viruses and > dangerous content by MailScanner, and is > believed to be clean.