dma-buf/dma-fence: Add deadline awareness
authorRob Clark <robdclark@chromium.org>
Fri, 3 Sep 2021 18:47:52 +0000 (11:47 -0700)
committerRob Clark <robdclark@chromium.org>
Sat, 25 Mar 2023 17:55:07 +0000 (10:55 -0700)
commitaec11c8d7cb31c67deeba4c9fe015d09735c6813
tree7c9198c39b8bdeff6c5ad8559902e74ed3e7f79b
parenteeac8ede17557680855031c6f305ece2378af326
dma-buf/dma-fence: Add deadline awareness

Add a way to hint to the fence signaler of an upcoming deadline, such as
vblank, which the fence waiter would prefer not to miss.  This is to aid
the fence signaler in making power management decisions, like boosting
frequency as the deadline approaches and awareness of missing deadlines
so that can be factored in to the frequency scaling.

v2: Drop dma_fence::deadline and related logic to filter duplicate
    deadlines, to avoid increasing dma_fence size.  The fence-context
    implementation will need similar logic to track deadlines of all
    the fences on the same timeline.  [ckoenig]
v3: Clarify locking wrt. set_deadline callback
v4: Clarify in docs comment that this is a hint
v5: Drop DMA_FENCE_FLAG_HAS_DEADLINE_BIT.
v6: More docs
v7: Fix typo, clarify past deadlines

Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Christian König <christian.koenig@amd.com>
Acked-by: Pekka Paalanen <pekka.paalanen@collabora.com>
Reviewed-by: Bagas Sanjaya <bagasdotme@gmail.com>
Documentation/driver-api/dma-buf.rst
drivers/dma-buf/dma-fence.c
include/linux/dma-fence.h