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
936a1678f3
drm/nouveau/core: support multiple nvdec instances
...
Turing GPUs can have more than one.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2018-12-11 15:37:44 +10:00
Thierry Reding
b59fb482b5
drm/nouveau: tegra: Detach from ARM DMA/IOMMU mapping
...
Depending on the kernel configuration, early ARM architecture setup code
may have attached the GPU to a DMA/IOMMU mapping that transparently uses
the IOMMU to back the DMA API. Tegra requires special handling for IOMMU
backed buffers (a special bit in the GPU's MMU page tables indicates the
memory path to take: via the SMMU or directly to the memory controller).
Transparently backing DMA memory with an IOMMU prevents Nouveau from
properly handling such memory accesses and causes memory access faults.
As a side-note: buffers other than those allocated in instance memory
don't need to be physically contiguous from the GPU's perspective since
the GPU can map them into contiguous buffers using its own MMU. Mapping
these buffers through the IOMMU is unnecessary and will even lead to
performance degradation because of the additional translation. One
exception to this are compressible buffers which need large pages. In
order to enable these large pages, multiple small pages will have to be
combined into one large (I/O virtually contiguous) mapping via the
IOMMU. However, that is a topic outside the scope of this fix and isn't
currently supported. An implementation will want to explicitly create
these large pages in the Nouveau driver, so detaching from a DMA/IOMMU
mapping would still be required.
Signed-off-by: Thierry Reding <treding@nvidia.com >
Acked-by: Christoph Hellwig <hch@lst.de >
Reviewed-by: Robin Murphy <robin.murphy@arm.com >
Tested-by: Nicolas Chauvet <kwizart@gmail.com >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2018-07-16 18:06:36 +10:00
Ben Skeggs
d521097f58
drm/nouveau/gr/gv100: initial support
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2018-05-18 15:01:47 +10:00
Ben Skeggs
6e1f34e33c
drm/nouveau/ce/gv100: initial support
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2018-05-18 15:01:46 +10:00
Ben Skeggs
37e1c45a58
drm/nouveau/fifo/gv100: initial support
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2018-05-18 15:01:46 +10:00
Ben Skeggs
290ffeafcc
drm/nouveau/disp/gv100: initial support
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2018-05-18 15:01:43 +10:00
Ben Skeggs
6fb566b913
drm/nouveau/dma/gv100: initial support
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2018-05-18 15:01:39 +10:00
Ben Skeggs
24a7513c10
drm/nouveau/therm/gv100: initial support
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2018-05-18 15:01:39 +10:00
Ben Skeggs
ada0c56281
drm/nouveau/pmu/gv100: initial support
...
Appears to be compatible with GP102.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2018-05-18 15:01:39 +10:00
Ben Skeggs
8b811951c6
drm/nouveau/fault/gv100: initial support
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2018-05-18 15:01:38 +10:00
Ben Skeggs
013b7b3773
drm/nouveau/bar/gv100: initial support
...
Appears to be compatible with GM107.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2018-05-18 15:01:38 +10:00
Ben Skeggs
edf50395c7
drm/nouveau/mmu/gv100: initial support
...
VEID support hacked in here, as it's the most convenient place for now.
Will be refined once it's better understood.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2018-05-18 15:01:38 +10:00
Ben Skeggs
1bce57250a
drm/nouveau/ltc/gv100: initial support
...
Appears to be compatible with GP102.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2018-05-18 15:01:38 +10:00
Ben Skeggs
3582942c28
drm/nouveau/fb/gv100: initial support
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2018-05-18 15:01:34 +10:00
Ben Skeggs
a4a0cfb642
drm/nouveau/imem/gv100: initial support
...
Can't imagine this will be any different.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2018-05-18 15:01:34 +10:00
Ben Skeggs
936240c9bb
drm/nouveau/tmr/gv100: initial support
...
Appears to be compatible with GK20A.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2018-05-18 15:01:34 +10:00
Ben Skeggs
9506bd2407
drm/nouveau/bus/gv100: initial support
...
Appears to be compatible with GF100.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2018-05-18 15:01:34 +10:00
Ben Skeggs
41af75bd35
drm/nouveau/mc/gv100: initial support
...
Appears to be compatible with GP100.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2018-05-18 15:01:34 +10:00
Ben Skeggs
292550499a
drm/nouveau/fuse/gv100: initial support
...
Appears to be compatible with GM107.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2018-05-18 15:01:34 +10:00
Ben Skeggs
d2e3b57d81
drm/nouveau/i2c/gv100: initial support
...
Appears to be compatible with GM200.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2018-05-18 15:01:34 +10:00
Ben Skeggs
8afbcca549
drm/nouveau/gpio/gv100: initial support
...
Appears to be compatible with GK104.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2018-05-18 15:01:34 +10:00
Ben Skeggs
46fe1a813a
drm/nouveau/ibus/gv100: initial support
...
Appears to be compatible with GM200.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2018-05-18 15:01:34 +10:00
Ben Skeggs
a1c771a5cb
drm/nouveau/top/gv100: initial support
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2018-05-18 15:01:34 +10:00
Ben Skeggs
8769dc989c
drm/nouveau/devinit/gv100: initial support
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2018-05-18 15:01:31 +10:00
Ben Skeggs
75e482efd3
drm/nouveau/bios/gv100: initial support
...
No real surprises here so far.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2018-05-18 15:01:31 +10:00
Ben Skeggs
893855d821
drm/nouveau/pci/gv100: initial support
...
Appears to be compatible with GP100.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2018-05-18 15:01:31 +10:00
Ben Skeggs
c1f856bb99
drm/nouveau/core: recognise gv100
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2018-05-18 15:01:31 +10:00
Ben Skeggs
890c85f3ee
drm/nouveau/core: increase maximum number of copy engines to 9
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2018-05-18 15:01:31 +10:00
Ben Skeggs
4b2c71edf0
drm/nouveau/gr/gp102-: setup stencil zbc
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2018-05-18 15:01:26 +10:00
Ben Skeggs
a5537f980e
drm/nouveau/gr/gf100-: update r408840 where required
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2018-05-18 15:01:25 +10:00
Ben Skeggs
eb47db4f3b
drm/nouveau/fifo: support channel count query
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2018-05-18 15:01:21 +10:00