|
|
Log in / Subscribe / Register

drm: Support per-plane async flip configuration

From:  André Almeida <andrealmeid-AT-igalia.com>
To:  dri-devel-AT-lists.freedesktop.org, amd-gfx-AT-lists.freedesktop.org, linux-kernel-AT-vger.kernel.org, linux-arm-kernel-AT-lists.infradead.org, nouveau-AT-lists.freedesktop.org, intel-gfx-AT-lists.freedesktop.org
Subject:  [PATCH v6 0/8] drm: Support per-plane async flip configuration
Date:  Fri, 14 Jun 2024 12:35:27 -0300
Message-ID:  <20240614153535.351689-1-andrealmeid@igalia.com>
Cc:  kernel-dev-AT-igalia.com, Melissa Wen <mwen-AT-igalia.com>, alexander.deucher-AT-amd.com, christian.koenig-AT-amd.com, Simon Ser <contact-AT-emersion.fr>, Pekka Paalanen <ppaalanen-AT-gmail.com>, daniel-AT-ffwll.ch, Daniel Stone <daniel-AT-fooishbar.org>, 'Marek Olšák' <maraeo-AT-gmail.com>, Dave Airlie <airlied-AT-gmail.com>, ville.syrjala-AT-linux.intel.com, Xaver Hugl <xaver.hugl-AT-gmail.com>, Joshua Ashton <joshua-AT-froggi.es>, Michel Dänzer <michel.daenzer-AT-mailbox.org>, Sam Ravnborg <sam-AT-ravnborg.org>, Boris Brezillon <bbrezillon-AT-kernel.org>, Maarten Lankhorst <maarten.lankhorst-AT-linux.intel.com>, Maxime Ripard <mripard-AT-kernel.org>, Thomas Zimmermann <tzimmermann-AT-suse.de>, Nicolas Ferre <nicolas.ferre-AT-microchip.com>, Alexandre Belloni <alexandre.belloni-AT-bootlin.com>, Claudiu Beznea <claudiu.beznea-AT-tuxon.dev>, Jani Nikula <jani.nikula-AT-linux.intel.com>, Rodrigo Vivi <rodrigo.vivi-AT-intel.com>, Karol Herbst <kherbst-AT-redhat.com>, Lyude Paul <lyude-AT-redhat.com>, André Almeida <andrealmeid-AT-igalia.com>
Archive-link:  Article

AMD hardware can do async flips with overlay planes, but currently there's no
easy way to enable that in DRM. To solve that, this patchset creates a new
drm_plane field, bool async_flip, that allows drivers to choose which plane can
or cannot do async flips. This is latter used on drm_atomic_set_property when
users want to do async flips.

Patch 1 allows async commits with IN_FENCE_ID in any driver.

Patches 2 to 7 have no function change. As per current code, every driver that
allows async page flips using the atomic API, allows doing it only in the
primary plane. Those patches then enable it for every driver.

Patch 8 finally enables async flip on overlay planes for amdgpu.

Changes from v5:
- Instead of enabling plane->async_flip in the common code, move it to driver
code.
- Enable primary plane async flip on every driver
https://lore.kernel.org/dri-devel/20240612193713.167448-1...

André Almeida (8):
  drm/atomic: Allow userspace to use explicit sync with atomic async
    flips
  drm: Support per-plane async flip configuration
  drm/amdgpu: Enable async flips on the primary plane
  drm: atmel-hlcdc: Enable async flips on the primary plane
  drm/i915: Enable async flips on the primary plane
  drm/nouveau: Enable async flips on the primary plane
  drm/vc4: Enable async flips on the primary plane
  drm/amdgpu: Make it possible to async flip overlay planes

 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c | 2 ++
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c         | 3 +++
 drivers/gpu/drm/drm_atomic_uapi.c                       | 8 +++++---
 drivers/gpu/drm/i915/display/i9xx_plane.c               | 3 +++
 drivers/gpu/drm/nouveau/dispnv04/crtc.c                 | 4 ++++
 drivers/gpu/drm/nouveau/dispnv50/wndw.c                 | 4 ++++
 drivers/gpu/drm/vc4/vc4_plane.c                         | 4 +++-
 include/drm/drm_plane.h                                 | 5 +++++
 8 files changed, 29 insertions(+), 4 deletions(-)

-- 
2.45.2



Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds