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