nouveau-next 4.21
Ben Skeggs
skeggsb at gmail.com
Tue Dec 11 07:10:49 UTC 2018
Hey Dave,
Mostly just initial support for Turing TU104/TU106 chipsets. Support
for TU102 is missing as I don't yet have HW, but it should be trivial
to add in later in the merge window (in theory).
It's a bit of a rough first pass that'll get improved in future
releases as a finish figuring out some of the other HW changes, but
it's good enough as it stands for modesetting and suspend/resume etc.
Acceleration bring-up is incomplete due to NVIDIA not yet having
provided FW images for me to use, though command submission and copy
engines are functional already.
Thanks,
Ben.
The following changes since commit e69aa5f9b97f7f871643336deb281db5cb14878b:
Merge tag 'drm-misc-next-2018-12-06' of
git://anongit.freedesktop.org/drm/drm-misc into drm-next (2018-12-07
11:23:05 +1000)
are available in the Git repository at:
git://github.com/skeggsb/linux linux-4.21
for you to fetch changes up to 8ff01abcccbb563fbf50b84a476bd9b22c42c0a3:
drm/nouveau/ce/tu106: initial support (2018-12-11 15:38:01 +1000)
----------------------------------------------------------------
Ben Skeggs (72):
drm/nouveau/core: support multiple nvdec instances
drm/nouveau/bios: translate additional memory types
drm/nouveau/bios: translate USB-C connector type
drm/nouveau/devinit/gm200-: export function to upload+execute PMU/PRE_OS
drm/nouveau/tmr: detect stalled gpu timer and break out of waits
drm/nouveau/imem/nv50: support pinning objects in BAR2 and
returning address
drm/nouveau/fault: remove manual mapping of fault buffers into BAR2
drm/nouveau/fault: store get/put pri address in nvkm_fault_buffer
drm/nouveau/fault: add explicit control over fault buffer interrupts
drm/nouveau/mmu: add more general vmm free/node handling functions
drm/nouveau/disp/gv100: fix name of window channels in debug output
drm/nouveau/fifo/gf100-: call into BAR to reset BARs after MMU fault
drm/nouveau/fifo/gk104-: return channel instance in ctor args
drm/nouveau/fifo/gk104-: support enabling privileged ce functions
drm/nouveau/fifo/gk104-: separate runlist building from committing to hw
drm/nouveau/fifo/gk104-: group pbdma functions together
drm/nouveau/fifo/gk104-: virtualise pbdma enable function
drm/nouveau/fifo/gm200-: read pbdma count more directly
drm/nouveau/fifo/gv100: allocate method buffer
drm/nouveau/fifo/gv100: return work submission token in channel ctor args
drm/nouveau: remove left-over struct member
drm/nouveau/kms/nv50-: allow more flexibility with lut formats
drm/nouveau/core: recognise TU104
drm/nouveau/pci/tu104: initial support
drm/nouveau/bios/tu104: initial support
drm/nouveau/devinit/tu104: initial support
drm/nouveau/top/tu104: initial support
drm/nouveau/ibus/tu104: initial support
drm/nouveau/gpio/tu104: initial support
drm/nouveau/i2c/tu104: initial support
drm/nouveau/fuse/tu104: initial support
drm/nouveau/mc/tu104: initial support
drm/nouveau/bus/tu104: initial support
drm/nouveau/tmr/tu104: initial support
drm/nouveau/imem/tu104: initial support
drm/nouveau/fb/tu104: initial support
drm/nouveau/ltc/tu104: initial support
drm/nouveau/mmu/tu104: initial support
drm/nouveau/bar/tu104: initial support
drm/nouveau/fault/tu104: initial support
drm/nouveau/pmu/tu104: initial support
drm/nouveau/therm/tu104: initial support
drm/nouveau/dma/tu104: initial support
drm/nouveau/disp/tu104: initial support
drm/nouveau/fifo/tu104: initial support
drm/nouveau/ce/tu104: initial support
drm/nouveau/kms/tu104: initial support
drm/nouveau/core: increase maximum number of nvdec instances to 3
drm/nouveau/core: recognise TU106
drm/nouveau/pci/tu106: initial support
drm/nouveau/bios/tu106: initial support
drm/nouveau/devinit/tu106: initial support
drm/nouveau/top/tu106: initial support
drm/nouveau/ibus/tu106: initial support
drm/nouveau/gpio/tu106: initial support
drm/nouveau/i2c/tu106: initial support
drm/nouveau/fuse/tu106: initial support
drm/nouveau/mc/tu106: initial support
drm/nouveau/bus/tu106: initial support
drm/nouveau/tmr/tu106: initial support
drm/nouveau/imem/tu106: initial support
drm/nouveau/fb/tu106: initial support
drm/nouveau/ltc/tu106: initial support
drm/nouveau/mmu/tu106: initial support
drm/nouveau/bar/tu106: initial support
drm/nouveau/fault/tu106: initial support
drm/nouveau/pmu/tu106: initial support
drm/nouveau/therm/tu106: initial support
drm/nouveau/dma/tu106: initial support
drm/nouveau/disp/tu106: initial support
drm/nouveau/fifo/tu106: initial support
drm/nouveau/ce/tu106: initial support
Lyude Paul (4):
drm/nouveau: Add strap_peek to debugfs
drm/nouveau: Add size to vbios.rom file in debugfs
drm/nouveau/drm/nouveau: Check rc from drm_dp_mst_topology_mgr_resume()
drm/nouveau/drm/nouveau: Don't forget to label dp_aux devices
drivers/gpu/drm/nouveau/dispnv04/disp.c | 2 +-
drivers/gpu/drm/nouveau/dispnv50/Kbuild | 3 ++
drivers/gpu/drm/nouveau/dispnv50/atom.h | 7 ++-
drivers/gpu/drm/nouveau/dispnv50/base907c.c | 1 +
drivers/gpu/drm/nouveau/dispnv50/core.c | 1 +
drivers/gpu/drm/nouveau/dispnv50/core.h | 4 ++
drivers/gpu/drm/nouveau/dispnv50/corec37d.c | 4 +-
drivers/gpu/drm/nouveau/dispnv50/corec57d.c | 61
++++++++++++++++++++++++
drivers/gpu/drm/nouveau/dispnv50/curs.c | 1 +
drivers/gpu/drm/nouveau/dispnv50/disp.c | 14 ++++--
drivers/gpu/drm/nouveau/dispnv50/disp.h | 2 +
drivers/gpu/drm/nouveau/dispnv50/head.c | 6 +--
drivers/gpu/drm/nouveau/dispnv50/head.h | 11 +++++
drivers/gpu/drm/nouveau/dispnv50/head507d.c | 19 ++++++++
drivers/gpu/drm/nouveau/dispnv50/head907d.c | 18 +++++++
drivers/gpu/drm/nouveau/dispnv50/headc37d.c | 11 +++--
drivers/gpu/drm/nouveau/dispnv50/headc57d.c | 206
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
drivers/gpu/drm/nouveau/dispnv50/lut.c | 50
+++++++-------------
drivers/gpu/drm/nouveau/dispnv50/lut.h | 5 +-
drivers/gpu/drm/nouveau/dispnv50/wimm.c | 1 +
drivers/gpu/drm/nouveau/dispnv50/wndw.c | 12 +++--
drivers/gpu/drm/nouveau/dispnv50/wndw.h | 18 +++++++
drivers/gpu/drm/nouveau/dispnv50/wndwc37e.c | 21 +++++----
drivers/gpu/drm/nouveau/dispnv50/wndwc57e.c | 133
++++++++++++++++++++++++++++++++++++++++++++++++++++
drivers/gpu/drm/nouveau/include/nvif/cl0080.h | 1 +
drivers/gpu/drm/nouveau/include/nvif/cla06f.h | 3 +-
drivers/gpu/drm/nouveau/include/nvif/class.h | 9 +++-
drivers/gpu/drm/nouveau/include/nvif/clc36f.h | 19 ++++++++
drivers/gpu/drm/nouveau/include/nvkm/core/device.h | 11 +++--
drivers/gpu/drm/nouveau/include/nvkm/core/memory.h | 2 +
drivers/gpu/drm/nouveau/include/nvkm/engine/ce.h | 1 +
drivers/gpu/drm/nouveau/include/nvkm/engine/disp.h | 1 +
drivers/gpu/drm/nouveau/include/nvkm/engine/fifo.h | 1 +
drivers/gpu/drm/nouveau/include/nvkm/subdev/bar.h | 3 ++
drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/M0203.h | 13 ++++--
drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/conn.h | 1 +
drivers/gpu/drm/nouveau/include/nvkm/subdev/devinit.h | 1 +
drivers/gpu/drm/nouveau/include/nvkm/subdev/fault.h | 1 +
drivers/gpu/drm/nouveau/include/nvkm/subdev/fb.h | 5 +-
drivers/gpu/drm/nouveau/include/nvkm/subdev/mc.h | 1 +
drivers/gpu/drm/nouveau/include/nvkm/subdev/mmu.h | 1 +
drivers/gpu/drm/nouveau/include/nvkm/subdev/timer.h | 28 +++++++----
drivers/gpu/drm/nouveau/nouveau_abi16.c | 2 +-
drivers/gpu/drm/nouveau/nouveau_bo.c | 2 +
drivers/gpu/drm/nouveau/nouveau_chan.c | 37 +++++++++++----
drivers/gpu/drm/nouveau/nouveau_chan.h | 5 +-
drivers/gpu/drm/nouveau/nouveau_connector.c | 12 ++++-
drivers/gpu/drm/nouveau/nouveau_connector.h | 3 +-
drivers/gpu/drm/nouveau/nouveau_debugfs.c | 46
++++++++++++++++--
drivers/gpu/drm/nouveau/nouveau_dma.c | 2 +-
drivers/gpu/drm/nouveau/nouveau_drm.c | 8 ++--
drivers/gpu/drm/nouveau/nouveau_vmm.h | 1 -
drivers/gpu/drm/nouveau/nvif/disp.c | 1 +
drivers/gpu/drm/nouveau/nvkm/core/subdev.c | 4 +-
drivers/gpu/drm/nouveau/nvkm/engine/ce/Kbuild | 1 +
drivers/gpu/drm/nouveau/nvkm/engine/ce/tu104.c | 40 ++++++++++++++++
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c | 87
++++++++++++++++++++++++++++++----
drivers/gpu/drm/nouveau/nvkm/engine/device/user.c | 3 +-
drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild | 3 ++
drivers/gpu/drm/nouveau/nvkm/engine/disp/gv100.c | 8 ++--
drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h | 7 +++
drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.h | 5 ++
drivers/gpu/drm/nouveau/nvkm/engine/disp/rootnv50.h | 1 +
drivers/gpu/drm/nouveau/nvkm/engine/disp/roottu104.c | 52
+++++++++++++++++++++
drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgv100.c | 8 ++--
drivers/gpu/drm/nouveau/nvkm/engine/disp/sortu104.c | 97
++++++++++++++++++++++++++++++++++++++
drivers/gpu/drm/nouveau/nvkm/engine/disp/tu104.c | 152
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
drivers/gpu/drm/nouveau/nvkm/engine/disp/wndwgv100.c | 2 +-
drivers/gpu/drm/nouveau/nvkm/engine/fifo/Kbuild | 3 ++
drivers/gpu/drm/nouveau/nvkm/engine/fifo/chan.h | 1 +
drivers/gpu/drm/nouveau/nvkm/engine/fifo/changk104.h | 13 ++++++
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gf100.c | 4 +-
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.c | 90
+++++++++++++++++++++++------------
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.h | 30 ++++++++++--
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk110.c | 2 +
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk208.c | 11 ++++-
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk20a.c | 2 +-
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gm107.c | 3 +-
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gm200.c | 16 ++++++-
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gm20b.c | 2 +-
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gp100.c | 2 +-
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gp10b.c | 2 +-
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifogk104.c | 19 +++++---
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifogv100.c | 72
+++++++++++++++++++---------
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifotu104.c | 83
+++++++++++++++++++++++++++++++++
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gv100.c | 15 +++---
drivers/gpu/drm/nouveau/nvkm/engine/fifo/tu104.c | 116
++++++++++++++++++++++++++++++++++++++++++++++
drivers/gpu/drm/nouveau/nvkm/engine/fifo/user.h | 2 +
drivers/gpu/drm/nouveau/nvkm/engine/fifo/usertu104.c | 45
++++++++++++++++++
drivers/gpu/drm/nouveau/nvkm/falcon/base.c | 2 +-
drivers/gpu/drm/nouveau/nvkm/subdev/bar/Kbuild | 1 +
drivers/gpu/drm/nouveau/nvkm/subdev/bar/base.c | 20 ++++++++
drivers/gpu/drm/nouveau/nvkm/subdev/bar/tu104.c | 98
+++++++++++++++++++++++++++++++++++++++
drivers/gpu/drm/nouveau/nvkm/subdev/devinit/Kbuild | 1 +
drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gm200.c | 14 ++++--
drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv50.h | 1 +
drivers/gpu/drm/nouveau/nvkm/subdev/devinit/tu104.c | 89
+++++++++++++++++++++++++++++++++++
drivers/gpu/drm/nouveau/nvkm/subdev/fault/Kbuild | 1 +
drivers/gpu/drm/nouveau/nvkm/subdev/fault/base.c | 21 ++++-----
drivers/gpu/drm/nouveau/nvkm/subdev/fault/gp100.c | 24 +++++++---
drivers/gpu/drm/nouveau/nvkm/subdev/fault/gv100.c | 47
++++++++++++-------
drivers/gpu/drm/nouveau/nvkm/subdev/fault/priv.h | 9 +++-
drivers/gpu/drm/nouveau/nvkm/subdev/fault/tu104.c | 167
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
drivers/gpu/drm/nouveau/nvkm/subdev/fb/base.c | 11 +++--
drivers/gpu/drm/nouveau/nvkm/subdev/fb/ram.c | 3 ++
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c | 16 ++++++-
drivers/gpu/drm/nouveau/nvkm/subdev/mc/Kbuild | 1 +
drivers/gpu/drm/nouveau/nvkm/subdev/mc/base.c | 3 ++
drivers/gpu/drm/nouveau/nvkm/subdev/mc/priv.h | 1 +
drivers/gpu/drm/nouveau/nvkm/subdev/mc/tu104.c | 55
++++++++++++++++++++++
drivers/gpu/drm/nouveau/nvkm/subdev/mmu/Kbuild | 2 +
drivers/gpu/drm/nouveau/nvkm/subdev/mmu/tu104.c | 43
+++++++++++++++++
drivers/gpu/drm/nouveau/nvkm/subdev/mmu/uvmm.c | 21 ++-------
drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c | 145
++++++++++++++++++++++++++++++++++++++++++++-------------
drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.h | 8 +++-
drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmtu104.c | 77
++++++++++++++++++++++++++++++
drivers/gpu/drm/nouveau/nvkm/subdev/secboot/gp102.c | 4 +-
drivers/gpu/drm/nouveau/nvkm/subdev/timer/base.c | 36 ++++++++++++++
drivers/gpu/drm/nouveau/nvkm/subdev/top/gk104.c | 2 +-
119 files changed, 2450 insertions(+), 308 deletions(-)
create mode 100644 drivers/gpu/drm/nouveau/dispnv50/corec57d.c
create mode 100644 drivers/gpu/drm/nouveau/dispnv50/headc57d.c
create mode 100644 drivers/gpu/drm/nouveau/dispnv50/wndwc57e.c
create mode 100644 drivers/gpu/drm/nouveau/include/nvif/clc36f.h
create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/ce/tu104.c
create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/roottu104.c
create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/sortu104.c
create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/tu104.c
create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifotu104.c
create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/fifo/tu104.c
create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/fifo/usertu104.c
create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/bar/tu104.c
create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/devinit/tu104.c
create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/fault/tu104.c
create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/mc/tu104.c
create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/mmu/tu104.c
create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmtu104.c
More information about the dri-devel
mailing list