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
Ben Skeggs
b0216803e3
drm/nouveau/bios/tu106: initial support
...
No real surprised here so far.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:56 +10:00
Ben Skeggs
a39cb42a75
drm/nouveau/pci/tu106: initial support
...
Appears to be compatible with GP100.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:56 +10:00
Ben Skeggs
2cc0d7c0f7
drm/nouveau/core: recognise TU106
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:56 +10:00
Ben Skeggs
2d583ade74
drm/nouveau/core: increase maximum number of nvdec instances to 3
...
RTX2070 appears to have 3 copies of the engine.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:55 +10:00
Ben Skeggs
563737c525
drm/nouveau/kms/tu104: initial support
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:55 +10:00
Ben Skeggs
c36322d23d
drm/nouveau/ce/tu104: initial support
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:55 +10:00
Ben Skeggs
641d0b3056
drm/nouveau/fifo/tu104: initial support
...
Various different bits and pieces vs GV100.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:55 +10:00
Ben Skeggs
114b6556db
drm/nouveau/disp/tu104: initial support
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:54 +10:00
Ben Skeggs
aff70760be
drm/nouveau/dma/tu104: initial support
...
Appears to be compatible with GV100.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:54 +10:00
Ben Skeggs
5a991efdfa
drm/nouveau/therm/tu104: initial support
...
Appears to be compatible with GP100.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:54 +10:00
Ben Skeggs
e7e0e946bb
drm/nouveau/pmu/tu104: initial support
...
Appears to be compatible with GP102.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:54 +10:00
Ben Skeggs
17fb2807c6
drm/nouveau/fault/tu104: initial support
...
New registers.
Currently uncertain how exactly to mask fault buffer interrupts. This will
likely be corrected at around the same time as the new MC interrupt stuff
has been properly figured out and implemented.
For the moment, it shouldn't matter too much.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:54 +10:00
Ben Skeggs
838efaa574
drm/nouveau/bar/tu104: initial support
...
New registers.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:53 +10:00
Ben Skeggs
7986f813c6
drm/nouveau/mmu/tu104: initial support
...
New flush method.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:53 +10:00
Ben Skeggs
01e0930617
drm/nouveau/ltc/tu104: initial support
...
Appears to be compatible with GP102.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:53 +10:00
Ben Skeggs
5386148b31
drm/nouveau/fb/tu104: initial support
...
Appears to be compatible with GV100.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:53 +10:00
Ben Skeggs
c44349b054
drm/nouveau/imem/tu104: initial support
...
Appears to be compatible with NV50.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:52 +10:00
Ben Skeggs
ead5bf1e3c
drm/nouveau/tmr/tu104: initial support
...
Appears to be compatible with GK20A.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:52 +10:00
Ben Skeggs
75ad1b0020
drm/nouveau/bus/tu104: initial support
...
Appears to be compatible with GF100.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:52 +10:00
Ben Skeggs
f2e55b9ea9
drm/nouveau/mc/tu104: initial support
...
Things are a bit different here on Turing, and will require further changes
yet once I've investigated them more thoroughly.
For now though, the existing GP100 code is compatible enough with one small
hack to forward on fault buffer interrupts.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:52 +10:00
Ben Skeggs
575d583ab6
drm/nouveau/fuse/tu104: initial support
...
Appears to be compatible with GM107.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:51 +10:00
Ben Skeggs
298fd472ea
drm/nouveau/i2c/tu104: initial support
...
Appears to be compatible with GM200.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:51 +10:00
Ben Skeggs
3273483c32
drm/nouveau/gpio/tu104: initial support
...
Appears to be compatible with GK104.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:51 +10:00
Ben Skeggs
ba9070d3ec
drm/nouveau/ibus/tu104: initial support
...
Appears to be compatible with GM200.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:51 +10:00
Ben Skeggs
67e5abb78d
drm/nouveau/top/tu104: initial support
...
Appears to be compatible with GK104.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:50 +10:00
Ben Skeggs
43d61cda30
drm/nouveau/devinit/tu104: initial support
...
The GPU executes DEVINIT itself now, which makes our lives a bit easier.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:50 +10:00
Ben Skeggs
acbe55a5d4
drm/nouveau/bios/tu104: initial support
...
No real surprises here so far.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:50 +10:00
Ben Skeggs
2d7ca8cb19
drm/nouveau/pci/tu104: initial support
...
Appears to be compatible with GP100.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:50 +10:00
Ben Skeggs
344d9c8f35
drm/nouveau/core: recognise TU104
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:50 +10:00
Ben Skeggs
cb55cd0c66
drm/nouveau/kms/nv50-: allow more flexibility with lut formats
...
Will be required for Turing.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:49 +10:00
Ben Skeggs
5949dd8ee2
drm/nouveau: remove left-over struct member
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:49 +10:00
Ben Skeggs
9d24907ccf
drm/nouveau/fifo/gv100: return work submission token in channel ctor args
...
The token will also contain runlist ID on Turing, so instead expose it as
an opaque value from NVKM so the client doesn't need to care.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:49 +10:00
Ben Skeggs
a98a3c52f8
drm/nouveau/fifo/gv100: allocate method buffer
...
The GPU saves off some stuff to the address specified in this part of RAMFC
when the channel faults, so we should probably point it at a valid address.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:49 +10:00
Ben Skeggs
f7cc47e436
drm/nouveau/fifo/gm200-: read pbdma count more directly
...
The trick we used (and still use for older GPUs) doesn't work on Turing.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:48 +10:00
Ben Skeggs
f37a302e67
drm/nouveau/fifo/gk104-: virtualise pbdma enable function
...
Turing will require different code.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:48 +10:00
Ben Skeggs
fb80ad15f8
drm/nouveau/fifo/gk104-: group pbdma functions together
...
We're about to be adding more of them.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:48 +10:00
Ben Skeggs
efa44c664f
drm/nouveau/fifo/gk104-: separate runlist building from committing to hw
...
We will need to bash different registers on Turing.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:48 +10:00
Ben Skeggs
85532bd984
drm/nouveau/fifo/gk104-: support enabling privileged ce functions
...
Will be used by SVM code to allow direct (without going through MMU) memcpy
using the GPU copy engines.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:47 +10:00
Ben Skeggs
86b442d74c
drm/nouveau/fifo/gk104-: return channel instance in ctor args
...
Will be used to match fault buffer entries with a channel.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:47 +10:00
Ben Skeggs
302daab1a7
drm/nouveau/fifo/gf100-: call into BAR to reset BARs after MMU fault
...
This is needed for Turing, but we're supposed to wait for completion after
re-writing the value on older GPUs anyway.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:47 +10:00
Ben Skeggs
03da9faae1
drm/nouveau/disp/gv100: fix name of window channels in debug output
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:47 +10:00
Ben Skeggs
729eba3355
drm/nouveau/mmu: add more general vmm free/node handling functions
...
Aside from being a nice cleanup, these will to allow the upcoming direct
page mapping interfaces to play nicely with normal mappings.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:46 +10:00
Ben Skeggs
3968d6920b
drm/nouveau/fault: add explicit control over fault buffer interrupts
...
The GPU will continually fire interrupts while a fault buffer GET != PUT,
and to stop the spurious interrupts while the handler does its thing, we
were disabling the fault buffer temporarily.
This is not actually a great idea to begin with, and made worse by Volta
resetting GET/PUT when it's reactivated. So, let's not do that.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:46 +10:00
Ben Skeggs
809724560f
drm/nouveau/fault: store get/put pri address in nvkm_fault_buffer
...
Will allow more shared fault buffer handling code between Pascal/Volta.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:46 +10:00
Ben Skeggs
4d326469d9
drm/nouveau/fault: remove manual mapping of fault buffers into BAR2
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2018-12-11 15:37:46 +10:00