[Nouveau] known MSI errata?

Robert Morell rmorell at nvidia.com
Thu Oct 24 16:10:56 PDT 2013


On Thu, Oct 24, 2013 at 04:03:12PM -0700, Ben Skeggs wrote:
> On Fri, Oct 25, 2013 at 7:43 AM, Robert Morell <rmorell at nvidia.com> wrote:
> > On Mon, Sep 30, 2013 at 10:44:12AM -0700, Lucas Stach wrote:
> >> Hi,
> >>
> >> recently we tried to enable MSI interrupts with nouveau. Unfortunately
> >> there have been some reports of things failing with certain cards, where
> >> it isn't entirely clear if this is a GPU errata or some other component
> >> in the PCIe chain failing.
> >>
> >> Could you perhaps investigate if there are any known Nvidia GPU erratas
> >> with regard to MSI interrupts, or maybe tell us the generations of cards
> >> that are generally safe to enable MSIs with?
> >
> > Sorry for the slow reply, Lucas.
> >
> > We enabled MSI interrupts by default relatively recently in the proprietary
> > driver (version 325.08, released 2013-07-01 according to our public
> > changelog).  This was enabled across the board for all of the GPUs supported
> > by the latest release series, so NV50 and up.  We believe it should be safe to
> > enable MSI on those GPUs.  We never enabled MSI by default on earlier GPUs so
> > I can't comment there.
> >
> > I investigated our internal documentation and source code, and found a couple
> > of things that are probably interesting to you:
> > - For all pre-Fermi GPUs, we use a write through PCI config space to the "EOI"
> >   register to rearm the MSI interrupt after servicing it, rather than a write
> >   through the MMIO pcicfg shadow region in the GPU's PCI BAR0 window at offset
> >   0x88000.  (This was actually originally implemented for NV4x, so you'll
> >   probably want to do that there as well.)
> Hm, I recently discovered this while looking for the errata myself,
> but it seems you guys only do it on G80/G84/G86, and use 0x88068 at
> some point after that, before Fermi (G96/GT200, for example).

Yes, you're right; I was reading this wrong.  The config space path
described above is used on G8x and G92.  Newer GPUs (other than GF100
and GF104 as mentioned previously) use the "normal" path.

- Robert


More information about the Nouveau mailing list