From: Robert Morell <rmorell-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
To: Lucas Stach <dev-8ppwABl0HbeELgA04lAiVw@public.gmane.org>
Cc: "nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org"
<nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org>,
gpu-public-documentation
<gpu-public-documentation-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Subject: Re: known MSI errata?
Date: Thu, 24 Oct 2013 14:43:13 -0700 [thread overview]
Message-ID: <20131024214313.GF19847@morell.nvidia.com> (raw)
In-Reply-To: <1380563052.1686.6.camel@tellur>
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.) It seems that this was done to
avoid a hardware bug that may cause the EOI write to be dropped, blocking
all further interrupts from being serviced.
- For GF100 and GF104, an alternate MSI EOI/rearm mechanism is used: instead
of writing to the MSI rearm register at offset 0x68 in the pcicfg window,
we write to offset 0x704.
I hope this information helps.
- Robert
next prev parent reply other threads:[~2013-10-24 21:43 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-30 17:44 known MSI errata? Lucas Stach
2013-10-24 21:43 ` Robert Morell [this message]
[not found] ` <20131024214313.GF19847-f3YH7lVHJt/FT5IIyIEb6QC/G2K4zDHf@public.gmane.org>
2013-10-24 23:03 ` Ben Skeggs
[not found] ` <CACAvsv68wpsWwJgTpMfYGRVNB4-qQv-v5zPX3Zv=kevtkzLYKg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-10-24 23:10 ` Robert Morell
[not found] ` <20131024231056.GL19847-f3YH7lVHJt/FT5IIyIEb6QC/G2K4zDHf@public.gmane.org>
2013-10-24 23:26 ` Ben Skeggs
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20131024214313.GF19847@morell.nvidia.com \
--to=rmorell-ddmlm1+adcrqt0dzr+alfa@public.gmane.org \
--cc=dev-8ppwABl0HbeELgA04lAiVw@public.gmane.org \
--cc=gpu-public-documentation-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
--cc=nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.