From: Chaitanya Kumar Borah <chaitanya.kumar.borah@intel.com>
To: dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org,
intel-xe@lists.freedesktop.org, amd-gfx@lists.freedesktop.org
Cc: harry.wentland@amd.com, jani.nikula@linux.intel.com,
louis.chauvet@bootlin.com, mwen@igalia.com, contact@emersion.fr,
alex.hung@amd.com, daniels@collabora.com, uma.shankar@intel.com,
suraj.kandpal@intel.com, nfraprado@collabora.com,
ville.syrjala@linux.intel.com, matthew.d.roper@intel.com,
maarten.lankhorst@intel.com, chaitanya.kumar.borah@intel.com
Subject: [RESEND 0/9] drm: Color pipeline teardown and follow-up fixes/improvements
Date: Mon, 2 Feb 2026 15:11:53 +0530 [thread overview]
Message-ID: <20260202094202.2871478-1-chaitanya.kumar.borah@intel.com> (raw)
This series contains follow-up fixes and improvements for the DRM color
pipeline infrastructure that was introduced in v6.19.[1][2]
The central handling of clean up of colorop from the mode_config list
is missing. While vkms calls drm_colorop_pipeline_destroy() in vkms_destroy(),
amd driver calls it only during failure of the init path and i915/xe driver
does not call it at all. This means amd and intel leaks these objects on
driver removal.
This series adds the teardown of mode_config.colorop_list in drm_mode_config_cleanup().
Since, i915/xe sub-classes the drm_colorop within intel_colorop it was not enough
to just use drm_colorop_pipeline_destroy(). Therefore, this series
- Introduces driver-managed destruction for drm_colorop objects and
updates core helpers to use driver-provided destroy callbacks.
- Ensures all colorop objects are correctly torn down during
mode_config cleanup and driver removal.
In addition to that following changes are made in the series
- Refactors i915 plane color pipeline initialization to reliably clean
up partially constructed pipelines on failure.
Thanks for taking a look. Feedback is welcome.
[1] https://lore.kernel.org/dri-devel/cbe00ac4-a535-47d3-813a-e2eda7e9b991@amd.com/
[2] https://lore.kernel.org/intel-gfx/20251203085211.3663374-1-uma.shankar@intel.com/
v2:
- Re-arrange patches (Alex)
- Re-factor code to avoid repitition in pipeline creation (Suraj)
v3:
- Add documentation only to function definition (Jani)
- s/nvl/xe3plpd (Suraj)
resend:
- for merge (remaining patches)
Chaitanya Kumar Borah (9):
drm/colorop: Add destroy helper for colorop objects
drm: Allow driver-managed destruction of colorop objects
drm/amd/display: Hook up colorop destroy helper for plane pipelines
drm/vkms: Hook up colorop destroy helper for plane pipelines
drm/i915/display: Hook up intel_colorop_destroy
drm: Clean up colorop objects during mode_config cleanup
drm/vkms: Remove drm_colorop_pipeline_destroy() from vkms_destroy()
drm/colorop: Use destroy callback for color pipeline teardown
drm/i915/color: Add failure handling in plane color pipeline init
.../amd/display/amdgpu_dm/amdgpu_dm_colorop.c | 27 ++-
drivers/gpu/drm/drm_colorop.c | 49 +++--
drivers/gpu/drm/drm_mode_config.c | 6 +
.../drm/i915/display/intel_color_pipeline.c | 171 +++++++++++++-----
drivers/gpu/drm/i915/display/intel_colorop.c | 6 +
drivers/gpu/drm/i915/display/intel_colorop.h | 1 +
drivers/gpu/drm/vkms/vkms_colorop.c | 16 +-
drivers/gpu/drm/vkms/vkms_drv.c | 1 -
include/drm/drm_colorop.h | 32 +++-
9 files changed, 231 insertions(+), 78 deletions(-)
--
2.25.1
next reply other threads:[~2026-02-02 10:07 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-02 9:41 Chaitanya Kumar Borah [this message]
2026-02-02 9:41 ` [RESEND 1/9] drm/colorop: Add destroy helper for colorop objects Chaitanya Kumar Borah
2026-02-02 9:41 ` [RESEND 2/9] drm: Allow driver-managed destruction of " Chaitanya Kumar Borah
2026-02-02 9:41 ` [RESEND 3/9] drm/amd/display: Hook up colorop destroy helper for plane pipelines Chaitanya Kumar Borah
2026-02-02 9:41 ` [RESEND 4/9] drm/vkms: " Chaitanya Kumar Borah
2026-02-02 9:41 ` [RESEND 5/9] drm/i915/display: Hook up intel_colorop_destroy Chaitanya Kumar Borah
2026-02-02 9:41 ` [RESEND 6/9] drm: Clean up colorop objects during mode_config cleanup Chaitanya Kumar Borah
2026-02-02 9:42 ` [RESEND 7/9] drm/vkms: Remove drm_colorop_pipeline_destroy() from vkms_destroy() Chaitanya Kumar Borah
2026-02-02 9:42 ` [RESEND 8/9] drm/colorop: Use destroy callback for color pipeline teardown Chaitanya Kumar Borah
2026-02-02 9:42 ` [RESEND 9/9] drm/i915/color: Add failure handling in plane color pipeline init Chaitanya Kumar Borah
2026-02-02 20:26 ` ✓ i915.CI.BAT: success for drm: Color pipeline teardown and follow-up fixes/improvements (rev4) Patchwork
2026-02-03 1:44 ` ✗ i915.CI.Full: failure " Patchwork
2026-02-10 6:27 ` ✓ i915.CI.Full: success " 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=20260202094202.2871478-1-chaitanya.kumar.borah@intel.com \
--to=chaitanya.kumar.borah@intel.com \
--cc=alex.hung@amd.com \
--cc=amd-gfx@lists.freedesktop.org \
--cc=contact@emersion.fr \
--cc=daniels@collabora.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=louis.chauvet@bootlin.com \
--cc=maarten.lankhorst@intel.com \
--cc=matthew.d.roper@intel.com \
--cc=mwen@igalia.com \
--cc=nfraprado@collabora.com \
--cc=suraj.kandpal@intel.com \
--cc=uma.shankar@intel.com \
--cc=ville.syrjala@linux.intel.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox