[RFC 0/3] dma-fence: Add a "boost" mechanism

From: Rob Clark
Date: Wed May 19 2021 - 14:35:11 EST


From: Rob Clark <robdclark@xxxxxxxxxxxx>

In some cases, like double-buffered rendering, missing vblanks can
trick the GPU into running at a lower frequence, when really we
want to be running at a higher frequency to not miss the vblanks
in the first place.

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

The last patch is just proof of concept, in reality I think it
may want to be a bit more clever. But sending this out as it
is as an RFC to get feedback.

Rob Clark (3):
dma-fence: Add boost fence op
drm/atomic: Call dma_fence_boost() when we've missed a vblank
drm/msm: Wire up gpu boost

drivers/gpu/drm/drm_atomic_helper.c | 11 +++++++++++
drivers/gpu/drm/msm/msm_fence.c | 10 ++++++++++
drivers/gpu/drm/msm/msm_gpu.c | 13 +++++++++++++
drivers/gpu/drm/msm/msm_gpu.h | 2 ++
include/linux/dma-fence.h | 26 ++++++++++++++++++++++++++
5 files changed, 62 insertions(+)

--
2.30.2