[pull] drm: dma-fence-deadline for v6.4

Rob Clark robdclark at gmail.com
Tue Mar 28 22:34:02 UTC 2023


Hi Dave and Daniel,

Here is the series for dma-fence deadline hint, without driver
specific patches, or UAPI, with the intent that it can be merged into
drm-next as well as -driver next trees to enable landing driver
specific support through their corresponding -next trees.

The following changes since commit eeac8ede17557680855031c6f305ece2378af326:

  Linux 6.3-rc2 (2023-03-12 16:36:44 -0700)

are available in the Git repository at:

  https://gitlab.freedesktop.org/drm/msm.git tags/dma-fence-deadline

for you to fetch changes up to d39e48ca80c0960b039cb38633957f0040f63e1a:

  drm/atomic-helper: Set fence deadline for vblank (2023-03-28 14:52:59 -0700)

----------------------------------------------------------------
This series adds a deadline hint to fences, so realtime deadlines
such as vblank can be communicated to the fence signaller for power/
frequency management decisions.

This is partially inspired by a trick i915 does, but implemented
via dma-fence for a couple of reasons:

1) To continue to be able to use the atomic helpers
2) To support cases where display and gpu are different drivers

See https://patchwork.freedesktop.org/series/93035/

This does not yet add any UAPI, although this will be needed in
a number of cases:

1) Workloads "ping-ponging" between CPU and GPU, where we don't
   want the GPU freq governor to interpret time stalled waiting
   for GPU as "idle" time
2) Cases where the compositor is waiting for fences to be signaled
   before issuing the atomic ioctl, for example to maintain 60fps
   cursor updates even when the GPU is not able to maintain that
   framerate.

----------------------------------------------------------------
Rob Clark (8):
      dma-buf/dma-fence: Add deadline awareness
      dma-buf/fence-array: Add fence deadline support
      dma-buf/fence-chain: Add fence deadline support
      dma-buf/dma-resv: Add a way to set fence deadline
      dma-buf/sync_file: Surface sync-file uABI
      drm/scheduler: Add fence deadline support
      drm/vblank: Add helper to get next vblank time
      drm/atomic-helper: Set fence deadline for vblank

 Documentation/driver-api/dma-buf.rst    | 16 +++++++--
 drivers/dma-buf/dma-fence-array.c       | 11 ++++++
 drivers/dma-buf/dma-fence-chain.c       | 12 +++++++
 drivers/dma-buf/dma-fence.c             | 59 +++++++++++++++++++++++++++++++++
 drivers/dma-buf/dma-resv.c              | 22 ++++++++++++
 drivers/gpu/drm/drm_atomic_helper.c     | 37 +++++++++++++++++++++
 drivers/gpu/drm/drm_vblank.c            | 53 ++++++++++++++++++++++++-----
 drivers/gpu/drm/scheduler/sched_fence.c | 46 +++++++++++++++++++++++++
 drivers/gpu/drm/scheduler/sched_main.c  |  2 +-
 include/drm/drm_vblank.h                |  1 +
 include/drm/gpu_scheduler.h             | 17 ++++++++++
 include/linux/dma-fence.h               | 22 ++++++++++++
 include/linux/dma-resv.h                |  2 ++
 include/uapi/linux/sync_file.h          | 37 +++++++++------------
 14 files changed, 303 insertions(+), 34 deletions(-)


More information about the dri-devel mailing list