diff mbox series

[v2,2/6] drm/i915: use INTEL_WAKEREF_DEF instead of magic -1 for intel_wakeref_t

Message ID 57e5f1989113be4d63386478d9438cfc35a2a1f7.1726680898.git.jani.nikula@intel.com (mailing list archive)
State New, archived
Headers show
Series drm/i915: wakeref fixes and improvements | expand

Commit Message

Jani Nikula Sept. 18, 2024, 5:35 p.m. UTC
A number of places rely on the magic -1 to denote
INTEL_WAKEREF_DEF. Switch to the macro. Define it for xe as well.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/display/intel_display_power.c        | 2 +-
 drivers/gpu/drm/i915/display/intel_display_power.h        | 4 ++--
 drivers/gpu/drm/i915/intel_runtime_pm.c                   | 6 +++---
 drivers/gpu/drm/i915/intel_wakeref.h                      | 2 +-
 drivers/gpu/drm/xe/compat-i915-headers/intel_runtime_pm.h | 7 ++++---
 drivers/gpu/drm/xe/compat-i915-headers/intel_wakeref.h    | 2 ++
 6 files changed, 13 insertions(+), 10 deletions(-)

Comments

Rodrigo Vivi Sept. 26, 2024, 8:45 p.m. UTC | #1
On Wed, Sep 18, 2024 at 08:35:44PM +0300, Jani Nikula wrote:
> A number of places rely on the magic -1 to denote
> INTEL_WAKEREF_DEF. Switch to the macro. Define it for xe as well.
> 
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_display_power.c        | 2 +-
>  drivers/gpu/drm/i915/display/intel_display_power.h        | 4 ++--
>  drivers/gpu/drm/i915/intel_runtime_pm.c                   | 6 +++---
>  drivers/gpu/drm/i915/intel_wakeref.h                      | 2 +-
>  drivers/gpu/drm/xe/compat-i915-headers/intel_runtime_pm.h | 7 ++++---
>  drivers/gpu/drm/xe/compat-i915-headers/intel_wakeref.h    | 2 ++
>  6 files changed, 13 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c b/drivers/gpu/drm/i915/display/intel_display_power.c
> index ecabb674644b..40727a22f18b 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_power.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_power.c
> @@ -895,7 +895,7 @@ intel_display_power_put_mask_in_set(struct drm_i915_private *i915,
>  		    !bitmap_subset(mask->bits, power_domain_set->mask.bits, POWER_DOMAIN_NUM));
>  
>  	for_each_power_domain(domain, mask) {
> -		intel_wakeref_t __maybe_unused wf = -1;
> +		intel_wakeref_t __maybe_unused wf = INTEL_WAKEREF_DEF;
>  
>  #if IS_ENABLED(CONFIG_DRM_I915_DEBUG_RUNTIME_PM)
>  		wf = fetch_and_zero(&power_domain_set->wakerefs[domain]);
> diff --git a/drivers/gpu/drm/i915/display/intel_display_power.h b/drivers/gpu/drm/i915/display/intel_display_power.h
> index 425452c5a469..3b7c1a0bb1de 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_power.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_power.h
> @@ -232,7 +232,7 @@ intel_display_power_put_async(struct drm_i915_private *i915,
>  			      enum intel_display_power_domain domain,
>  			      intel_wakeref_t wakeref)
>  {
> -	__intel_display_power_put_async(i915, domain, -1, -1);
> +	__intel_display_power_put_async(i915, domain, INTEL_WAKEREF_DEF, -1);
>  }
>  
>  static inline void
> @@ -241,7 +241,7 @@ intel_display_power_put_async_delay(struct drm_i915_private *i915,
>  				    intel_wakeref_t wakeref,
>  				    int delay_ms)
>  {
> -	__intel_display_power_put_async(i915, domain, -1, delay_ms);
> +	__intel_display_power_put_async(i915, domain, INTEL_WAKEREF_DEF, delay_ms);
>  }
>  #endif
>  
> diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c
> index 2d0647aca964..a21f5a1c89bc 100644
> --- a/drivers/gpu/drm/i915/intel_runtime_pm.c
> +++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
> @@ -66,7 +66,7 @@ static intel_wakeref_t
>  track_intel_runtime_pm_wakeref(struct intel_runtime_pm *rpm)
>  {
>  	if (!rpm->available || rpm->no_wakeref_tracking)
> -		return -1;
> +		return INTEL_WAKEREF_DEF;
>  
>  	return intel_ref_tracker_alloc(&rpm->debug);
>  }
> @@ -114,7 +114,7 @@ static void init_intel_runtime_pm_wakeref(struct intel_runtime_pm *rpm)
>  static intel_wakeref_t
>  track_intel_runtime_pm_wakeref(struct intel_runtime_pm *rpm)
>  {
> -	return -1;
> +	return INTEL_WAKEREF_DEF;
>  }
>  
>  static void untrack_intel_runtime_pm_wakeref(struct intel_runtime_pm *rpm,
> @@ -336,7 +336,7 @@ intel_runtime_pm_put_raw(struct intel_runtime_pm *rpm, intel_wakeref_t wref)
>   */
>  void intel_runtime_pm_put_unchecked(struct intel_runtime_pm *rpm)
>  {
> -	__intel_runtime_pm_put(rpm, -1, true);
> +	__intel_runtime_pm_put(rpm, INTEL_WAKEREF_DEF, true);
>  }
>  
>  #if IS_ENABLED(CONFIG_DRM_I915_DEBUG_RUNTIME_PM)
> diff --git a/drivers/gpu/drm/i915/intel_wakeref.h b/drivers/gpu/drm/i915/intel_wakeref.h
> index 68aa3be48251..3944587a5e78 100644
> --- a/drivers/gpu/drm/i915/intel_wakeref.h
> +++ b/drivers/gpu/drm/i915/intel_wakeref.h
> @@ -314,7 +314,7 @@ static inline void intel_wakeref_untrack(struct intel_wakeref *wf,
>  
>  static inline intel_wakeref_t intel_wakeref_track(struct intel_wakeref *wf)
>  {
> -	return -1;
> +	return INTEL_WAKEREF_DEF;
>  }
>  
>  static inline void intel_wakeref_untrack(struct intel_wakeref *wf,
> diff --git a/drivers/gpu/drm/xe/compat-i915-headers/intel_runtime_pm.h b/drivers/gpu/drm/xe/compat-i915-headers/intel_runtime_pm.h
> index 8c7b315aa8ac..380d25428bdb 100644
> --- a/drivers/gpu/drm/xe/compat-i915-headers/intel_runtime_pm.h
> +++ b/drivers/gpu/drm/xe/compat-i915-headers/intel_runtime_pm.h
> @@ -24,14 +24,14 @@ static inline intel_wakeref_t intel_runtime_pm_get(struct xe_runtime_pm *pm)
>  {
>  	struct xe_device *xe = container_of(pm, struct xe_device, runtime_pm);
>  
> -	return xe_pm_runtime_resume_and_get(xe);
> +	return xe_pm_runtime_resume_and_get(xe) ? INTEL_WAKEREF_DEF : 0;
>  }
>  
>  static inline intel_wakeref_t intel_runtime_pm_get_if_in_use(struct xe_runtime_pm *pm)
>  {
>  	struct xe_device *xe = container_of(pm, struct xe_device, runtime_pm);
>  
> -	return xe_pm_runtime_get_if_in_use(xe);
> +	return xe_pm_runtime_get_if_in_use(xe) ? INTEL_WAKEREF_DEF : 0;
>  }
>  
>  static inline intel_wakeref_t intel_runtime_pm_get_noresume(struct xe_runtime_pm *pm)
> @@ -39,7 +39,8 @@ static inline intel_wakeref_t intel_runtime_pm_get_noresume(struct xe_runtime_pm
>  	struct xe_device *xe = container_of(pm, struct xe_device, runtime_pm);
>  
>  	xe_pm_runtime_get_noresume(xe);
> -	return true;
> +
> +	return INTEL_WAKEREF_DEF;

oh! for some reason I thought we were redefining the intel_wakeref_t to bool
here in Xe...

>  }
>  
>  static inline void intel_runtime_pm_put_unchecked(struct xe_runtime_pm *pm)
> diff --git a/drivers/gpu/drm/xe/compat-i915-headers/intel_wakeref.h b/drivers/gpu/drm/xe/compat-i915-headers/intel_wakeref.h
> index ecb1c0707706..5c139ba144a6 100644
> --- a/drivers/gpu/drm/xe/compat-i915-headers/intel_wakeref.h
> +++ b/drivers/gpu/drm/xe/compat-i915-headers/intel_wakeref.h
> @@ -6,3 +6,5 @@
>  #include <linux/types.h>
>  
>  typedef unsigned long intel_wakeref_t;

but apparently not, but we were lucky!

this definition brings more clarity indeed.

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


> +
> +#define INTEL_WAKEREF_DEF ((intel_wakeref_t)(-1))
> -- 
> 2.39.2
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c b/drivers/gpu/drm/i915/display/intel_display_power.c
index ecabb674644b..40727a22f18b 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power.c
+++ b/drivers/gpu/drm/i915/display/intel_display_power.c
@@ -895,7 +895,7 @@  intel_display_power_put_mask_in_set(struct drm_i915_private *i915,
 		    !bitmap_subset(mask->bits, power_domain_set->mask.bits, POWER_DOMAIN_NUM));
 
 	for_each_power_domain(domain, mask) {
-		intel_wakeref_t __maybe_unused wf = -1;
+		intel_wakeref_t __maybe_unused wf = INTEL_WAKEREF_DEF;
 
 #if IS_ENABLED(CONFIG_DRM_I915_DEBUG_RUNTIME_PM)
 		wf = fetch_and_zero(&power_domain_set->wakerefs[domain]);
diff --git a/drivers/gpu/drm/i915/display/intel_display_power.h b/drivers/gpu/drm/i915/display/intel_display_power.h
index 425452c5a469..3b7c1a0bb1de 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power.h
+++ b/drivers/gpu/drm/i915/display/intel_display_power.h
@@ -232,7 +232,7 @@  intel_display_power_put_async(struct drm_i915_private *i915,
 			      enum intel_display_power_domain domain,
 			      intel_wakeref_t wakeref)
 {
-	__intel_display_power_put_async(i915, domain, -1, -1);
+	__intel_display_power_put_async(i915, domain, INTEL_WAKEREF_DEF, -1);
 }
 
 static inline void
@@ -241,7 +241,7 @@  intel_display_power_put_async_delay(struct drm_i915_private *i915,
 				    intel_wakeref_t wakeref,
 				    int delay_ms)
 {
-	__intel_display_power_put_async(i915, domain, -1, delay_ms);
+	__intel_display_power_put_async(i915, domain, INTEL_WAKEREF_DEF, delay_ms);
 }
 #endif
 
diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c
index 2d0647aca964..a21f5a1c89bc 100644
--- a/drivers/gpu/drm/i915/intel_runtime_pm.c
+++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
@@ -66,7 +66,7 @@  static intel_wakeref_t
 track_intel_runtime_pm_wakeref(struct intel_runtime_pm *rpm)
 {
 	if (!rpm->available || rpm->no_wakeref_tracking)
-		return -1;
+		return INTEL_WAKEREF_DEF;
 
 	return intel_ref_tracker_alloc(&rpm->debug);
 }
@@ -114,7 +114,7 @@  static void init_intel_runtime_pm_wakeref(struct intel_runtime_pm *rpm)
 static intel_wakeref_t
 track_intel_runtime_pm_wakeref(struct intel_runtime_pm *rpm)
 {
-	return -1;
+	return INTEL_WAKEREF_DEF;
 }
 
 static void untrack_intel_runtime_pm_wakeref(struct intel_runtime_pm *rpm,
@@ -336,7 +336,7 @@  intel_runtime_pm_put_raw(struct intel_runtime_pm *rpm, intel_wakeref_t wref)
  */
 void intel_runtime_pm_put_unchecked(struct intel_runtime_pm *rpm)
 {
-	__intel_runtime_pm_put(rpm, -1, true);
+	__intel_runtime_pm_put(rpm, INTEL_WAKEREF_DEF, true);
 }
 
 #if IS_ENABLED(CONFIG_DRM_I915_DEBUG_RUNTIME_PM)
diff --git a/drivers/gpu/drm/i915/intel_wakeref.h b/drivers/gpu/drm/i915/intel_wakeref.h
index 68aa3be48251..3944587a5e78 100644
--- a/drivers/gpu/drm/i915/intel_wakeref.h
+++ b/drivers/gpu/drm/i915/intel_wakeref.h
@@ -314,7 +314,7 @@  static inline void intel_wakeref_untrack(struct intel_wakeref *wf,
 
 static inline intel_wakeref_t intel_wakeref_track(struct intel_wakeref *wf)
 {
-	return -1;
+	return INTEL_WAKEREF_DEF;
 }
 
 static inline void intel_wakeref_untrack(struct intel_wakeref *wf,
diff --git a/drivers/gpu/drm/xe/compat-i915-headers/intel_runtime_pm.h b/drivers/gpu/drm/xe/compat-i915-headers/intel_runtime_pm.h
index 8c7b315aa8ac..380d25428bdb 100644
--- a/drivers/gpu/drm/xe/compat-i915-headers/intel_runtime_pm.h
+++ b/drivers/gpu/drm/xe/compat-i915-headers/intel_runtime_pm.h
@@ -24,14 +24,14 @@  static inline intel_wakeref_t intel_runtime_pm_get(struct xe_runtime_pm *pm)
 {
 	struct xe_device *xe = container_of(pm, struct xe_device, runtime_pm);
 
-	return xe_pm_runtime_resume_and_get(xe);
+	return xe_pm_runtime_resume_and_get(xe) ? INTEL_WAKEREF_DEF : 0;
 }
 
 static inline intel_wakeref_t intel_runtime_pm_get_if_in_use(struct xe_runtime_pm *pm)
 {
 	struct xe_device *xe = container_of(pm, struct xe_device, runtime_pm);
 
-	return xe_pm_runtime_get_if_in_use(xe);
+	return xe_pm_runtime_get_if_in_use(xe) ? INTEL_WAKEREF_DEF : 0;
 }
 
 static inline intel_wakeref_t intel_runtime_pm_get_noresume(struct xe_runtime_pm *pm)
@@ -39,7 +39,8 @@  static inline intel_wakeref_t intel_runtime_pm_get_noresume(struct xe_runtime_pm
 	struct xe_device *xe = container_of(pm, struct xe_device, runtime_pm);
 
 	xe_pm_runtime_get_noresume(xe);
-	return true;
+
+	return INTEL_WAKEREF_DEF;
 }
 
 static inline void intel_runtime_pm_put_unchecked(struct xe_runtime_pm *pm)
diff --git a/drivers/gpu/drm/xe/compat-i915-headers/intel_wakeref.h b/drivers/gpu/drm/xe/compat-i915-headers/intel_wakeref.h
index ecb1c0707706..5c139ba144a6 100644
--- a/drivers/gpu/drm/xe/compat-i915-headers/intel_wakeref.h
+++ b/drivers/gpu/drm/xe/compat-i915-headers/intel_wakeref.h
@@ -6,3 +6,5 @@ 
 #include <linux/types.h>
 
 typedef unsigned long intel_wakeref_t;
+
+#define INTEL_WAKEREF_DEF ((intel_wakeref_t)(-1))