nouveau-next 5.1
Ben Skeggs
skeggsb at gmail.com
Mon Feb 18 06:18:59 UTC 2019
Hey Dave,
Various fixes/cleanups, along with initial support for SVM features
utilising HMM address-space mirroring and device memory migration.
There's a lot more work to do in these areas, both in terms of
features and efficiency, but these can slowly trickle in later down
the track.
Thanks,
Ben.
The following changes since commit c06de56121e3ac0f0f1f4a081c041654ffcacd62:
Merge v5.0-rc7 into drm-next (2019-02-18 13:27:15 +1000)
are available in the Git repository at:
git://github.com/skeggsb/linux linux-5.1
for you to fetch changes up to ead865d70199286f82c178ededd2f8c6dbb89b75:
drm/nouveau/dmem: use dma addresses during migration copies
(2019-02-18 15:24:51 +1000)
----------------------------------------------------------------
Ben Skeggs (49):
drm/nouveau/devinit/tu102: rename implementation from tu104
drm/nouveau/mc/tu102: rename implementation from tu104
drm/nouveau/mmu/tu102: rename implementation from tu104
drm/nouveau/bar/tu102: rename implementation from tu104
drm/nouveau/fault/tu102: rename implementation from tu104
drm/nouveau/disp/tu102: rename implementation from tu104
drm/nouveau/fifo/tu102: rename implementation from tu104
drm/nouveau/ce/tu102: rename implementation from tu104
drm/nouveau/core: define GSP subdev
drm/nouveau/top: add function to lookup PRI address for devices
drm/nouveau/top/gv100-: translate entry for the GSP
drm/nouveau/gsp/gv100-: instantiate GSP falcon
drm/nouveau/nvdec/gp102-: utilise engine PRI address from TOP
drm/nouveau/nvdec/tu102-: instantiate NVDEC0 falcon
drm/nouveau/sec2: utilise engine PRI address from TOP
drm/nouveau/sec2/tu102-: instantiate SEC2 falcon
drm/nouveau/secboot: fix missing newline in error messages
drm/nouveau/bios/init: label existing INIT_GENERIC_CONDITION types
drm/nouveau/bios/init: handle
INIT_GENERIC_CONDITION_ID_NO_PANEL_SEQ_DELAYS
drm/nouveau/disp/gf119-: decode exception reason to human-readable string
drm/nouveau: allocate kernel channel(s) before initialising display
drm/nouveau/kms: display destroy/init/fini hooks can be static
drm/nouveau/kms/nv04-nv4x: move a bunch of pre-nv50 page flip
code to dispnv04
drm/nouveau/kms/nv04-nv4x: move suspend code to dispnv04 fini hook
drm/nouveau/kms/nv04-nv4x: move resume code to dispnv04 init hook
drm/nouveau: allow accelerated buffer moves even when gr isn't present
drm/nouveau/gr/gf100-: move fecs set_watchdog_timeout method
into a function
drm/nouveau/gr/gf100-: move fecs discover_image_size into a function
drm/nouveau/gr/gf100-: move fecs discover_zcull_image_size into a function
drm/nouveau/gr/gf100-: move fecs discover_pm_image_size into a function
drm/nouveau/gr/gf100-: move fecs elpg setup into functions
drm/nouveau/gr/gf100-: remove some unnecessary reg writes
drm/nouveau/gr/gf100-: move fecs bind_pointer into a function
drm/nouveau/gr/gf100-: store fecs/gpccs falcon pointers in substructures
drm/nouveau/mmu/gf100-: make mmu invalidate function more general
drm/nouveau/mmu/gf100-: virtualise setting pdb base address for
invalidation
drm/nouveau/gr/gf100-: expose fecs methods for pausing ctxsw
drm/nouveau/gr/gf100-: expose method to determine current context
drm/nouveau/mmu: support initialisation of client-managed address-spaces
drm/nouveau/mmu: store mapped flag separately from memory pointer
drm/nouveau/mmu: add a privileged method to directly manage PTEs
drm/nouveau/mmu/gp100-: add privileged methods for fault replay/cancel
drm/nouveau/mmu/gp100-: support vmms with gcc/tex replayable
faults enabled
drm/nouveau/fault/gp100: expose MaxwellFaultBufferA
drm/nouveau/fault/gv100-: expose VoltaFaultBufferA
drm/nouveau/svm: initial support for shared virtual memory
drm/nouveau/dmem: extend copy function to allow direct use of
physical addresses
drm/nouveau/dmem: use physical vram addresses during migration copies
drm/nouveau/dmem: use dma addresses during migration copies
Colin Ian King (5):
drm/nouveau/bios/dp: make array vsoff static, shrinks object size
drm/nouveau/bios/ramcfg: fix missing parentheses when calculating RON
drm/nouveau/pmu: don't print reply values if exec is false
drm/nouveau: fix missing break in switch statement
drm/nouveau/falcon: fix a few indentation issues
Gustavo A. R. Silva (1):
drm/nouveau: mark expected switch fall-through
Ilia Mirkin (1):
drm/nouveau/volt/gf117: fix speedo readout register
Jérôme Glisse (2):
drm/nouveau/dmem: device memory helpers for SVM
drm/nouveau/svm: new ioctl to migrate process memory to GPU memory
Lyude Paul (1):
drm/nouveau: Don't WARN_ON VCPI allocation failures
drivers/gpu/drm/nouveau/Kbuild | 2 +
drivers/gpu/drm/nouveau/Kconfig | 9 +
drivers/gpu/drm/nouveau/dispnv04/crtc.c | 214 ++++-
drivers/gpu/drm/nouveau/dispnv04/disp.c | 216 +++--
drivers/gpu/drm/nouveau/dispnv04/disp.h | 5 +-
drivers/gpu/drm/nouveau/dispnv50/core.c | 2 +-
drivers/gpu/drm/nouveau/dispnv50/curs.c | 2 +-
drivers/gpu/drm/nouveau/dispnv50/disp.c | 13 +-
drivers/gpu/drm/nouveau/dispnv50/wimm.c | 2 +-
drivers/gpu/drm/nouveau/dispnv50/wndw.c | 2 +-
drivers/gpu/drm/nouveau/include/nvif/class.h | 13 +-
drivers/gpu/drm/nouveau/include/nvif/clb069.h | 12 +
drivers/gpu/drm/nouveau/include/nvif/if000c.h | 30 +-
drivers/gpu/drm/nouveau/include/nvif/ifc00d.h | 21 +
drivers/gpu/drm/nouveau/include/nvif/vmm.h | 4 +-
drivers/gpu/drm/nouveau/include/nvkm/core/device.h | 3 +
drivers/gpu/drm/nouveau/include/nvkm/engine/ce.h | 2 +-
drivers/gpu/drm/nouveau/include/nvkm/engine/disp.h | 2 +-
drivers/gpu/drm/nouveau/include/nvkm/engine/fifo.h | 2 +-
drivers/gpu/drm/nouveau/include/nvkm/engine/gr.h | 3 +
.../gpu/drm/nouveau/include/nvkm/engine/nvdec.h | 2 +
drivers/gpu/drm/nouveau/include/nvkm/engine/sec2.h | 3 +
drivers/gpu/drm/nouveau/include/nvkm/subdev/bar.h | 2 +-
.../gpu/drm/nouveau/include/nvkm/subdev/devinit.h | 2 +-
.../gpu/drm/nouveau/include/nvkm/subdev/fault.h | 4 +-
drivers/gpu/drm/nouveau/include/nvkm/subdev/gsp.h | 14 +
drivers/gpu/drm/nouveau/include/nvkm/subdev/mc.h | 2 +-
drivers/gpu/drm/nouveau/include/nvkm/subdev/mmu.h | 6 +-
drivers/gpu/drm/nouveau/include/nvkm/subdev/top.h | 1 +
drivers/gpu/drm/nouveau/include/nvkm/subdev/volt.h | 1 +
drivers/gpu/drm/nouveau/nouveau_abi16.c | 1 +
drivers/gpu/drm/nouveau/nouveau_bo.c | 2 +-
drivers/gpu/drm/nouveau/nouveau_chan.c | 9 +
drivers/gpu/drm/nouveau/nouveau_display.c | 306 +------
drivers/gpu/drm/nouveau/nouveau_display.h | 21 +-
drivers/gpu/drm/nouveau/nouveau_dmem.c | 887 +++++++++++++++++++++
drivers/gpu/drm/nouveau/nouveau_dmem.h | 43 +
drivers/gpu/drm/nouveau/nouveau_drm.c | 249 +++---
drivers/gpu/drm/nouveau/nouveau_drv.h | 5 +-
drivers/gpu/drm/nouveau/nouveau_fence.h | 2 -
drivers/gpu/drm/nouveau/nouveau_svm.c | 833 +++++++++++++++++++
drivers/gpu/drm/nouveau/nouveau_svm.h | 20 +
drivers/gpu/drm/nouveau/nouveau_vmm.c | 4 +-
drivers/gpu/drm/nouveau/nouveau_vmm.h | 1 +
drivers/gpu/drm/nouveau/nvif/disp.c | 2 +-
drivers/gpu/drm/nouveau/nvif/vmm.c | 5 +-
drivers/gpu/drm/nouveau/nvkm/core/subdev.c | 1 +
drivers/gpu/drm/nouveau/nvkm/engine/ce/Kbuild | 2 +-
.../nouveau/nvkm/engine/ce/{tu104.c => tu102.c} | 6 +-
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c | 86 +-
drivers/gpu/drm/nouveau/nvkm/engine/device/priv.h | 1 +
drivers/gpu/drm/nouveau/nvkm/engine/device/user.c | 15 +-
drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild | 6 +-
drivers/gpu/drm/nouveau/nvkm/engine/disp/gf119.c | 16 +-
drivers/gpu/drm/nouveau/nvkm/engine/disp/gv100.c | 7 +-
drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h | 2 +-
drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.c | 12 +-
drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.h | 3 +
.../gpu/drm/nouveau/nvkm/engine/disp/rootnv50.h | 2 +-
.../nvkm/engine/disp/{roottu104.c => roottu102.c} | 20 +-
.../nvkm/engine/disp/{sortu104.c => sortu102.c} | 14 +-
.../nouveau/nvkm/engine/disp/{tu104.c => tu102.c} | 14 +-
drivers/gpu/drm/nouveau/nvkm/engine/fifo/Kbuild | 6 +-
.../gpu/drm/nouveau/nvkm/engine/fifo/changk104.h | 2 +-
.../engine/fifo/{gpfifotu104.c => gpfifotu102.c} | 10 +-
.../nouveau/nvkm/engine/fifo/{tu104.c => tu102.c} | 30 +-
drivers/gpu/drm/nouveau/nvkm/engine/fifo/user.h | 2 +-
.../nvkm/engine/fifo/{usertu104.c => usertu102.c} | 10 +-
drivers/gpu/drm/nouveau/nvkm/engine/gr/base.c | 27 +
drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf100.c | 10 +-
drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c | 331 ++++++--
drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.h | 16 +-
drivers/gpu/drm/nouveau/nvkm/engine/gr/priv.h | 5 +
drivers/gpu/drm/nouveau/nvkm/engine/nvdec/base.c | 10 +-
drivers/gpu/drm/nouveau/nvkm/engine/sec2/Kbuild | 1 +
drivers/gpu/drm/nouveau/nvkm/engine/sec2/base.c | 23 +-
drivers/gpu/drm/nouveau/nvkm/engine/sec2/gp102.c | 2 +-
drivers/gpu/drm/nouveau/nvkm/engine/sec2/priv.h | 3 +-
drivers/gpu/drm/nouveau/nvkm/engine/sec2/tu102.c | 33 +
drivers/gpu/drm/nouveau/nvkm/falcon/base.c | 3 +
drivers/gpu/drm/nouveau/nvkm/falcon/msgqueue.c | 6 +-
drivers/gpu/drm/nouveau/nvkm/subdev/Kbuild | 1 +
drivers/gpu/drm/nouveau/nvkm/subdev/bar/Kbuild | 2 +-
.../nouveau/nvkm/subdev/bar/{tu104.c => tu102.c} | 30 +-
drivers/gpu/drm/nouveau/nvkm/subdev/bios/dp.c | 2 +-
drivers/gpu/drm/nouveau/nvkm/subdev/bios/init.c | 11 +-
drivers/gpu/drm/nouveau/nvkm/subdev/devinit/Kbuild | 2 +-
.../nvkm/subdev/devinit/{tu104.c => tu102.c} | 14 +-
drivers/gpu/drm/nouveau/nvkm/subdev/fault/Kbuild | 3 +-
drivers/gpu/drm/nouveau/nvkm/subdev/fault/base.c | 2 +
drivers/gpu/drm/nouveau/nvkm/subdev/fault/gp100.c | 3 +
drivers/gpu/drm/nouveau/nvkm/subdev/fault/gv100.c | 16 +
drivers/gpu/drm/nouveau/nvkm/subdev/fault/priv.h | 7 +
.../nouveau/nvkm/subdev/fault/{tu104.c => tu102.c} | 39 +-
drivers/gpu/drm/nouveau/nvkm/subdev/fault/user.c | 106 +++
drivers/gpu/drm/nouveau/nvkm/subdev/fb/gddr3.c | 2 +-
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/Kbuild | 1 +
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/gv100.c | 62 ++
drivers/gpu/drm/nouveau/nvkm/subdev/mc/Kbuild | 2 +-
.../nouveau/nvkm/subdev/mc/{tu104.c => tu102.c} | 10 +-
drivers/gpu/drm/nouveau/nvkm/subdev/mmu/Kbuild | 4 +-
drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gp100.c | 2 +-
drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gp10b.c | 2 +-
drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gv100.c | 2 +-
drivers/gpu/drm/nouveau/nvkm/subdev/mmu/priv.h | 2 +-
.../nouveau/nvkm/subdev/mmu/{tu104.c => tu102.c} | 8 +-
drivers/gpu/drm/nouveau/nvkm/subdev/mmu/uvmm.c | 83 +-
drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c | 382 +++++++--
drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.h | 82 +-
drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgf100.c | 56 +-
drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgk104.c | 10 +-
drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgk20a.c | 10 +-
drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgm200.c | 22 +-
drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgm20b.c | 14 +-
drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgp100.c | 210 ++++-
drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgp10b.c | 12 +-
drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgv100.c | 12 +-
drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmmcp77.c | 8 +-
drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmnv04.c | 15 +-
drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmnv41.c | 6 +-
drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmnv44.c | 6 +-
drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmnv50.c | 6 +-
.../nvkm/subdev/mmu/{vmmtu104.c => vmmtu102.c} | 13 +-
drivers/gpu/drm/nouveau/nvkm/subdev/pmu/memx.c | 4 +-
.../gpu/drm/nouveau/nvkm/subdev/secboot/acr_r352.c | 4 +-
drivers/gpu/drm/nouveau/nvkm/subdev/top/base.c | 16 +
drivers/gpu/drm/nouveau/nvkm/subdev/top/gk104.c | 2 +
drivers/gpu/drm/nouveau/nvkm/subdev/volt/Kbuild | 1 +
drivers/gpu/drm/nouveau/nvkm/subdev/volt/gf117.c | 60 ++
include/uapi/drm/nouveau_drm.h | 51 ++
130 files changed, 4178 insertions(+), 965 deletions(-)
create mode 100644 drivers/gpu/drm/nouveau/include/nvif/clb069.h
create mode 100644 drivers/gpu/drm/nouveau/include/nvkm/subdev/gsp.h
create mode 100644 drivers/gpu/drm/nouveau/nouveau_dmem.c
create mode 100644 drivers/gpu/drm/nouveau/nouveau_dmem.h
create mode 100644 drivers/gpu/drm/nouveau/nouveau_svm.c
create mode 100644 drivers/gpu/drm/nouveau/nouveau_svm.h
rename drivers/gpu/drm/nouveau/nvkm/engine/ce/{tu104.c => tu102.c} (91%)
rename drivers/gpu/drm/nouveau/nvkm/engine/disp/{roottu104.c =>
roottu102.c} (74%)
rename drivers/gpu/drm/nouveau/nvkm/engine/disp/{sortu104.c =>
sortu102.c} (90%)
rename drivers/gpu/drm/nouveau/nvkm/engine/disp/{tu104.c => tu102.c} (93%)
rename drivers/gpu/drm/nouveau/nvkm/engine/fifo/{gpfifotu104.c =>
gpfifotu102.c} (91%)
rename drivers/gpu/drm/nouveau/nvkm/engine/fifo/{tu104.c => tu102.c} (82%)
rename drivers/gpu/drm/nouveau/nvkm/engine/fifo/{usertu104.c =>
usertu102.c} (86%)
create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/sec2/tu102.c
rename drivers/gpu/drm/nouveau/nvkm/subdev/bar/{tu104.c => tu102.c} (84%)
rename drivers/gpu/drm/nouveau/nvkm/subdev/devinit/{tu104.c => tu102.c} (87%)
rename drivers/gpu/drm/nouveau/nvkm/subdev/fault/{tu104.c => tu102.c} (82%)
create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/fault/user.c
create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/gsp/Kbuild
create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/gsp/gv100.c
rename drivers/gpu/drm/nouveau/nvkm/subdev/mc/{tu104.c => tu102.c} (88%)
rename drivers/gpu/drm/nouveau/nvkm/subdev/mmu/{tu104.c => tu102.c} (88%)
rename drivers/gpu/drm/nouveau/nvkm/subdev/mmu/{vmmtu104.c => vmmtu102.c} (89%)
create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/volt/gf117.c
More information about the dri-devel
mailing list