On Fri, Sep 28, 2012 at 12:07:31AM -0400, Brad Smith wrote:
> On Fri, Sep 28, 2012 at 04:06:32AM +0200, Mark Kettenis wrote:
> > > 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.
> 
> I had 6 people reply off list indicating their Intel azalia controllers
> didn't seem to have any regressions with the previous diff applied.
> 
> Can you expand upon this and explain what you mean. What are these
> conditions? It would be nice to mention what those conditions are
> within the comment.
> 
> > 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.
> 
> Since MSI is being disabled for the Intel azalia controller and the
> datasheet does confirm that is what this code is doing shouldn't
> we be telling the PCI layer MSI is disabled too like so? It doesn't
> make sense to have MSI disabled for the controller and then the
> PCI layer still thinking MSI should be used.

ping.

> Index: azalia.c
> ===================================================================
> RCS file: /home/cvs/src/sys/dev/pci/azalia.c,v
> retrieving revision 1.201
> diff -u -p -r1.201 azalia.c
> --- azalia.c  12 Aug 2012 19:32:22 -0000      1.201
> +++ azalia.c  28 Sep 2012 02:17:31 -0000
> @@ -515,6 +515,7 @@ azalia_pci_attach(struct device *parent,
>  
>       /* disable MSI, use INTx instead */
>       if (PCI_VENDOR(sc->pciid) == PCI_VENDOR_INTEL) {
> +             pa->pa_flags &= ~PCI_FLAGS_MSI_ENABLED;
>               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);

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

Reply via email to