All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Simon Ser <contact@emersion.fr>
Cc: dri-devel@lists.freedesktop.org,
	Simona Vetter <simona.vetter@ffwll.ch>,
	Pekka Paalanen <pekka.paalanen@collabora.com>,
	David Turner <david.turner@raspberrypi.com>
Subject: Re: [PATCH] drm: document DRM_MODE_PAGE_FLIP_EVENT interactions with atomic
Date: Fri, 17 Jan 2025 13:32:30 +0200	[thread overview]
Message-ID: <Z4o_zteNVH6gqn2h@intel.com> (raw)
In-Reply-To: <20250116162528.2235991-1-contact@emersion.fr>

On Thu, Jan 16, 2025 at 04:25:35PM +0000, Simon Ser wrote:
> It's not obvious off-hand which CRTCs will get a page-flip event
> when using this flag in an atomic commit, because it's all
> implicitly implied based on the contents of the atomic commit.
> Document requirements for using this flag and
> 
> Note, because prepare_signaling() runs right after
> drm_atomic_set_property() calls, page-flip events are not delivered
> for CRTCs pulled in later by DRM core (e.g. on modeset by
> drm_atomic_helper_check_modeset()) or the driver (e.g. other CRTCs
> sharing a DP-MST connector).
> 
> Signed-off-by: Simon Ser <contact@emersion.fr>
> Cc: Simona Vetter <simona.vetter@ffwll.ch>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Cc: Pekka Paalanen <pekka.paalanen@collabora.com>
> Cc: David Turner <david.turner@raspberrypi.com>
> ---
>  include/uapi/drm/drm_mode.h | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h
> index c082810c08a8..a122bea25593 100644
> --- a/include/uapi/drm/drm_mode.h
> +++ b/include/uapi/drm/drm_mode.h
> @@ -962,6 +962,14 @@ struct hdr_output_metadata {
>   * Request that the kernel sends back a vblank event (see
>   * struct drm_event_vblank) with the &DRM_EVENT_FLIP_COMPLETE type when the
>   * page-flip is done.
> + *
> + * When used with atomic uAPI, one event will be delivered per CRTC included in
> + * the atomic commit. A CRTC is included in an atomic commit if one of its
> + * properties is set, or if a property is set on a connector or plane linked
> + * via the CRTC_ID property to the CRTC. At least one CRTC must be included,
> + * and all pulled in CRTCs must be either previously or newly powered on (in
> + * other words, a powered off CRTC which stays off cannot be included in the
> + * atomic commit).

I don't understand all this stuff about powered off crtcs? If 
someone sucks in a powered off thing then things will generally
work just fine.

There is a bit of corner case with the way we internally complete
the commits for disabled things (not just crtcs, but also planes
and connectors) and that can apparently happen a bit later than
the commit completion for the enabled things. That seems to be
causing a bit of grief for sway which insists on adding all kinds
of disabled planes to every commit:
https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13410

-- 
Ville Syrjälä
Intel

  parent reply	other threads:[~2025-01-17 11:32 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-16 16:25 [PATCH] drm: document DRM_MODE_PAGE_FLIP_EVENT interactions with atomic Simon Ser
2025-01-17 11:15 ` Pekka Paalanen
2025-04-14  8:24   ` Simon Ser
2025-04-15 10:53     ` Daniel Stone
2025-01-17 11:32 ` Ville Syrjälä [this message]
2025-01-17 11:40   ` Simon Ser
2025-01-17 12:45     ` Ville Syrjälä

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Z4o_zteNVH6gqn2h@intel.com \
    --to=ville.syrjala@linux.intel.com \
    --cc=contact@emersion.fr \
    --cc=david.turner@raspberrypi.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=pekka.paalanen@collabora.com \
    --cc=simona.vetter@ffwll.ch \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.