nouveau-next 5.1 (take 2)
Ben Skeggs
skeggsb at gmail.com
Tue Feb 19 23:34:03 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.
Jerome and I have corrected the issues mentioned in response to the
previous pull request, so we should be good to go!
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 a788ade4f6e0302710f89b2a3534346df752072d:
drm/nouveau/dmem: use dma addresses during migration copies
(2019-02-20 09:00:03 +1000)
----------------------------------------------------------------
Ben Skeggs (50):
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: prepare for enabling svm with existing userspace interfaces
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
| 12 +
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 +
drivers/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 +-
drivers/gpu/drm/nouveau/include/nvkm/subdev/devinit.h
| 2 +-
drivers/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
| 4 +-
drivers/gpu/drm/nouveau/nouveau_bo.c
| 4 +-
drivers/gpu/drm/nouveau/nouveau_chan.c
| 32 +-
drivers/gpu/drm/nouveau/nouveau_chan.h
| 1 +
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
| 60 ++++
drivers/gpu/drm/nouveau/nouveau_drm.c
| 248 +++++++------
drivers/gpu/drm/nouveau/nouveau_drv.h
| 6 +-
drivers/gpu/drm/nouveau/nouveau_fbcon.c
| 2 +-
drivers/gpu/drm/nouveau/nouveau_fence.h
| 2 -
drivers/gpu/drm/nouveau/nouveau_gem.c
| 43 +--
drivers/gpu/drm/nouveau/nouveau_svm.c
| 835 ++++++++++++++++++++++++++++++++++++++++++++
drivers/gpu/drm/nouveau/nouveau_svm.h
| 48 +++
drivers/gpu/drm/nouveau/nouveau_vmm.c
| 4 +-
drivers/gpu/drm/nouveau/nouveau_vmm.h
| 1 +
drivers/gpu/drm/nouveau/nv84_fence.c
| 3 +-
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 +-
drivers/gpu/drm/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 +
drivers/gpu/drm/nouveau/nvkm/engine/disp/rootnv50.h
| 2 +-
drivers/gpu/drm/nouveau/nvkm/engine/disp/{roottu104.c => roottu102.c}
| 20 +-
drivers/gpu/drm/nouveau/nvkm/engine/disp/{sortu104.c => sortu102.c}
| 14 +-
drivers/gpu/drm/nouveau/nvkm/engine/disp/{tu104.c => tu102.c}
| 14 +-
drivers/gpu/drm/nouveau/nvkm/engine/fifo/Kbuild
| 6 +-
drivers/gpu/drm/nouveau/nvkm/engine/fifo/changk104.h
| 2 +-
drivers/gpu/drm/nouveau/nvkm/engine/fifo/{gpfifotu104.c =>
gpfifotu102.c} | 10 +-
drivers/gpu/drm/nouveau/nvkm/engine/fifo/{tu104.c => tu102.c}
| 30 +-
drivers/gpu/drm/nouveau/nvkm/engine/fifo/user.h
| 2 +-
drivers/gpu/drm/nouveau/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 +-
drivers/gpu/drm/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 +-
drivers/gpu/drm/nouveau/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 +
drivers/gpu/drm/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 +-
drivers/gpu/drm/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 +-
drivers/gpu/drm/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 +-
drivers/gpu/drm/nouveau/nvkm/subdev/mmu/{vmmtu104.c => vmmtu102.c}
| 13 +-
drivers/gpu/drm/nouveau/nvkm/subdev/pmu/memx.c
| 4 +-
drivers/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 +++
134 files changed, 4268 insertions(+), 1002 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