From aa51f0309a0fc81d54e1dd0c1c8cc26bfb8babed Mon Sep 17 00:00:00 2001 From: Jani Nikula Date: Tue, 25 Nov 2025 15:24:40 +0200 Subject: [PATCH] drm/i915/pps: convert intel_wakeref_t to struct ref_tracker * Under the hood, intel_wakeref_t is just struct ref_tracker *. Use the actual underlying type both for clarity (we *are* using intel_wakeref_t as a pointer though it doesn't look like one) and to help i915, xe and display coexistence without custom types. Reviewed-by: Luca Coelho Link: https://patch.msgid.link/e7afaea1a609485f91669a7d3c5d3fde0e0dbf8b.1764076995.git.jani.nikula@intel.com Signed-off-by: Jani Nikula --- drivers/gpu/drm/i915/display/intel_dp_aux.c | 2 +- drivers/gpu/drm/i915/display/intel_pps.c | 7 +++---- drivers/gpu/drm/i915/display/intel_pps.h | 9 ++++----- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_dp_aux.c b/drivers/gpu/drm/i915/display/intel_dp_aux.c index d1a93e4a59b50..f0eb7794184ec 100644 --- a/drivers/gpu/drm/i915/display/intel_dp_aux.c +++ b/drivers/gpu/drm/i915/display/intel_dp_aux.c @@ -248,7 +248,7 @@ intel_dp_aux_xfer(struct intel_dp *intel_dp, u32 aux_clock_divider; enum intel_display_power_domain aux_domain; intel_wakeref_t aux_wakeref; - intel_wakeref_t pps_wakeref = NULL; + struct ref_tracker *pps_wakeref = NULL; int i, ret, recv_bytes; int try, clock = 0; u32 status; diff --git a/drivers/gpu/drm/i915/display/intel_pps.c b/drivers/gpu/drm/i915/display/intel_pps.c index 34376255b85c4..b217ec7aa7589 100644 --- a/drivers/gpu/drm/i915/display/intel_pps.c +++ b/drivers/gpu/drm/i915/display/intel_pps.c @@ -67,10 +67,10 @@ static const char *pps_name(struct intel_dp *intel_dp) return "PPS "; } -intel_wakeref_t intel_pps_lock(struct intel_dp *intel_dp) +struct ref_tracker *intel_pps_lock(struct intel_dp *intel_dp) { struct intel_display *display = to_intel_display(intel_dp); - intel_wakeref_t wakeref; + struct ref_tracker *wakeref; /* * See vlv_pps_reset_all() why we need a power domain reference here. @@ -81,8 +81,7 @@ intel_wakeref_t intel_pps_lock(struct intel_dp *intel_dp) return wakeref; } -intel_wakeref_t intel_pps_unlock(struct intel_dp *intel_dp, - intel_wakeref_t wakeref) +struct ref_tracker *intel_pps_unlock(struct intel_dp *intel_dp, struct ref_tracker *wakeref) { struct intel_display *display = to_intel_display(intel_dp); diff --git a/drivers/gpu/drm/i915/display/intel_pps.h b/drivers/gpu/drm/i915/display/intel_pps.h index ad5c458ccdaf0..f7c96d75be457 100644 --- a/drivers/gpu/drm/i915/display/intel_pps.h +++ b/drivers/gpu/drm/i915/display/intel_pps.h @@ -8,20 +8,19 @@ #include -#include "intel_wakeref.h" - enum pipe; struct intel_connector; struct intel_crtc_state; struct intel_display; struct intel_dp; struct intel_encoder; +struct ref_tracker; -intel_wakeref_t intel_pps_lock(struct intel_dp *intel_dp); -intel_wakeref_t intel_pps_unlock(struct intel_dp *intel_dp, intel_wakeref_t wakeref); +struct ref_tracker *intel_pps_lock(struct intel_dp *intel_dp); +struct ref_tracker *intel_pps_unlock(struct intel_dp *intel_dp, struct ref_tracker *wakeref); #define __with_intel_pps_lock(dp, wf) \ - for (intel_wakeref_t (wf) = intel_pps_lock(dp); (wf); (wf) = intel_pps_unlock((dp), (wf))) + for (struct ref_tracker *(wf) = intel_pps_lock(dp); (wf); (wf) = intel_pps_unlock((dp), (wf))) #define with_intel_pps_lock(dp) \ __with_intel_pps_lock((dp), __UNIQUE_ID(wakeref)) -- 2.47.3