All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rodrigo Vivi <rodrigo.vivi@intel.com>
To: Jani Nikula <jani.nikula@intel.com>
Cc: <intel-gfx@lists.freedesktop.org>, <intel-xe@lists.freedesktop.org>
Subject: Re: [PATCH v2 2/6] drm/i915: use INTEL_WAKEREF_DEF instead of magic -1 for intel_wakeref_t
Date: Thu, 26 Sep 2024 16:45:47 -0400	[thread overview]
Message-ID: <ZvXH-4IMJxUBooi3@intel.com> (raw)
In-Reply-To: <57e5f1989113be4d63386478d9438cfc35a2a1f7.1726680898.git.jani.nikula@intel.com>

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
> 

  reply	other threads:[~2024-09-26 20:46 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-18 17:35 [PATCH v2 0/6] drm/i915: wakeref fixes and improvements Jani Nikula
2024-09-18 17:35 ` [PATCH v2 1/6] drm/i915/gem: fix bitwise and logical AND mixup Jani Nikula
2024-09-26 20:40   ` Rodrigo Vivi
2024-09-27  8:38     ` Jani Nikula
2024-09-30 13:54       ` Jani Nikula
2024-09-30 14:23         ` Matthew Auld
2024-09-30 14:58           ` Jani Nikula
2024-09-18 17:35 ` [PATCH v2 2/6] drm/i915: use INTEL_WAKEREF_DEF instead of magic -1 for intel_wakeref_t Jani Nikula
2024-09-26 20:45   ` Rodrigo Vivi [this message]
2024-09-18 17:35 ` [PATCH v2 3/6] drm/i915/display: return 0 instead of false for disabled power wakeref Jani Nikula
2024-09-26 20:46   ` Rodrigo Vivi
2024-09-18 17:35 ` [PATCH v2 4/6] drm/i915/gt: add a macro for mock gt wakeref special value and use it Jani Nikula
2024-09-26 20:49   ` Rodrigo Vivi
2024-09-18 17:35 ` [PATCH v2 5/6] drm/i915/audio: be explicit about intel_wakeref_t conversions Jani Nikula
2024-09-26 20:49   ` Rodrigo Vivi
2024-09-18 17:35 ` [PATCH v2 6/6] drm/i915: switch intel_wakeref_t underlying type to struct ref_tracker * Jani Nikula
2024-09-26 20:52   ` Rodrigo Vivi
2024-09-18 18:24 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: wakeref fixes and improvements (rev2) Patchwork
2024-09-18 18:24 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-09-18 18:36 ` ✗ Fi.CI.BAT: failure " Patchwork
2024-09-18 21:37 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: wakeref fixes and improvements (rev3) Patchwork
2024-09-18 21:37 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-09-18 21:38 ` ✓ CI.Patch_applied: success for drm/i915: wakeref fixes and improvements (rev2) Patchwork
2024-09-18 21:39 ` ✗ CI.checkpatch: warning " Patchwork
2024-09-18 21:40 ` ✓ CI.KUnit: success " Patchwork
2024-09-18 21:46 ` ✓ Fi.CI.BAT: success for drm/i915: wakeref fixes and improvements (rev3) Patchwork
2024-09-18 21:51 ` ✓ CI.Build: success for drm/i915: wakeref fixes and improvements (rev2) Patchwork
2024-09-18 21:54 ` ✓ CI.Hooks: " Patchwork
2024-09-18 21:55 ` ✗ CI.checksparse: warning " Patchwork
2024-09-18 22:14 ` ✓ CI.BAT: success " Patchwork
2024-09-19  9:25 ` ✗ Fi.CI.IGT: failure for drm/i915: wakeref fixes and improvements (rev3) Patchwork
2024-09-19 11:05 ` ✗ CI.FULL: failure for drm/i915: wakeref fixes and improvements (rev2) Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZvXH-4IMJxUBooi3@intel.com \
    --to=rodrigo.vivi@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=jani.nikula@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.