Re: [PATCH v18 9/9] drm/xe/xelp: Expose AuxCCS frame buffer modifiers on Alderlake-P

Rodrigo Vivi
2026-03-04T13:55:20Z

On Wed, Mar 04, 2026 at 01:03:14PM +0000, Tvrtko Ursulin wrote:
> Now that we have implemented all the related missing bits we can enable
> the AuxCCS compressed modifiers which were disabled in
> cf48bddd31de ("drm/i915/display: Disable AuxCCS framebuffers if built for Xe").
>
> Tested with KDE Wayland, on Lenovo Carbon X1 ADL-P:
>
> [PLANE:32:plane 1A]: type=PRI
> uapi: [FB:242] AR30 little-endian (0x30335241),0x100000000000008,2880x1800, visible=visible, src=28
> hw: [FB:242] AR30 little-endian (0x30335241),0x100000000000008,2880x1800, visible=yes, src=2880.000
>
> Display is working fine - no artefacts, no DMAR/PIPE faults.
>
> v2:
> * Adjust patch title. (Rodrigo)
>
> v3:
> * Complete rewrite based on the display parent interface.

Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

>
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
> References: cf48bddd31de ("drm/i915/display: Disable AuxCCS framebuffers if built for Xe")
> Cc: Jani Nikula <jani.nikula@intel.com>
> Cc: José Roberto de Souza <jose.souza@intel.com>
> Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com> # v2
> ---
> drivers/gpu/drm/xe/display/xe_display.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/drivers/gpu/drm/xe/display/xe_display.c b/drivers/gpu/drm/xe/display/xe_display.c
> index c8dd3faa9b97..5180de285295 100644
> --- a/drivers/gpu/drm/xe/display/xe_display.c
> +++ b/drivers/gpu/drm/xe/display/xe_display.c
> @@ -539,6 +539,13 @@ static const struct intel_display_irq_interface xe_display_irq_interface = {
> .synchronize = irq_synchronize,
> };
>
> +static bool has_auxccs(struct drm_device *drm)
> +{
> + struct xe_device *xe = to_xe_device(drm);
> +
> + return xe->info.platform == XE_ALDERLAKE_P;
> +}
> +
> static const struct intel_display_parent_interface parent = {
> .dsb = &xe_display_dsb_interface,
> .hdcp = &xe_display_hdcp_interface,
> @@ -548,6 +555,7 @@ static const struct intel_display_parent_interface parent = {
> .pcode = &xe_display_pcode_interface,
> .rpm = &xe_display_rpm_interface,
> .stolen = &xe_display_stolen_interface,
> + .has_auxccs = has_auxccs,
> };
>
> /**
> --
> 2.52.0
>