On Tue, 13 Jan 2026, Chaitanya Kumar Borah <[email protected]> wrote: > 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 > - Fixes enum name lifetime leaks in color pipeline init in i915, amdgpu_dm, > and vkms > - Corrects the ordering of the 3D LUT block in the i915 plane color pipeline > - Refactors i915 plane color pipeline initialization to reliably clean > up partially constructed pipelines on failure. > > Thanks for taking a look. Feedback is welcome.
I did not do detailed review, but Acked-by: Jani Nikula <[email protected]> for merging via drm-misc. Please coordinate with drm and drm-misc maintainers on which branch these should merged through. IIUC there are memory leak fixes for changes heading to v6.19, which speaks for drm-misc-fixes. But is it too much at this stage? Up to drm and drm-misc maintainers I think. BR, Jani. > > [1] > https://lore.kernel.org/dri-devel/[email protected]/ > [2] > https://lore.kernel.org/intel-gfx/[email protected]/ > > 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) > > Chaitanya Kumar Borah (13): > drm/i915/color: Place 3D LUT after CSC in plane color pipeline > drm/amd/display: Fix color pipeline enum name leak > drm/vkms: Fix color pipeline enum name leak > drm/i915/display: Fix color pipeline enum name leak > 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 | 31 ++- > .../amd/display/amdgpu_dm/amdgpu_dm_plane.c | 13 +- > drivers/gpu/drm/drm_colorop.c | 49 +++-- > drivers/gpu/drm/drm_mode_config.c | 6 + > .../drm/i915/display/intel_color_pipeline.c | 179 +++++++++++++----- > 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 | 31 +-- > drivers/gpu/drm/vkms/vkms_drv.c | 1 - > include/drm/drm_colorop.h | 32 +++- > 10 files changed, 259 insertions(+), 90 deletions(-) -- Jani Nikula, Intel
