From mboxrd@z Thu Jan 1 00:00:00 1970 From: Claude Code Review Bot To: dri-devel-reviews@example.com Subject: Claude review: drm/i915/display: Error codes for async flip failures Date: Tue, 24 Feb 2026 10:27:00 +1000 Message-ID: In-Reply-To: <20260223-atomic-v10-6-f59c8def2e70@intel.com> References: <20260223-atomic-v10-0-f59c8def2e70@intel.com> <20260223-atomic-v10-6-f59c8def2e70@intel.com> X-Mailer: Claude Code Patch Reviewer Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit MIME-Version: 1.0 Patch Review > + drm_mode_atomic_add_error_msg(&state->base.error_code, > + DRM_MODE_ATOMIC_INVALID_API_USAGE, > + "[PLANE:%d:%s] pixel format %p4cc / 0x%llx modifier does not support async flip", > + plane->base.base.id, plane->base.name, > + &new_plane_state->hw.fb->format->format, > + new_plane_state->hw.fb->modifier); The `%p4cc` format specifier is a kernel printk extension. While `kvasprintf` (used internally) does support it, the resulting string is copied to userspace. The kernel %p extensions produce kernel-internal formatting that may change between kernel versions. Passing kernel-formatted strings to userspace as a stable API is fragile. Consider using a plain hex value instead. The conversion is also incomplete. Only 3 out of many error cases in `intel_async_flip_check_uapi` and `intel_async_flip_check_hw` have been converted. For example, the "not active", "joiner disallowed", "no old or new framebuffer", "stride cannot change", "modifier cannot change", etc. cases all still use `drm_dbg_kms`. If the feature is to be useful, it should cover all error paths, not just a few. --- Generated by Claude Code Patch Reviewer