Ben Skeggs
13e9572906
drm/nouveau/fault/gp100: expose MaxwellFaultBufferA
...
This nvclass exposes the replayable fault buffer, which will be used
by SVM to manage GPU page faults.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2019-02-20 09:00:00 +10:00
Ben Skeggs
ae5ea7f6a8
drm/nouveau/gr/gf100-: expose method to determine current context
...
MMU will need access to this info.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2019-02-20 09:00:00 +10:00
Ben Skeggs
169f30b35d
drm/nouveau/gr/gf100-: expose fecs methods for pausing ctxsw
...
MMU will need access to these.
v2. Apply fix from Rhys Kidd to send correct FECS method for STOP_CTXSW.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2019-02-20 09:00:00 +10:00
Ben Skeggs
8e44b987e8
drm/nouveau/gr/gf100-: store fecs/gpccs falcon pointers in substructures
...
Future changes will want to add some additional things here, keep them
grouped together.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2019-02-20 09:00:00 +10:00
Ben Skeggs
b7f713b8d3
drm/nouveau/gr/gf100-: move fecs bind_pointer into a function
...
Makes the code somewhat less magic.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2019-02-20 09:00:00 +10:00
Ben Skeggs
8c7db76844
drm/nouveau/gr/gf100-: remove some unnecessary reg writes
...
This is already done during golden context creation.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2019-02-20 09:00:00 +10:00
Ben Skeggs
7d51bc85d7
drm/nouveau/gr/gf100-: move fecs elpg setup into functions
...
Makes the code somewhat less magic.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2019-02-20 09:00:00 +10:00
Ben Skeggs
8bf2d348bd
drm/nouveau/gr/gf100-: move fecs discover_pm_image_size into a function
...
Makes the code somewhat less magic.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2019-02-20 09:00:00 +10:00
Ben Skeggs
7d3f06881d
drm/nouveau/gr/gf100-: move fecs discover_zcull_image_size into a function
...
Makes the code somewhat less magic.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2019-02-20 08:59:59 +10:00
Ben Skeggs
0b89ca0dc3
drm/nouveau/gr/gf100-: move fecs discover_image_size into a function
...
Makes the code somewhat less magic.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2019-02-20 08:59:59 +10:00
Ben Skeggs
eb383e629c
drm/nouveau/gr/gf100-: move fecs set_watchdog_timeout method into a function
...
Makes the code somewhat less magic.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2019-02-20 08:59:59 +10:00
Ben Skeggs
a8ce8b65e1
drm/nouveau/disp/gf119-: decode exception reason to human-readable string
...
We also change the error strings to match NVIDIA's naming.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2019-02-20 08:59:59 +10:00
Ben Skeggs
8d2c1e3376
drm/nouveau/sec2/tu102-: instantiate SEC2 falcon
...
Required for ACR.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2019-02-20 08:59:59 +10:00
Ben Skeggs
fdad518362
drm/nouveau/sec2: utilise engine PRI address from TOP
...
Turing has its SEC2 instance in an alternate location, and this avoids
needing to duplicate the code here for it.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2019-02-20 08:59:59 +10:00
Ben Skeggs
1a34693490
drm/nouveau/nvdec/tu102-: instantiate NVDEC0 falcon
...
Required to run VPR scrubber binary as part of secboot.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2019-02-20 08:59:58 +10:00
Ben Skeggs
0457427350
drm/nouveau/nvdec/gp102-: utilise engine PRI address from TOP
...
Turing has its NVDEC instances in an alternate location.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2019-02-20 08:59:58 +10:00
Ben Skeggs
2944b19b5c
drm/nouveau/gsp/gv100-: instantiate GSP falcon
...
We need this for Turing ACR, but it's present from Volta onwards.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2019-02-20 08:59:58 +10:00
Ben Skeggs
78cdadb840
drm/nouveau/core: define GSP subdev
...
Exact meaning of the acronym is unknown, but we need this for Turing ACR.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2019-02-20 08:59:58 +10:00
Ben Skeggs
b6c8285476
drm/nouveau/ce/tu102: rename implementation from tu104
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2019-02-20 08:59:58 +10:00
Ben Skeggs
f10271ffda
drm/nouveau/fifo/tu102: rename implementation from tu104
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2019-02-20 08:59:58 +10:00
Ben Skeggs
8603774233
drm/nouveau/disp/tu102: rename implementation from tu104
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2019-02-20 08:59:58 +10:00
Ben Skeggs
954f97983c
drm/nouveau/fault/tu102: rename implementation from tu104
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2019-02-20 08:59:58 +10:00
Ben Skeggs
ef7664d9df
drm/nouveau/bar/tu102: rename implementation from tu104
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2019-02-20 08:59:57 +10:00
Ben Skeggs
c011b25421
drm/nouveau/mmu/tu102: rename implementation from tu104
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2019-02-20 08:59:57 +10:00
Ben Skeggs
fd95bfbdb9
drm/nouveau/mc/tu102: rename implementation from tu104
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2019-02-20 08:59:57 +10:00
Ben Skeggs
b51f9dfac7
drm/nouveau/devinit/tu102: rename implementation from tu104
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2019-02-20 08:59:57 +10:00
Ilia Mirkin
fc78224274
drm/nouveau/volt/gf117: fix speedo readout register
...
GF117 appears to use the same register as GK104 (but still with the
general Fermi readout mechanism).
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108980
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2019-02-20 08:59:57 +10:00
Ben Skeggs
7ebec5f431
drm/nouveau/core: recognise TU102
...
Would usually do this split-out, verifying each component indivitually, but
this has been squashed together to be more palatable for merging in 5.0-rc.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2019-01-18 14:18:08 +10:00
Ilia Mirkin
a5176a4cb8
drm/nouveau/falcon: avoid touching registers if engine is off
...
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108980
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2019-01-11 16:25:54 +10:00
Ben Skeggs
8ff01abccc
drm/nouveau/ce/tu106: initial support
...
Appears to be compatible with TU104.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:38:01 +10:00
Ben Skeggs
1b2a5aff35
drm/nouveau/fifo/tu106: initial support
...
Appears to be compatible with TU104.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:38:01 +10:00
Ben Skeggs
7f7bc32e23
drm/nouveau/disp/tu106: initial support
...
Appears to be compatible with TU104.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:38:01 +10:00
Ben Skeggs
1a38496cdd
drm/nouveau/dma/tu106: initial support
...
Appears to be compatible with GV100.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:38:00 +10:00
Ben Skeggs
bb1e3ff701
drm/nouveau/therm/tu106: initial support
...
Appears to be compatible with GP100.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:38:00 +10:00
Ben Skeggs
25a46a4a95
drm/nouveau/pmu/tu106: initial support
...
Appears to be compatible with GP102.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:38:00 +10:00
Ben Skeggs
f5459f34f5
drm/nouveau/fault/tu106: initial support
...
Appears to be compatible with TU104.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:38:00 +10:00
Ben Skeggs
340e96a7c3
drm/nouveau/bar/tu106: initial support
...
Appears to be compatible with TU104.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:59 +10:00
Ben Skeggs
70ec09080d
drm/nouveau/mmu/tu106: initial support
...
Appears to be compatible with TU104.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:59 +10:00
Ben Skeggs
13f91e8e5a
drm/nouveau/ltc/tu106: initial support
...
Appears to be compatible with GP102.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:59 +10:00
Ben Skeggs
cfcfb6d0a3
drm/nouveau/fb/tu106: initial support
...
Appears to be compatible with GV100.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:59 +10:00
Ben Skeggs
75794c4124
drm/nouveau/imem/tu106: initial support
...
Appears to be compatible with NV50.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:59 +10:00
Ben Skeggs
2fedee302d
drm/nouveau/tmr/tu106: initial support
...
Appears to be compatible with GK20A.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:58 +10:00
Ben Skeggs
25e6a89076
drm/nouveau/bus/tu106: initial support
...
Appears to be compatible with GF100.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:58 +10:00
Ben Skeggs
476740843b
drm/nouveau/mc/tu106: initial support
...
Appears to be compatible with TU104.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:58 +10:00
Ben Skeggs
6a9207ecf5
drm/nouveau/fuse/tu106: initial support
...
Appears to be compatible with GM107.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:58 +10:00
Ben Skeggs
52c887539d
drm/nouveau/i2c/tu106: initial support
...
Appears to be compatible with GM200.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:57 +10:00
Ben Skeggs
1b0a475482
drm/nouveau/gpio/tu106: initial support
...
Appears to be compatible with GK104.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:57 +10:00
Ben Skeggs
8d12c4846d
drm/nouveau/ibus/tu106: initial support
...
Appears to be compatible with GM200.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:57 +10:00
Ben Skeggs
73010b8e2b
drm/nouveau/top/tu106: initial support
...
Appears to be compatible with GK104.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:57 +10:00
Ben Skeggs
9d7693fe07
drm/nouveau/devinit/tu106: initial support
...
Appears to be compatible with TU104.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:56 +10:00