All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Chris Wilson <chris@chris-wilson.co.uk>,
	intel-gfx@lists.freedesktop.org,
	David Weinehall <david.weinehall@linux.intel.com>
Subject: Re: [PATCH] drm/i915: GMBUS don't need no forcewake
Date: Wed, 12 Oct 2016 15:39:47 +0300	[thread overview]
Message-ID: <20161012123947.GW4329@intel.com> (raw)
In-Reply-To: <20161012115834.GD3885@nuc-i3427.alporthouse.com>

On Wed, Oct 12, 2016 at 12:58:34PM +0100, Chris Wilson wrote:
> On Wed, Oct 12, 2016 at 02:44:47PM +0300, ville.syrjala@linux.intel.com wrote:
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > 
> > GMBUS is part of the display engine, and thus has no need for
> > forcewake. Let's not bother trying to grab it then.
> > 
> > I don't recall if the display engine suffers from system hangs
> > due to multiple accesses to the same "cacheline" in mmio space.
> > I hope not since we're no longer protected by the uncore lock
> > since commit 4e6c2d58ba86 ("drm/i915: Take forcewake once for
> > the entire GMBUS transaction")
> 
> Only applies to concurrent access to the same cacheline, in this case
> should be serialised by the mutex around the gmbus xfer.

Hmm. Yeah, I suppose there shouldn't be unrelated stuff nearby. Haven't
double checked though.

>  
> > Cc: Chris Wilson <chris@chris-wilson.co.uk>
> > Cc: David Weinehall <david.weinehall@linux.intel.com>
> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > ---
> >  drivers/gpu/drm/i915/intel_i2c.c | 5 -----
> >  1 file changed, 5 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/intel_i2c.c b/drivers/gpu/drm/i915/intel_i2c.c
> > index 79aab9ad6faa..49c7824a4c29 100644
> > --- a/drivers/gpu/drm/i915/intel_i2c.c
> > +++ b/drivers/gpu/drm/i915/intel_i2c.c
> > @@ -468,13 +468,9 @@ do_gmbus_xfer(struct i2c_adapter *adapter, struct i2c_msg *msgs, int num)
> >  					       struct intel_gmbus,
> >  					       adapter);
> >  	struct drm_i915_private *dev_priv = bus->dev_priv;
> > -	const unsigned int fw =
> > -		intel_uncore_forcewake_for_reg(dev_priv, GMBUS0,
> > -					       FW_REG_READ | FW_REG_WRITE);
> >  	int i = 0, inc, try = 0;
> >  	int ret = 0;
> 
> I915_WARN_ON(intel_uncore_forcewake_for_reg(dev_priv, GMBUS0,
> 					    FW_REG_READ |
> 					    FW_REG_WRITE));
> 
> ? Would be good to test the fw handling as well.

Not sure I'd want to sprinkle forcewake testing into modeset code.

-- 
Ville Syrjälä
Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2016-10-12 12:39 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-12 11:44 [PATCH] drm/i915: GMBUS don't need no forcewake ville.syrjala
2016-10-12 11:58 ` Chris Wilson
2016-10-12 12:39   ` Ville Syrjälä [this message]
2016-10-12 12:51     ` Chris Wilson
2016-10-12 13:49 ` ✗ Fi.CI.BAT: warning for " Patchwork
2016-10-17 14:12   ` Ville Syrjälä

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=20161012123947.GW4329@intel.com \
    --to=ville.syrjala@linux.intel.com \
    --cc=chris@chris-wilson.co.uk \
    --cc=david.weinehall@linux.intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    /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.