All of lore.kernel.org
 help / color / mirror / Atom feed
From: Imre Deak <imre.deak@intel.com>
To: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH] drm/i915: fix rps.vlv_work initialization
Date: Tue, 01 Oct 2013 20:46:21 +0300	[thread overview]
Message-ID: <1380649581.17657.7.camel@intelbox> (raw)
In-Reply-To: <1380646550.17657.2.camel@intelbox>


[-- Attachment #1.1: Type: text/plain, Size: 2809 bytes --]

On Tue, 2013-10-01 at 19:55 +0300, Imre Deak wrote:
> On Tue, 2013-10-01 at 18:55 +0300, Ville Syrjälä wrote:
> > On Tue, Oct 01, 2013 at 06:11:26PM +0300, Imre Deak wrote:
> > > During driver loading we are initializing rps.vlv_work in
> > > valleyview_enable_rps() via the rps.delayed_resume_work delayed work.
> > > This is too late since we are using vlv_work already via
> > > i915_driver_load()->intel_uncore_sanitize()->
> > > intel_disable_gt_powersave(). This at least leads to the following
> > > kernel warning:
> > > 
> > >  INFO: trying to register non-static key.
> > >  the code is fine but needs lockdep annotation.
> > >  turning off the locking correctness validator.
> > > 
> > > Fix this by initialzing vlv_work before we call intel_uncore_sanitize().
> > > 
> > > The regression was introduced in
> > > 
> > > commit 7dcd2677ea912573d9ed4bcd629b0023b2d11505
> > > Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
> > > Date:   Wed Jul 17 10:22:58 2013 +0400
> > > 
> > >     drm/i915: fix long-standing SNB regression in power consumption
> > >     after resume
> > > 
> > > though there was no good reason to initialize the static vlv_work from
> > > another delayed work to begin with (especially since this will happen
> > > multiple times).
> > > 
> > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=69397
> > > 
> > > Signed-off-by: Imre Deak <imre.deak@intel.com>
> > > ---
> > >  drivers/gpu/drm/i915/intel_pm.c | 4 ++--
> > >  1 file changed, 2 insertions(+), 2 deletions(-)
> > > 
> > > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> > > index 698257c..2a0a340 100644
> > > --- a/drivers/gpu/drm/i915/intel_pm.c
> > > +++ b/drivers/gpu/drm/i915/intel_pm.c
> > > @@ -3894,8 +3894,6 @@ static void valleyview_enable_rps(struct drm_device *dev)
> > >  				      dev_priv->rps.rpe_delay),
> > >  			 dev_priv->rps.rpe_delay);
> > >  
> > > -	INIT_DELAYED_WORK(&dev_priv->rps.vlv_work, vlv_rps_timer_work);
> > > -
> > >  	valleyview_set_rps(dev_priv->dev, dev_priv->rps.rpe_delay);
> > >  
> > >  	gen6_enable_rps_interrupts(dev);
> > > @@ -5805,5 +5803,7 @@ void intel_pm_init(struct drm_device *dev)
> > >  
> > >  	INIT_DELAYED_WORK(&dev_priv->rps.delayed_resume_work,
> > >  			  intel_gen6_powersave_work);
> > > +
> > > +	INIT_DELAYED_WORK(&dev_priv->rps.vlv_work, vlv_rps_timer_work);
> > 
> > We're initializing rps.work in intel_irq_init(). Maybe we should try to
> > keep rps related stuff together?
> 
> Yes, makes sense. I'll send v2 moving both init work to
> intel_irq_init().

Hm, actually for that we'd have to export the two handler functions and
since all of these really belong to intel_pm.c I'd rather just leave the
work init there too.

--Imre

[-- Attachment #1.2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2013-10-01 17:46 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-01 15:11 [PATCH] drm/i915: fix rps.vlv_work initialization Imre Deak
2013-10-01 15:55 ` Ville Syrjälä
2013-10-01 16:55   ` Imre Deak
2013-10-01 17:46     ` Imre Deak [this message]
2013-10-01 19:12       ` Daniel Vetter

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=1380649581.17657.7.camel@intelbox \
    --to=imre.deak@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=ville.syrjala@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.