Ben Skeggs
ff9f29abf0
drm/nouveau/fifo/gf100-: provide notification to user if channel is killed
...
There are instances (such as non-recoverable GPU page faults) where
NVKM decides that a channel's context is no longer viable, and will
be removed from the runlist.
This commit notifies the owner of the channel when this happens, so
it has the opportunity to take some kind of recovery action instead
of hanging.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2017-02-17 17:38:08 +10:00
Ben Skeggs
d2ee360564
drm/nouveau/core/memory: distinguish between coherent/non-coherent targets
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2017-02-17 15:15:01 +10:00
Ben Skeggs
ec884f74f1
drm/nouveau/fifo/gf100-: recover from host mmu faults
...
This has been on the TODO list for a while now, recovering from things
such as attempting to execute a push buffer or touch a semaphore in an
unmapped memory area.
The only thing required on the HW side here is that the offending
channel is removed from the runlist, and *not* a full reset of PFIFO.
This used to be a bit messier to handle before the rework to make use
of engine topology info, but is apparently now trivial.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-12-13 11:38:51 +10:00
Ben Skeggs
1015d81122
drm/nouveau/fifo/gf100: fix certain engines not being recovered after a fault
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-03-14 10:13:38 +10:00
Ben Skeggs
f22d7d45fa
drm/nouveau/fifo/gf100: don't attempt recovery of unknown mmu engines
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-03-14 10:13:38 +10:00
Ben Skeggs
792662439c
drm/nouveau/fifo/gf100: identify fault-recovery members more clearly
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-03-14 10:13:38 +10:00
Ben Skeggs
adbe24a21e
drm/nouveau/fifo/gf100: rename spooon to pbdma, and move detection to oneinit
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-03-14 10:13:37 +10:00
Alexandre Courbot
c694ecad9d
drm/nouveau/fifo/gf100: take runlist target into account
...
Bits 28:29 of RUNLIST_BASE specify the memory target of the runlist. Set
it to 0x3 (SYS_MEM_NONCOHERENT) if the runlist object resides in system
memory.
Signed-off-by: Alexandre Courbot <acourbot@nvidia.com >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-03-14 10:13:30 +10:00
Ben Skeggs
9402aec544
drm/nouveau/fifo/gf100: remove references to "daemon"
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-01-11 11:28:23 +10:00
Ben Skeggs
d40d0fd487
drm/nouveau/fifo/gf100: fix race condition when updating engine runlists
...
Similar in spirit to the gk104 fix with a similar title.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-01-11 11:17:40 +10:00
Ben Skeggs
fbd58ebda9
drm/nouveau/object: merge with handle
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:47 +10:00
Ben Skeggs
68f3f702b6
drm/nouveau/core: remove the remainder of the previous style
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:47 +10:00
Ben Skeggs
13de7f4629
drm/nouveau/fifo: convert to new-style nvkm_engine
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:46 +10:00
Ben Skeggs
3293228174
drm/nouveau/bar: convert to new-style nvkm_subdev
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:42 +10:00
Ben Skeggs
8f0649b5c6
drm/nouveau/fifo: convert user classes to new-style nvkm_object
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:40 +10:00
Ben Skeggs
9a65a38c45
drm/nouveau/fifo: split user classes out from engine implementations
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:40 +10:00
Ben Skeggs
6157091177
drm/nouveau/sw: remove dependence on namedb/engctx lookup
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:39 +10:00
Ben Skeggs
6ca307b0c9
drm/nouveau/fifo: remove dependence on namedb/engctx lookup
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:38 +10:00
Ben Skeggs
344c2d429d
drm/nouveau/fb: remove dependence on namedb/engctx lookup
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:38 +10:00
Ben Skeggs
f027f49166
drm/nouveau/gpuobj: separate allocation from nvkm_object
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:37 +10:00
Ben Skeggs
358ce601ae
drm/nouveau/fifo: directly use instmem for runlists and polling areas
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:37 +10:00
Ben Skeggs
d8e83994aa
drm/nouveau/imem: improve management of instance memory
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:36 +10:00
Ben Skeggs
6cf813fb26
drm/nouveau/device: prepare for new-style subdevs
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:35 +10:00
Ben Skeggs
f0290215c4
drm/nouveau/subdev: implement support for new-style nvkm_subdev
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:34 +10:00
Ben Skeggs
cbea21e2ab
drm/nouveau/object: implement support for new-style nvkm_object
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:34 +10:00
Ben Skeggs
159045cdc4
drm/nouveau/nvif: replace pushbuf with vm in fermi/kepler gpfifo class args
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:33 +10:00
Ben Skeggs
f58ddf9581
drm/nouveau/nvif: assign internal class identifiers to sw classes
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:32 +10:00
Ben Skeggs
bf81df9be2
drm/nouveau/nvif: replace path-based object identification
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:32 +10:00
Ben Skeggs
5444e770e3
drm/nouveau/fifo: switch to gpuobj accessor macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:28 +10:00
Ben Skeggs
5300394106
drm/nouveau/core: remove last printks
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:26 +10:00
Ben Skeggs
e5c5e4f5d3
drm/nouveau/fifo: switch to subdev printk macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:25 +10:00
Ben Skeggs
af3082b3c6
drm/nouveau/fifo: switch to new-style timer macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:21 +10:00
Ben Skeggs
8774440390
drm/nouveau/fifo: switch to device pri macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:17 +10:00
Ben Skeggs
6189f1b093
drm/nouveau/fifo: cosmetic changes
...
This is purely preparation for upcoming commits, there should be no
code changes here.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:11 +10:00
Ben Skeggs
05c7145dae
drm/nouveau/fifo: namespace + nvidia gpu names (no binary change)
...
The namespace of NVKM is being changed to nvkm_ instead of nouveau_,
which will be used for the DRM part of the driver. This is being
done in order to make it very clear as to what part of the driver a
given symbol belongs to, and as a minor step towards splitting the
DRM driver out to be able to stand on its own (for virt).
Because there's already a large amount of churn here anyway, this is
as good a time as any to also switch to NVIDIA's device and chipset
naming to ease collaboration with them.
A comparison of objdump disassemblies proves no code changes.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-01-22 12:18:02 +10:00