[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <ZnLHj6riPiqVNc2T@intel.com>
Date: Wed, 19 Jun 2024 14:57:03 +0300
From: Ville Syrjälä <ville.syrjala@...ux.intel.com>
To: André Almeida <andrealmeid@...lia.com>
Cc: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>,
dri-devel@...ts.freedesktop.org, amd-gfx@...ts.freedesktop.org,
linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
nouveau@...ts.freedesktop.org, intel-gfx@...ts.freedesktop.org,
kernel-dev@...lia.com, Melissa Wen <mwen@...lia.com>,
alexander.deucher@....com, christian.koenig@....com,
Simon Ser <contact@...rsion.fr>,
Pekka Paalanen <ppaalanen@...il.com>, daniel@...ll.ch,
Daniel Stone <daniel@...ishbar.org>,
'Marek Olšák' <maraeo@...il.com>,
Dave Airlie <airlied@...il.com>, Xaver Hugl <xaver.hugl@...il.com>,
Joshua Ashton <joshua@...ggi.es>,
Michel Dänzer <michel.daenzer@...lbox.org>,
Sam Ravnborg <sam@...nborg.org>,
Boris Brezillon <bbrezillon@...nel.org>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Maxime Ripard <mripard@...nel.org>,
Thomas Zimmermann <tzimmermann@...e.de>,
Nicolas Ferre <nicolas.ferre@...rochip.com>,
Alexandre Belloni <alexandre.belloni@...tlin.com>,
Claudiu Beznea <claudiu.beznea@...on.dev>,
Jani Nikula <jani.nikula@...ux.intel.com>,
Rodrigo Vivi <rodrigo.vivi@...el.com>,
Karol Herbst <kherbst@...hat.com>, Lyude Paul <lyude@...hat.com>
Subject: Re: [PATCH v6 0/8] drm: Support per-plane async flip configuration
On Fri, Jun 14, 2024 at 04:37:41PM -0300, André Almeida wrote:
> Hi Dmitry,
>
> Em 14/06/2024 14:32, Dmitry Baryshkov escreveu:
> > On Fri, Jun 14, 2024 at 12:35:27PM GMT, André Almeida wrote:
> >> 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-andrealmeid@igalia.com/
> >>
> >> 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 +++-
> >
> > The main question is why only these drivers were updated.
> >
>
> According to `git grep async_page_flip`, only those drivers supports
> async page flip. The only corner case is radeon, that does supports
> async but doesn't support planes.
The primary plane will alwyas exist (drm_crtc_init() will create
one for the old drivers that don't do it explicitly). So you
should be able to convert radeon as well. And looks like some
pre-dc amdgpu stuff is in a similar situation.
That should presumably allow the old flag to be removed entirely?
Hmm, I suppose drm_getcap() would need a bit of work to eg. go
through all the planes to see if any of them support async flips.
>
> Do you know any other driver that should be updated to?
>
> >> include/drm/drm_plane.h | 5 +++++
> >> 8 files changed, 29 insertions(+), 4 deletions(-)
> >>
> >> --
> >> 2.45.2
> >>
> >
--
Ville Syrjälä
Intel
Powered by blists - more mailing lists