From: Ben Widawsky <ben@bwidawsk.net>
To: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
Cc: Ben Widawsky <benjamin.widawsky@intel.com>,
intel-gfx@lists.freedesktop.org, miku@iki.fi,
mika.kuoppala@intel.com
Subject: Re: [PATCH 1/5] drm/i915: Fix forcewake counts for gen8
Date: Mon, 24 Feb 2014 12:29:05 -0800 [thread overview]
Message-ID: <20140224202903.GA14674@bwidawsk.net> (raw)
In-Reply-To: <20140224112709.GL3852@intel.com>
On Mon, Feb 24, 2014 at 01:27:09PM +0200, Ville Syrjälä wrote:
> On Fri, Feb 21, 2014 at 11:38:48AM -0800, Ben Widawsky wrote:
> > On Fri, Feb 21, 2014 at 05:31:59PM +0200, mika.kuoppala@intel.com wrote:
> > > From: Mika Kuoppala <mika.kuoppala@intel.com>
> > >
> > > Sometimes generic driver code gets forcewake explicitly by
> > > gen6_gt_force_wake_get(), which check forcewake_count before accessing
> > > hardware. However the register access with gen8_write function access
> > > low level hw accessors directly, ignoring the forcewake_count. This
> > > leads to nested forcewake get from hardware, in ring init and possibly
> > > elsewhere, causing forcewake ack clear errors and/or hangs.
> > >
> > > Fix this by checking the forcewake count also in gen8_write
> > >
> > > v2: Read side doesn't care about shadowed registers,
> > > Remove __needs_put funkiness from gen8_write. (Ville)
> > > Improved commit message.
> > >
> > > References: https://bugs.freedesktop.org/show_bug.cgi?id=74007
> > > Cc: Ben Widawsky <benjamin.widawsky@intel.com>
> > > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > > Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
> > > Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
> >
> > For those concerned with the performance implication of the extra if
> > (if anyone at all cares, it's Chris) - I suppose we could also just add
> > the lock to gen6_gt_force_wake_get/put.
>
> Two things:
> a) I don't understand what you mean here. uncore.lock already protects
> the forcewake count in gen6_gt_force_wake_get/put. Also there's no way
> to avoid the branch here since doing a .force_wake_put() w/o checking
> the forcewake count is never ok.
>
I meant acquire the lock in get() release the lock in put()
> b) The cost of branch should be a drop in the ocean compared to the
> cost of the register reads/writes in .forcewake_get/put.
>
> --
> Ville Syrjälä
> Intel OTC
--
Ben Widawsky, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2014-02-24 20:29 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-21 15:31 [PATCH 0/5] bdw forcewake fixes mika.kuoppala
2014-02-21 15:31 ` [PATCH 1/5] drm/i915: Fix forcewake counts for gen8 mika.kuoppala
2014-02-21 19:38 ` Ben Widawsky
2014-02-21 19:42 ` Ben Widawsky
2014-02-21 19:54 ` Chris Wilson
2014-02-24 11:27 ` Ville Syrjälä
2014-02-24 20:29 ` Ben Widawsky [this message]
2014-02-21 15:32 ` [PATCH 2/5] drm/i915: Do forcewake reset on gen8 mika.kuoppala
2014-02-21 15:32 ` [PATCH 3/5] drm/i915: Don't access fifodbg registers " mika.kuoppala
2014-02-21 15:36 ` Chris Wilson
2014-02-21 16:47 ` Mika Kuoppala
2014-02-21 15:32 ` [PATCH 4/5] drm/i915: Always set fifo count to zero in gen6_reset mika.kuoppala
2014-02-21 15:32 ` [PATCH 5/5] drm/i915: No need to put forcewake after a reset mika.kuoppala
2014-03-05 14:58 ` Daniel Vetter
2014-03-05 16:11 ` Mika Kuoppala
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=20140224202903.GA14674@bwidawsk.net \
--to=ben@bwidawsk.net \
--cc=benjamin.widawsky@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=mika.kuoppala@intel.com \
--cc=miku@iki.fi \
--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.