On 27-05-2026 17:56, Jani Nikula wrote:
On Wed, 27 May 2026, Dibin Moolakadan Subrahmanian 
<[email protected]> wrote:
Add intel_display_power_dc3co_supported() helper to query DC3CO
support from allowed_dc_mask.

Changes in v2:
- Squash "Add helper to check DC3CO support" patch into this patch

Changes in v4:
- Remove introduced dc state validation,as it may break
   fall back mechanism (sashiko)

Signed-off-by: Dibin Moolakadan Subrahmanian 
<[email protected]>
---
  drivers/gpu/drm/i915/display/intel_display_power.c | 8 ++++++++
  drivers/gpu/drm/i915/display/intel_display_power.h | 1 +
  2 files changed, 9 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c 
b/drivers/gpu/drm/i915/display/intel_display_power.c
index c70971ffd9f0..4b91747b38f1 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power.c
+++ b/drivers/gpu/drm/i915/display/intel_display_power.c
@@ -302,6 +302,7 @@ void intel_display_power_set_target_dc_state(struct 
intel_display *display,
        struct i915_power_domains *power_domains = &display->power.domains;
mutex_lock(&power_domains->lock);
+
Superfluous.

Thanks for the review.
My bad, will fix it in next revision.


        power_well = lookup_power_well(display, SKL_DISP_DC_OFF);
if (drm_WARN_ON(display->drm, !power_well))
@@ -358,6 +359,13 @@ 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)
This should probably be static. See my other replies in the thread.

Will check the other replies.


+{
+       struct i915_power_domains *power_domains = &display->power.domains;
+
+       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 d616d5d09cbe..05880e9da89f 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power.h
+++ b/drivers/gpu/drm/i915/display/intel_display_power.h
@@ -186,6 +186,7 @@ void intel_display_power_resume(struct intel_display 
*display);
  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);
bool intel_display_power_is_enabled(struct intel_display *display,
                                    enum intel_display_power_domain domain);

Reply via email to