All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/7] drm: Consolidate the wait timeout conversion helpers
@ 2026-09-15 19:42 Maíra Canal
  2026-09-15 19:42 ` [PATCH v3 1/7] drm: Move drm_timeout_abs_to_jiffies() to drm_timeout.c Maíra Canal
                   ` (10 more replies)
  0 siblings, 11 replies; 29+ messages in thread
From: Maíra Canal @ 2026-09-15 19:42 UTC (permalink / raw)
  To: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
	Simona Vetter, Alex Deucher, Christian König, Melissa Wen,
	Iago Toral, Jani Nikula, Joonas Lahtinen, Rodrigo Vivi,
	Tvrtko Ursulin, Dave Stevenson, Raspberry Pi Kernel Maintenance
  Cc: kernel-dev, dri-devel, amd-gfx, intel-gfx, Maíra Canal

DRM wait ioctls express their timeout in one of two ways: as an absolute
deadline in ns, or as a duration in ns. The core has a helper for the first
form, drm_timeout_abs_to_jiffies(), which panfrost, lima, tegra, xe and
some accel drivers use. However, there is no equivalent for the second
form, so the drivers that take a duration convert it themselves.

For example, i915 has a local helper to handle the relative timeout case,
and v3d carries a copy of it. This series moves that conversion into a DRM
helper called drm_timeout_rel_to_jiffies(), next to the absolute variant,
and converts the drivers that were open-coding either form.

This series becomes particularly relevant as the new helper will be used
in the next version of the series "drm/vc4: Switch to DRM GPU scheduler"
[1]. With this series, we avoid another duplication of the
nsecs_to_jiffies_timeout() function (and thanks Tvrtko for the suggestion).

PATCH 1 moves drm_timeout_abs_to_jiffies() out of drm_syncobj.c and into a
file of its own, so that both helpers live together. PATCH 2 adds a helper
for the relative variant. Patches 3 to 6 convert amdgpu, v3d, i915 and vc4.
Finally, PATCH 7 renames the drm_utils.h header to drm_panel_quirks.h to
better express its meaning.

Let me know your thoughts about it.

[1] https://lore.kernel.org/dri-devel/20260712-vc4-drm-scheduler-v3-0-ed6dc4defa53@igalia.com/T/

Best regards,
- Maíra

---
v1 -> v2: https://lore.kernel.org/r/20260809-drm-timeout-helpers-v1-0-2de67405a145@igalia.com

- [2/6] Add comment discouraging the use of relative timeouts in uAPIs
        (Christian König)
- [3/6] Make it more explicit that any timeout that doesn't fit in a s64
        is mapped into an infinite wait (Christian König)

v2 -> v3: https://lore.kernel.org/r/20260817-drm-timeout-helpers-v2-0-73052b669f49@igalia.com

- [1/7] Move the function definitions to a new header file: drm_timeout.h
        (Thomas Zimmermann)
- [1/7] Add Tvrtko's R-b (Tvrtko Ursulin)
- [1/7, 2/7] Apply adjustments to the function's kerneldoc (Thomas Zimmermann)
- [2/7] Fixed an inadequate overflow check in drm_timeout_rel_to_jiffies(),
        which allowed `nsecs_to_jiffies64` to wrap around on 64-bit systems.
	(Tvrtko Ursulin, Sashiko)
- [7/7] Rename drm_utils.h to drm_panel_quirks.h (Thomas Zimmermann)

---
Maíra Canal (7):
      drm: Move drm_timeout_abs_to_jiffies() to drm_timeout.c
      drm: Add drm_timeout_rel_to_jiffies()
      drm/amdgpu: Use drm_timeout_abs_to_jiffies()
      drm/v3d: Use drm_timeout_rel_to_jiffies()
      drm/i915: Use drm_timeout_rel_to_jiffies()
      drm/vc4: Use drm_timeout_rel_to_jiffies()
      drm: Rename drm_utils.h to drm_panel_quirks.h

 drivers/accel/ethosu/ethosu_drv.c                  |  2 +-
 drivers/accel/ivpu/ivpu_gem.c                      |  2 +-
 drivers/accel/rocket/rocket_gem.c                  |  2 +-
 drivers/gpu/drm/Makefile                           |  1 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c            | 20 +----
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c  |  1 -
 .../amd/display/amdgpu_dm/amdgpu_dm_backlight.c    |  2 +-
 .../amd/display/amdgpu_dm/amdgpu_dm_connector.c    |  1 -
 drivers/gpu/drm/drm_connector.c                    |  2 +-
 drivers/gpu/drm/drm_panel_backlight_quirks.c       |  2 +-
 drivers/gpu/drm/drm_panel_orientation_quirks.c     |  2 +-
 drivers/gpu/drm/drm_syncobj.c                      | 35 +-------
 drivers/gpu/drm/drm_timeout.c                      | 95 ++++++++++++++++++++++
 drivers/gpu/drm/i915/gem/i915_gem_wait.c           | 17 +---
 drivers/gpu/drm/lima/lima_gem.c                    |  2 +-
 drivers/gpu/drm/panfrost/panfrost_drv.c            |  2 +-
 drivers/gpu/drm/panthor/panthor_drv.c              |  1 -
 drivers/gpu/drm/tegra/uapi.c                       |  2 +-
 drivers/gpu/drm/v3d/v3d_bo.c                       |  3 +-
 drivers/gpu/drm/v3d/v3d_drv.h                      | 10 ---
 drivers/gpu/drm/vc4/vc4_gem.c                      |  3 +-
 drivers/gpu/drm/xe/xe_wait_user_fence.c            |  2 +-
 drivers/video/fbdev/efifb.c                        |  2 +-
 include/drm/{drm_utils.h => drm_panel_quirks.h}    | 10 +--
 include/drm/drm_timeout.h                          | 17 ++++
 25 files changed, 140 insertions(+), 98 deletions(-)
---
base-commit: 5363e01e4ff03a204cab85292b89cf90c2d1b101
change-id: 20260809-drm-timeout-helpers-55473e4879d1


^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2026-09-30 22:53 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-15 19:42 [PATCH v3 0/7] drm: Consolidate the wait timeout conversion helpers Maíra Canal
2026-09-15 19:42 ` [PATCH v3 1/7] drm: Move drm_timeout_abs_to_jiffies() to drm_timeout.c Maíra Canal
2026-09-16 10:33   ` Jani Nikula
2026-09-28 16:03   ` Thomas Zimmermann
2026-09-28 16:12     ` Thomas Zimmermann
2026-09-28 16:23       ` Thomas Zimmermann
2026-09-15 19:42 ` [PATCH v3 2/7] drm: Add drm_timeout_rel_to_jiffies() Maíra Canal
2026-09-16 10:38   ` Jani Nikula
2026-09-16 10:38     ` Jani Nikula
2026-09-16 13:08     ` Maíra Canal
2026-09-16 16:06       ` Jani Nikula
2026-09-28 16:37   ` Thomas Zimmermann
2026-09-28 18:09     ` Maíra Canal
2026-09-29  8:07       ` Thomas Zimmermann
2026-09-15 19:42 ` [PATCH v3 3/7] drm/amdgpu: Use drm_timeout_abs_to_jiffies() Maíra Canal
2026-09-15 19:42 ` [PATCH v3 4/7] drm/v3d: Use drm_timeout_rel_to_jiffies() Maíra Canal
2026-09-29  8:22   ` Thomas Zimmermann
2026-09-15 19:42 ` [PATCH v3 5/7] drm/i915: " Maíra Canal
2026-09-16 10:42   ` Jani Nikula
2026-09-29  8:20   ` Thomas Zimmermann
2026-09-30 17:12   ` Andi Shyti
2026-09-15 19:42 ` [PATCH v3 6/7] drm/vc4: " Maíra Canal
2026-09-15 19:42 ` [PATCH v3 7/7] drm: Rename drm_utils.h to drm_panel_quirks.h Maíra Canal
2026-09-22 12:00   ` Maíra Canal
2026-09-29  8:17     ` Thomas Zimmermann
2026-09-15 21:21 ` ✓ i915.CI.BAT: success for drm: Consolidate the wait timeout conversion helpers (rev3) Patchwork
2026-09-16  9:14 ` ✓ i915.CI.Full: " Patchwork
2026-09-16 12:22 ` [PATCH v3 0/7] drm: Consolidate the wait timeout conversion helpers Christian König
2026-09-30 22:51 ` Maíra Canal

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.