From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
To: Arun R Murthy <arun.r.murthy@intel.com>,
dri-devel@lists.freedesktop.org,
intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org
Cc: Simona Vetter <simona@ffwll.ch>,
Jani Nikula <jani.nikula@linux.intel.com>,
Rodrigo Vivi <rodrigo.vivi@intel.com>,
Joonas Lahtinen <joonas.lahtinen@linux.intel.com>,
naveen1.kumar@intel.com, xaver.hugl@kde.org,
uma.shankar@intel.com, harry.wentland@amd.com
Subject: Re: [PATCH v3 4/4] drm/i915/display: Error codes for async flip failures
Date: Fri, 22 Aug 2025 13:31:00 +0200 [thread overview]
Message-ID: <1043ceb7-8198-48ed-9040-9e5d08a01723@linux.intel.com> (raw)
In-Reply-To: <20250822-atomic-v3-4-13a0e8f2c581@intel.com>
Hey,
I'm not entirely sold on the design, it's way more complicated than it should be, it should be trivial to add any amount of error messages.
Replace return -EINVAL; with return drm_atomic_error_einval(state, class, "string");
Where class may be an enum, but in a way more generic way than currently specified, for example "invalid use of api", "requires modeset", "invalid arguments", "driver limitations", "async flip not possible".
The drm_atomic_error_einval() would set class and str as appropriate, and then return -EINVAL.
That's probably all we should need here.
Kind regards,
~Maarten
Den 2025-08-22 kl. 09:00, skrev Arun R Murthy:
> For failures in async flip atomic check/commit path return user readable
> error codes in struct drm_atomic_state.
>
> Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_display.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index c1a3a95c65f0b66c24ddd64f47dfdc67bbde86c9..5e23f4fc747bd01fa05eba63661bf7279b083317 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -5950,6 +5950,7 @@ static int intel_async_flip_check_uapi(struct intel_atomic_state *state,
> drm_dbg_kms(display->drm,
> "[CRTC:%d:%s] modeset required\n",
> crtc->base.base.id, crtc->base.name);
> + state->base.error_code->failure_flags = DRM_MODE_ATOMIC_CRTC_NEED_FULL_MODESET;
> return -EINVAL;
> }
>
> @@ -6019,6 +6020,7 @@ static int intel_async_flip_check_hw(struct intel_atomic_state *state, struct in
> drm_dbg_kms(display->drm,
> "[CRTC:%d:%s] modeset required\n",
> crtc->base.base.id, crtc->base.name);
> + state->base.error_code->failure_flags = DRM_MODE_ATOMIC_CRTC_NEED_FULL_MODESET;
> return -EINVAL;
> }
>
> @@ -6061,6 +6063,8 @@ static int intel_async_flip_check_hw(struct intel_atomic_state *state, struct in
> plane->base.base.id, plane->base.name,
> &new_plane_state->hw.fb->format->format,
> new_plane_state->hw.fb->modifier);
> + state->base.error_code->failure_flags =
> + DRM_MODE_ATOMIC_ASYNC_MODIFIER_NOT_SUPPORTED;
> return -EINVAL;
> }
>
>
next prev parent reply other threads:[~2025-08-22 11:31 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-22 7:00 [PATCH v3 0/4] User readable error codes on atomic_ioctl failure Arun R Murthy
2025-08-22 7:00 ` [PATCH v3 1/4] drm: Define user readable error codes for atomic ioctl Arun R Murthy
2025-08-22 10:37 ` Jani Nikula
2025-08-23 5:37 ` Murthy, Arun R
2025-08-25 9:44 ` Jani Nikula
2025-08-25 10:26 ` Murthy, Arun R
2025-08-22 16:14 ` Xaver Hugl
2025-08-23 5:46 ` Murthy, Arun R
2025-08-25 9:47 ` Jani Nikula
2025-08-25 10:32 ` Murthy, Arun R
2025-08-22 7:00 ` [PATCH v3 2/4] drm/atomic: Add error_code element in atomic_state Arun R Murthy
2025-08-22 7:00 ` [PATCH v3 3/4] drm/atomic: Return user readable error in atomic_ioctl Arun R Murthy
2025-08-22 10:50 ` Jani Nikula
2025-08-25 5:24 ` Murthy, Arun R
2025-08-22 7:00 ` [PATCH v3 4/4] drm/i915/display: Error codes for async flip failures Arun R Murthy
2025-08-22 11:31 ` Maarten Lankhorst [this message]
2025-08-22 11:46 ` Jani Nikula
2025-08-25 5:32 ` Murthy, Arun R
2025-08-22 7:09 ` ✗ CI.checkpatch: warning for User readable error codes on atomic_ioctl failure (rev2) Patchwork
2025-08-22 7:10 ` ✓ CI.KUnit: success " Patchwork
2025-08-22 7:25 ` ✗ CI.checksparse: warning " Patchwork
2025-08-22 7:49 ` ✗ Xe.CI.BAT: failure " Patchwork
2025-08-22 8:02 ` ✗ i915.CI.BAT: " Patchwork
2025-08-23 1:40 ` ✗ Xe.CI.Full: " Patchwork
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=1043ceb7-8198-48ed-9040-9e5d08a01723@linux.intel.com \
--to=maarten.lankhorst@linux.intel.com \
--cc=arun.r.murthy@intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=harry.wentland@amd.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=intel-xe@lists.freedesktop.org \
--cc=jani.nikula@linux.intel.com \
--cc=joonas.lahtinen@linux.intel.com \
--cc=naveen1.kumar@intel.com \
--cc=rodrigo.vivi@intel.com \
--cc=simona@ffwll.ch \
--cc=uma.shankar@intel.com \
--cc=xaver.hugl@kde.org \
/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.