From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Michel Thierry <michel.thierry@intel.com>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH] drm/i915/ppgtt: Load address space after mi_set_context
Date: Fri, 12 Sep 2014 20:14:30 +0300 [thread overview]
Message-ID: <20140912171430.GE12416@intel.com> (raw)
In-Reply-To: <541325BE.5080302@intel.com>
On Fri, Sep 12, 2014 at 05:56:30PM +0100, Michel Thierry wrote:
> On 9/12/2014 4:40 PM, Chris Wilson wrote:
> > On Fri, Sep 12, 2014 at 06:35:10PM +0300, Ville Syrjälä wrote:
> >> On Fri, Sep 12, 2014 at 04:10:01PM +0100, Michel Thierry wrote:
> >>> From: Ben Widawsky <benjamin.widawsky@intel.com>
> >>>
> >>> The simple explanation is, the docs say to do this for GEN8. Perhaps we
> >>> want to do this for GEN7 too, I am not certain.
> >>>
> >>> PDPs are saved and restored with context. Contexts (without execlists)
> >>> only exist on the render ring. The docs say that PDPs are not power
> >>> context save/restored. I've learned that this actually means something
> >>> which SW doesn't care about. So pretend the statement doesn't exist.
> >>> For non RCS, nothing changes.
> >
> > Hang on. This is exactly what I was worried about... Which PDPs are
> > saved with context? Why doesn't this mean that we aren't overwitting
> > PDPs in use on other rings when RCS loads a new context?
> > -Chris
> >
>
> I was wondering the same when I read Ben's original comment. Could this
> be GEN8 specific?
Yes. For earlier hardware it's stated that the RCS PP_DIR registers are
saved in the power context when in ring buffer mode. For gen8 it's very
unclear from the docs.
If you look at the context image it shows the RCS PDPs in the execlist
context. But if it's saving the execlist context even in ring buffer
mode (which the earlier platforms didn't do) then it means that our
GEN8_CXT_TOTAL_SIZE is wrong since it doesn't include the execlist
context. I don't think anyone did for gen8 what I did for gen6/7
and actually look at the context after the hardware had saved it.
That's how I figured out which parts actually get saved.
As far as the other engines go, I think they must still save their
PDPs in some power context since the execlist context only contains
the RCS PDPs. Well, assuming the execlist context is really where
this stuff is saved for RCS.
--
Ville Syrjälä
Intel OTC
next prev parent reply other threads:[~2014-09-12 17:14 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-12 15:10 [PATCH] drm/i915/ppgtt: Load address space after mi_set_context Michel Thierry
2014-09-12 15:35 ` Ville Syrjälä
2014-09-12 15:40 ` Chris Wilson
2014-09-12 16:56 ` Michel Thierry
2014-09-12 17:14 ` Ville Syrjälä [this message]
2014-09-15 9:29 ` [PATCH v4] " Michel Thierry
2014-09-15 9:42 ` Chris Wilson
[not found] ` <54211877.5070401@intel.com>
2014-09-23 6:58 ` Zhi Wang
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=20140912171430.GE12416@intel.com \
--to=ville.syrjala@linux.intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=michel.thierry@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox