[PATCH 0/9] drm/nouveau: Introduce CRC support for gf119+

From: Lyude Paul
Date: Tue Mar 17 2020 - 20:42:34 EST


Nvidia released some documentation on how CRC support works on their
GPUs, hooray!

So: this patch series implements said CRC support in nouveau, along with
adding some special debugfs interfaces for some relevant igt-gpu-tools
tests that we'll be sending in just a short bit.

This additionally adds a feature that Ville SyrjÃlà came up with: vblank
works. Basically, this is just a generic DRM interface that allows for
scheduling high-priority workers that start on a given vblank interrupt.
Note that while we're currently only using this in nouveau, Intel has
plans to use this for i915 as well (hence why they came up with it!).

Anyway-welcome to the future! :)

Lyude Paul (8):
drm/nouveau/kms/nv50-: Unroll error cleanup in nv50_head_create()
drm/nouveau/kms/nv140-: Don't modify depth in state during atomic
commit
drm/nouveau/kms/nv50-: Fix disabling dithering
drm/nouveau/kms/nv50-: s/harm/armh/g
drm/nouveau/kms/nv140-: Track wndw mappings in nv50_head_atom
drm/nouveau/kms/nv50-: Expose nv50_outp_atom in disp.h
drm/nouveau/kms/nv50-: Move hard-coded object handles into header
drm/nouveau/kms/nvd9-: Add CRC support

Ville SyrjÃlà (1):
drm/vblank: Add vblank works

drivers/gpu/drm/drm_vblank.c | 322 +++++++++
drivers/gpu/drm/nouveau/dispnv04/crtc.c | 25 +-
drivers/gpu/drm/nouveau/dispnv50/Kbuild | 4 +
drivers/gpu/drm/nouveau/dispnv50/atom.h | 21 +
drivers/gpu/drm/nouveau/dispnv50/core.h | 4 +
drivers/gpu/drm/nouveau/dispnv50/core907d.c | 3 +
drivers/gpu/drm/nouveau/dispnv50/core917d.c | 3 +
drivers/gpu/drm/nouveau/dispnv50/corec37d.c | 3 +
drivers/gpu/drm/nouveau/dispnv50/corec57d.c | 3 +
drivers/gpu/drm/nouveau/dispnv50/crc.c | 716 ++++++++++++++++++++
drivers/gpu/drm/nouveau/dispnv50/crc.h | 125 ++++
drivers/gpu/drm/nouveau/dispnv50/crc907d.c | 139 ++++
drivers/gpu/drm/nouveau/dispnv50/crcc37d.c | 153 +++++
drivers/gpu/drm/nouveau/dispnv50/disp.c | 65 +-
drivers/gpu/drm/nouveau/dispnv50/disp.h | 24 +
drivers/gpu/drm/nouveau/dispnv50/handles.h | 16 +
drivers/gpu/drm/nouveau/dispnv50/head.c | 142 +++-
drivers/gpu/drm/nouveau/dispnv50/head.h | 13 +-
drivers/gpu/drm/nouveau/dispnv50/head907d.c | 14 +-
drivers/gpu/drm/nouveau/dispnv50/headc37d.c | 27 +-
drivers/gpu/drm/nouveau/dispnv50/headc57d.c | 20 +-
drivers/gpu/drm/nouveau/dispnv50/wndw.c | 15 +-
drivers/gpu/drm/nouveau/nouveau_display.c | 60 +-
include/drm/drm_vblank.h | 34 +
24 files changed, 1821 insertions(+), 130 deletions(-)
create mode 100644 drivers/gpu/drm/nouveau/dispnv50/crc.c
create mode 100644 drivers/gpu/drm/nouveau/dispnv50/crc.h
create mode 100644 drivers/gpu/drm/nouveau/dispnv50/crc907d.c
create mode 100644 drivers/gpu/drm/nouveau/dispnv50/crcc37d.c
create mode 100644 drivers/gpu/drm/nouveau/dispnv50/handles.h

--
2.24.1