Ben Skeggs
e15b682aad
drm/nouveau/core: initial support for boards with TU117 chipset
...
Modesetting only, still waiting on ACR/GR firmware from NVIDIA for Turing
graphics/compute bring-up.
Each subsystem was compared with traces, along with various tests to check
that things generally work as they should, and appears compatible enough
with the current TU106 code to enable support.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2019-05-14 16:58:06 +10:00
Ben Skeggs
a2ac09a03d
drm/nouveau/core: allow detected chipset to be overridden
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2019-05-14 16:58:06 +10:00
Gustavo A. R. Silva
322b38ce3d
drm/nouveau/nvkm: mark expected switch fall-throughs
...
In preparation to enabling -Wimplicit-fallthrough, mark switch cases
where we are expecting to fall through.
This patch aims to suppress 29 missing-break-in-switch false positives.
Addresses-Coverity-ID: 1456891 ("Missing break in switch")
Addresses-Coverity-ID: 1324063 ("Missing break in switch")
Addresses-Coverity-ID: 1324063 ("Missing break in switch")
Addresses-Coverity-ID: 141432 ("Missing break in switch")
Addresses-Coverity-ID: 141433 ("Missing break in switch")
Addresses-Coverity-ID: 141434 ("Missing break in switch")
Addresses-Coverity-ID: 141435 ("Missing break in switch")
Addresses-Coverity-ID: 141436 ("Missing break in switch")
Reviewed-by: Kees Cook <keescook@chromium.org >
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com >
2019-04-10 10:07:29 -05:00
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