> -----Original Message-----
> From: Dibin Moolakadan Subrahmanian
> <[email protected]>
> Sent: Tuesday, June 16, 2026 9:52 PM
> To: [email protected]; [email protected]
> Cc: Shankar, Uma <[email protected]>; Manna, Animesh
> <[email protected]>; [email protected]
> Subject: [PATCH v6 06/16] drm/i915/display: Add DC3CO support check
>
> Add intel_display_power_dc3co_supported() helper to query DC3CO support
> from allowed_dc_mask.
>
> Changes in v5:
Nitpick: Imo, specific patch version history kept in per patch basis. Instead
of v5, v2 seems to me more logical. And overall patch series version history
can be part of cover-letter patch.
This can be taken care during merging.
> - Add HAS_DC3CO() check to intel_display_power_dc3co_supported().
>
> Signed-off-by: Dibin Moolakadan Subrahmanian
> <[email protected]>
> Reviewed-by: Uma Shankar <[email protected]>
Reviewed-by: Animesh Manna <[email protected]>
> ---
> drivers/gpu/drm/i915/display/intel_display_power.c | 10 ++++++++++
> drivers/gpu/drm/i915/display/intel_display_power.h | 1 +
> 2 files changed, 11 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c
> b/drivers/gpu/drm/i915/display/intel_display_power.c
> index e313d719fea1..9e66f9a4fcdc 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_power.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_power.c
> @@ -381,6 +381,16 @@ u32
> intel_display_power_get_current_dc_state(struct intel_display *display)
> return current_dc_state;
> }
>
> +bool intel_display_power_dc3co_supported(struct intel_display *display)
> +{
> + struct i915_power_domains *power_domains = &display-
> >power.domains;
> +
> + if (!HAS_DC3CO(display))
> + return false;
> +
> + return (power_domains->allowed_dc_mask &
> DC_STATE_EN_UPTO_DC3CO) ==
> +DC_STATE_EN_UPTO_DC3CO; }
> +
> static void __async_put_domains_mask(struct i915_power_domains
> *power_domains,
> struct intel_power_domain_mask *mask)
> { diff --git a/drivers/gpu/drm/i915/display/intel_display_power.h
> b/drivers/gpu/drm/i915/display/intel_display_power.h
> index b9c9b68072af..41b4be9018b4 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_power.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_power.h
> @@ -184,6 +184,7 @@ bool
> intel_display_power_get_and_reset_dc3co_to_dc6(struct intel_display
> *displa void intel_display_power_set_target_dc_state(struct intel_display
> *display,
> u32 state);
> u32 intel_display_power_get_current_dc_state(struct intel_display
> *display);
> +bool intel_display_power_dc3co_supported(struct intel_display
> +*display);
>
> void intel_display_power_runtime_suspend(struct intel_display *display);
> void intel_display_power_runtime_resume(struct intel_display *display);
> --
> 2.43.0