diff options
author | Martin Peres <martin.peres@labri.fr> | 2012-11-04 01:01:53 +0100 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2013-02-20 15:55:22 +1000 |
commit | 2a8f63caf3e4f96132812e02ac6200d6e33ecc44 (patch) | |
tree | e8aae3607502bb8a6379bafc619759cfc00d9e11 /configure.ac | |
parent | e36d66c5a13ce68293708a8515ea69b9154ffa0c (diff) | |
download | nouveau-2a8f63caf3e4f96132812e02ac6200d6e33ecc44.tar.gz |
pbus: add a PBUS subdev that hands IRQs to the right subdevs
We are going to use PTHERM's IRQs for thermal monitoring but we need to route
them first.
On nv31-50, PBUS's IRQ line is shared with GPIOs IRQs.
It seems like nv10-31 GPIO interruptions aren't well handled. I kept the
original behaviour but it is wrong and may lead to an IRQ storm.
Since we enable all PBUS IRQs, we need a way to avoid being stormed if we
don't handle them. The solution I used was to mask the IRQs that have not been
handled. This will also print one message in the logs to let us know.
v2: drop the shared intr handler because of was racy
v3: style fixes
v4: drop a useless construct in the chipset-dependent INTR
v5: add BUS to the disable mask
v6 (Ben Skeggs):
- general tidy to match the rest of the driver's style
- nva3->nvc0, nva3 can be serviced just fine with nv50.c, rnndb even notes
that the THERM_ALARM bit got left in the hw until fermi anyway.. so, it's
not going to conflict
- removed the peephole and user stuff, for the moment.. will handle them
later if we find a good reason to actually care..
- limited INTR_EN to just what we can handle for now, mostly to prevent
spam of unknown status bits (seen on at least nv4x)
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Signed-off-by: Martin Peres <martin.peres@labri.fr>
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index b5c59d3a8..0c75e971e 100644 --- a/configure.ac +++ b/configure.ac @@ -70,6 +70,7 @@ AC_OUTPUT( Makefile \ nvkm/subdev/Makefile \ nvkm/subdev/bar/Makefile \ nvkm/subdev/bios/Makefile \ + nvkm/subdev/bus/Makefile \ nvkm/subdev/clock/Makefile \ nvkm/subdev/device/Makefile \ nvkm/subdev/devinit/Makefile \ |