Merge tag 'dma-fence-deadline' into HEAD
authorRob Clark <robdclark@chromium.org>
Tue, 28 Mar 2023 22:45:53 +0000 (15:45 -0700)
committerRob Clark <robdclark@chromium.org>
Tue, 28 Mar 2023 22:45:53 +0000 (15:45 -0700)
commit1ad0510cf730d8556fa7ff067b72aa960dde454b
tree98eeb46622a233adfe1d9488907de461a047a600
parent8559da8fdfe57f293ff200ac145dabc3e9de849c
parentd39e48ca80c0960b039cb38633957f0040f63e1a
Merge tag 'dma-fence-deadline' into HEAD

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.

Signed-off-by: Rob Clark <robdclark@chromium.org>
drivers/gpu/drm/drm_atomic_helper.c
drivers/gpu/drm/scheduler/sched_main.c
include/drm/gpu_scheduler.h