All of lore.kernel.org
 help / color / mirror / Atom feed
From: Imre Deak <imre.deak@intel.com>
To: Jani Nikula <jani.nikula@linux.intel.com>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [Intel-gfx] [PATCH 18/18] drm/i915/runtime_pm: Prefer drm_WARN* over WARN*
Date: Tue, 21 Apr 2020 12:48:09 +0300	[thread overview]
Message-ID: <20200421094809.GB29723@ideak-desk.fi.intel.com> (raw)
In-Reply-To: <87imhtz1hz.fsf@intel.com>

On Tue, Apr 21, 2020 at 11:28:24AM +0300, Jani Nikula wrote:
> 
> Imre, please check the one question inline.
> 
> On Mon, 06 Apr 2020, Pankaj Bharadiya <pankaj.laxminarayan.bharadiya@intel.com> wrote:
> > struct drm_device specific drm_WARN* macros include device information
> > in the backtrace, so we know what device the warnings originate from.
> >
> > Prefer drm_WARN* over WARN*.
> >
> > Conversion is done with below semantic patch:
> >
> > @@
> > identifier func, T;
> > @@
> > func(struct intel_runtime_pm *T,...) {
> > + struct drm_i915_private *i915 = container_of(T, struct drm_i915_private, runtime_pm);
> > <+...
> > (
> > -WARN(
> > +drm_WARN(&i915->drm,
> > ...)
> > |
> > -WARN_ON(
> > +drm_WARN_ON(&i915->drm,
> > ...)
> > |
> > -WARN_ONCE(
> > +drm_WARN_ONCE(&i915->drm,
> > ...)
> > |
> > -WARN_ON_ONCE(
> > +drm_WARN_ON_ONCE(&i915->drm,
> > ...)
> > )
> > ...+>
> >
> > }
> >
> > Signed-off-by: Pankaj Bharadiya <pankaj.laxminarayan.bharadiya@intel.com>
> > ---
> >  drivers/gpu/drm/i915/intel_runtime_pm.c | 39 ++++++++++++++++++-------
> >  1 file changed, 28 insertions(+), 11 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c
> > index ad719c9602af..31ccd0559c55 100644
> > --- a/drivers/gpu/drm/i915/intel_runtime_pm.c
> > +++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
> > @@ -116,6 +116,9 @@ track_intel_runtime_pm_wakeref(struct intel_runtime_pm *rpm)
> >  static void untrack_intel_runtime_pm_wakeref(struct intel_runtime_pm *rpm,
> >  					     depot_stack_handle_t stack)
> >  {
> > +	struct drm_i915_private *i915 = container_of(rpm,
> > +						     struct drm_i915_private,
> > +						     runtime_pm);
> 
> Is this a dependency we want to add? Should struct intel_runtime_pm be
> allowed to be elsewhere than struct i915?

For convenience a pointer to intel_runtime_pm is stored in intel_uncore
and intel_wakeref, but there is only one instance of it. So looks ok to
me to use container_of() on the pointer.

> 
> BR,
> Jani.
> 
> >  	unsigned long flags, n;
> >  	bool found = false;
> >  
> > @@ -134,9 +137,9 @@ static void untrack_intel_runtime_pm_wakeref(struct intel_runtime_pm *rpm,
> >  	}
> >  	spin_unlock_irqrestore(&rpm->debug.lock, flags);
> >  
> > -	if (WARN(!found,
> > -		 "Unmatched wakeref (tracking %lu), count %u\n",
> > -		 rpm->debug.count, atomic_read(&rpm->wakeref_count))) {
> > +	if (drm_WARN(&i915->drm, !found,
> > +		     "Unmatched wakeref (tracking %lu), count %u\n",
> > +		     rpm->debug.count, atomic_read(&rpm->wakeref_count))) {
> >  		char *buf;
> >  
> >  		buf = kmalloc(PAGE_SIZE, GFP_NOWAIT | __GFP_NOWARN);
> > @@ -355,10 +358,14 @@ intel_runtime_pm_release(struct intel_runtime_pm *rpm, int wakelock)
> >  static intel_wakeref_t __intel_runtime_pm_get(struct intel_runtime_pm *rpm,
> >  					      bool wakelock)
> >  {
> > +	struct drm_i915_private *i915 = container_of(rpm,
> > +						     struct drm_i915_private,
> > +						     runtime_pm);
> >  	int ret;
> >  
> >  	ret = pm_runtime_get_sync(rpm->kdev);
> > -	WARN_ONCE(ret < 0, "pm_runtime_get_sync() failed: %d\n", ret);
> > +	drm_WARN_ONCE(&i915->drm, ret < 0,
> > +		      "pm_runtime_get_sync() failed: %d\n", ret);
> >  
> >  	intel_runtime_pm_acquire(rpm, wakelock);
> >  
> > @@ -539,6 +546,9 @@ void intel_runtime_pm_put(struct intel_runtime_pm *rpm, intel_wakeref_t wref)
> >   */
> >  void intel_runtime_pm_enable(struct intel_runtime_pm *rpm)
> >  {
> > +	struct drm_i915_private *i915 = container_of(rpm,
> > +						     struct drm_i915_private,
> > +						     runtime_pm);
> >  	struct device *kdev = rpm->kdev;
> >  
> >  	/*
> > @@ -565,7 +575,8 @@ void intel_runtime_pm_enable(struct intel_runtime_pm *rpm)
> >  
> >  		pm_runtime_dont_use_autosuspend(kdev);
> >  		ret = pm_runtime_get_sync(kdev);
> > -		WARN(ret < 0, "pm_runtime_get_sync() failed: %d\n", ret);
> > +		drm_WARN(&i915->drm, ret < 0,
> > +			 "pm_runtime_get_sync() failed: %d\n", ret);
> >  	} else {
> >  		pm_runtime_use_autosuspend(kdev);
> >  	}
> > @@ -580,11 +591,14 @@ void intel_runtime_pm_enable(struct intel_runtime_pm *rpm)
> >  
> >  void intel_runtime_pm_disable(struct intel_runtime_pm *rpm)
> >  {
> > +	struct drm_i915_private *i915 = container_of(rpm,
> > +						     struct drm_i915_private,
> > +						     runtime_pm);
> >  	struct device *kdev = rpm->kdev;
> >  
> >  	/* Transfer rpm ownership back to core */
> > -	WARN(pm_runtime_get_sync(kdev) < 0,
> > -	     "Failed to pass rpm ownership back to core\n");
> > +	drm_WARN(&i915->drm, pm_runtime_get_sync(kdev) < 0,
> > +		 "Failed to pass rpm ownership back to core\n");
> >  
> >  	pm_runtime_dont_use_autosuspend(kdev);
> >  
> > @@ -594,12 +608,15 @@ void intel_runtime_pm_disable(struct intel_runtime_pm *rpm)
> >  
> >  void intel_runtime_pm_driver_release(struct intel_runtime_pm *rpm)
> >  {
> > +	struct drm_i915_private *i915 = container_of(rpm,
> > +						     struct drm_i915_private,
> > +						     runtime_pm);
> >  	int count = atomic_read(&rpm->wakeref_count);
> >  
> > -	WARN(count,
> > -	     "i915 raw-wakerefs=%d wakelocks=%d on cleanup\n",
> > -	     intel_rpm_raw_wakeref_count(count),
> > -	     intel_rpm_wakelock_count(count));
> > +	drm_WARN(&i915->drm, count,
> > +		 "i915 raw-wakerefs=%d wakelocks=%d on cleanup\n",
> > +		 intel_rpm_raw_wakeref_count(count),
> > +		 intel_rpm_wakelock_count(count));
> >  
> >  	untrack_all_intel_runtime_pm_wakerefs(rpm);
> >  }
> 
> -- 
> Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2020-04-21  9:49 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-06 11:27 [PATCH 00/18] Prefer drm_WARN* over WARN* Pankaj Bharadiya
2020-04-06 11:27 ` [Intel-gfx] " Pankaj Bharadiya
2020-04-06 11:27 ` [PATCH 01/18] drm/i915/display/icl_dsi: Prefer drm_WARN_ON over WARN_ON Pankaj Bharadiya
2020-04-06 11:27   ` [Intel-gfx] " Pankaj Bharadiya
2020-04-06 18:08   ` kbuild test robot
2020-04-06 18:08     ` kbuild test robot
2020-04-06 18:08     ` kbuild test robot
2020-04-06 11:27 ` [PATCH 02/18] drm/i915/display/atomic_plane: " Pankaj Bharadiya
2020-04-06 11:27   ` [Intel-gfx] " Pankaj Bharadiya
2020-04-06 11:27 ` [PATCH 03/18] drm/i915/display/ddi: Prefer drm_WARN* over WARN* Pankaj Bharadiya
2020-04-06 11:27   ` [Intel-gfx] " Pankaj Bharadiya
2020-04-06 20:21   ` kbuild test robot
2020-04-06 20:21     ` kbuild test robot
2020-04-06 20:21     ` kbuild test robot
2020-04-06 11:27 ` [PATCH 04/18] drm/i915/display/display: Prefer drm_WARN_ON over WARN_ON Pankaj Bharadiya
2020-04-06 11:27   ` [Intel-gfx] " Pankaj Bharadiya
2020-04-06 11:27 ` [PATCH 05/18] " Pankaj Bharadiya
2020-04-06 11:27   ` [Intel-gfx] " Pankaj Bharadiya
2020-04-21  7:53   ` Jani Nikula
2020-04-21  9:19     ` Imre Deak
2020-04-06 11:27 ` [PATCH 06/18] drm/i915/display/dp: Prefer drm_WARN* over WARN* Pankaj Bharadiya
2020-04-06 11:27   ` [Intel-gfx] " Pankaj Bharadiya
2020-04-21  6:56   ` Jani Nikula
2020-04-21  6:56     ` [Intel-gfx] " Jani Nikula
2020-04-06 11:27 ` [PATCH 07/18] drm/i915/display/dpll_mgr: Prefer drm_WARN_ON over WARN_ON Pankaj Bharadiya
2020-04-06 11:27   ` [Intel-gfx] " Pankaj Bharadiya
2020-04-06 11:27 ` [PATCH 08/18] drm/i915/display/frontbuffer: " Pankaj Bharadiya
2020-04-06 11:27   ` [Intel-gfx] " Pankaj Bharadiya
2020-04-06 11:27 ` [PATCH 09/18] drm/i915/display/global_state: Prefer drm_WARN* over WARN* Pankaj Bharadiya
2020-04-06 11:27   ` [Intel-gfx] " Pankaj Bharadiya
2020-04-06 11:27 ` [PATCH 10/18] drm/i915/display/overlay: Prefer drm_WARN_ON over WARN_ON Pankaj Bharadiya
2020-04-06 11:27   ` [Intel-gfx] " Pankaj Bharadiya
2020-04-06 11:27 ` [PATCH 11/18] drm/i915/display/sdvo: Prefer drm_WARN* over WARN* Pankaj Bharadiya
2020-04-06 11:27   ` [Intel-gfx] " Pankaj Bharadiya
2020-04-21  6:55   ` Jani Nikula
2020-04-21  6:55     ` [Intel-gfx] " Jani Nikula
2020-04-06 11:27 ` [PATCH 12/18] drm/i915/display/tc: Prefer drm_WARN_ON over WARN_ON Pankaj Bharadiya
2020-04-06 11:27   ` [Intel-gfx] " Pankaj Bharadiya
2020-04-21  6:57   ` Jani Nikula
2020-04-21  6:57     ` [Intel-gfx] " Jani Nikula
2020-04-06 11:27 ` [PATCH 13/18] drm/i915/display/vlv_dsi: " Pankaj Bharadiya
2020-04-06 11:27   ` [Intel-gfx] " Pankaj Bharadiya
2020-04-06 22:41   ` kbuild test robot
2020-04-06 11:27 ` [PATCH 14/18] drm/i915/gem: Prefer drm_WARN* over WARN* Pankaj Bharadiya
2020-04-06 11:27   ` [Intel-gfx] " Pankaj Bharadiya
2020-04-21  8:30   ` Jani Nikula
2020-04-06 11:27 ` [PATCH 15/18] drm/i915/i915_drv: Prefer drm_WARN_ON over WARN_ON Pankaj Bharadiya
2020-04-06 11:27   ` [Intel-gfx] " Pankaj Bharadiya
2020-04-21  8:24   ` Jani Nikula
2020-04-21  8:24     ` [Intel-gfx] " Jani Nikula
2020-04-21  9:59     ` Bharadiya,Pankaj
2020-04-21  9:59       ` [Intel-gfx] " Bharadiya,Pankaj
2020-04-06 11:27 ` [PATCH 16/18] drm/i915/pmu: " Pankaj Bharadiya
2020-04-06 11:27   ` [Intel-gfx] " Pankaj Bharadiya
2020-04-06 11:27 ` [PATCH 17/18] drm/i915/pm: " Pankaj Bharadiya
2020-04-06 11:27   ` [Intel-gfx] " Pankaj Bharadiya
2020-04-21  8:26   ` Jani Nikula
2020-04-21  8:26     ` [Intel-gfx] " Jani Nikula
2020-04-06 11:28 ` [PATCH 18/18] drm/i915/runtime_pm: Prefer drm_WARN* over WARN* Pankaj Bharadiya
2020-04-06 11:28   ` [Intel-gfx] " Pankaj Bharadiya
2020-04-21  8:28   ` Jani Nikula
2020-04-21  9:48     ` Imre Deak [this message]
2020-04-06 11:59 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
2020-04-06 12:28 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
2020-04-06 14:47 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Prefer drm_WARN* over WARN* (rev2) Patchwork
2020-04-06 15:14 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2020-04-06 19:58 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
2020-04-21  8:35 ` [Intel-gfx] [PATCH 00/18] Prefer drm_WARN* over WARN* Jani Nikula
2020-04-21 10:01   ` Bharadiya,Pankaj

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=20200421094809.GB29723@ideak-desk.fi.intel.com \
    --to=imre.deak@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jani.nikula@linux.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.