All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michel Thierry <michel.thierry@intel.com>
To: akash.goel@intel.com, intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH v5] igt/gem_trtt: Exercise the TRTT hardware
Date: Thu, 17 Mar 2016 10:14:51 +0000	[thread overview]
Message-ID: <56EA839B.40808@intel.com> (raw)
In-Reply-To: <1457696934-27375-1-git-send-email-akash.goel@intel.com>

On 3/11/2016 11:48 AM, akash.goel@intel.com wrote:
> From: Akash Goel <akash.goel@intel.com>
>
> This patch provides the testcase to exercise the TRTT hardware.
>
> Some platforms have an additional address translation hardware support in
> form of Tiled Resource Translation Table (TR-TT) which provides an extra level
> of abstraction over PPGTT.
> This is useful for mapping Sparse/Tiled texture resources.
>
> TR-TT is tightly coupled with PPGTT, a new instance of TR-TT will be required
> for a new PPGTT instance, but TR-TT may not enabled for every context.
> 1/16th of the 48bit PPGTT space is earmarked for the translation by TR-TT,
> which such chunk to use is conveyed to HW through a register.
> Any GFX address, which lies in that reserved 44 bit range will be translated
> through TR-TT first and then through PPGTT to get the actual physical address.
>
> TRTT is constructed as a 3 level tile Table. Each tile is 64KB is size which
> leaves behind 44-16=28 address bits. 28bits are partitioned as 9+9+10, and
> each level is contained within a 4KB page hence L3 and L2 is composed of
> 512 64b entries and L1 is composed of 1024 32b entries.
>
> There is a provision to keep TR-TT Tables in virtual space, where the pages of
> TRTT tables will be mapped to PPGTT. This is the adopted mode, as in this mode
> UMD will have a full control on TR-TT management, with bare minimum support
> from KMD.
> So the entries of L3 table will contain the PPGTT offset of L2 Table pages,
> similarly entries of L2 table will contain the PPGTT offset of L1 Table pages.
> The entries of L1 table will contain the PPGTT offset of BOs actually backing
> the Sparse resources.
>
> I915_GEM_CONTEXT_SETPARAM ioctl is used to request KMD to enable TRTT for a
> certain context, a new I915_CONTEXT_PARAM_ENABLE_TRTT param has been
> added to the CONTEXT_SETPARAM ioctl for that purpose.
>
> v2:
>   - Add new wrapper function __gem_context_require_param and used that
>     to detect the TR-TT support
>   - Use igt_main macro, rename certain function, remove extra white space,
>     cleanup the code (Chris)
>   - Enhance the basic subtest to exercise all possible TR-TT segment start
>     locations (i.e. 16 of them) & for every iteration create a new context.
>
> v3:
>   - Get rid of some superfluous local variables (Chris)
>   - Add asserts to validate whether the GFX address used in MI_STORE_DATA_IMM
>     command is in canonical form & is correctly aligned or not (Chris)
>   - Remove clearing of errno in has_trtt_support function (Chris)
>   - Use the 48B_ADDRESS flag for batch buffer BO also (Chris)
>   - Rebased.
>
> v4:
>   - Add new subtest for invalid settings.
>   - Add new local function query_trtt to check the Driver state (Chris)
>   - Add new helper function gem_uses_64b_ppgtt to detect 64bit PPGTT support
>   - Remove local functions uses_full_ppgtt & has_softpin_support, instead use
>     existing wrappers gem_has_softpin & gem_uses_64b_ppgtt (Chris).
>   - Remove redundant bit masking in emit_store_xxx functions (Chris).
>
> v5:
>   - Add 2 new subtests checking the forceful eviction of active/hanging
>     objects overlapping with the TR-TT segment (Chris).
>   - Move gen8_canonical_addr to igt_aux as its needed by other tests also,
>     which does soft pinning, and not just gem_softpin (Michel)
>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Michel Thierry <michel.thierry@intel.com>
> Signed-off-by: Akash Goel <akash.goel@intel.com>

Test looks good to me.

Reviewed-by: Michel Thierry <michel.thierry@intel.com>


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

  reply	other threads:[~2016-03-17 10:14 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-09 11:31 [PATCH] igt/gem_trtt: Exercise the TRTT hardware akash.goel
2016-01-11 12:32 ` Chris Wilson
2016-01-11 12:37   ` Chris Wilson
2016-01-20 10:24   ` Goel, Akash
2016-01-22 15:37     ` [PATCH v2] " akash.goel
2016-01-22 20:41       ` Chris Wilson
2016-03-03  4:55         ` [PATCH v3] " akash.goel
2016-03-03 10:04           ` Chris Wilson
2016-03-03 15:38             ` Goel, Akash
2016-03-03 15:46               ` Chris Wilson
2016-03-03 16:47                 ` Goel, Akash
2016-03-09 11:31                   ` [PATCH v4] " akash.goel
2016-03-10 14:26                     ` Michel Thierry
2016-03-11  5:59                       ` Goel, Akash
2016-03-11 11:48                         ` [PATCH v5] " akash.goel
2016-03-17 10:14                           ` Michel Thierry [this message]
2016-03-18  8:37                             ` [PATCH v6] " akash.goel
2016-03-18  8:36                               ` Chris Wilson
2016-03-18  9:01                                 ` Goel, Akash
2016-03-18  9:22                                   ` Chris Wilson
2016-03-18  9:52                                     ` Goel, Akash
2016-03-18 10:25                                       ` [PATCH v7] " akash.goel
2016-03-18 10:32                                       ` [PATCH v6] " Chris Wilson
2016-03-18 15:49                                         ` Goel, Akash
2016-03-18 16:01                                           ` Chris Wilson
2016-03-21 10:00                                             ` Goel, Akash
2016-03-21 10:11                                               ` Chris Wilson
2016-03-22  8:37                                                 ` [PATCH v8] " akash.goel
2016-10-27 15:35                                                   ` [PATCH v9] " akash.goel
2016-01-12  6:00 ` [PATCH] " Tian, Kevin

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=56EA839B.40808@intel.com \
    --to=michel.thierry@intel.com \
    --cc=akash.goel@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.