All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
To: intel-gfx@lists.freedesktop.org
Subject: [Intel-gfx] [RFC 0/6] Start separating GuC and execlists submission
Date: Fri, 24 Jan 2020 16:55:31 -0800	[thread overview]
Message-ID: <20200125005537.31860-1-daniele.ceraolospurio@intel.com> (raw)

Note: this applies on top of my series to commit early to GuC [1].

Picking up from the feedback from my RFC series about splitting
up intel_lrc.c [2], this series introduces GuC submission versions
of most of the engine and context functions. As a starting point,
the functions are still very similar to the execlists ones, but
they will progressively diverge while we add the new submission
logic. Some of the functions have been simplified by removing
support for pre-gen11 cases as we only aim to enable GuC submission
for gen11+; I've left comments and BUG_ONs to mark the reduces
support spots to easily find them in case we ever want to enable
GuC submission for older gens.

Going slightly against the feedback from the previous series, I have
kept the basic context and ring object management shared between
execlists and GuC submission functions. The rationale is that those
objects are HW-related and therefore their creation and their main
attributes (e.g. context size) are not dependent on the submission
method in any way. Handling of more SW constructs, like the timeline,
has been duplicated.

Still in theme of sharing, the flush and bb_start functions have also
been re-used on the GuC side, but I'm not sure if keeping them in
intel_lrc.c is the best solution. My medium-term plan is still the same
as [2], i.e. split execlists_submission.c out of intel_lrc.c, with the
latter holding the common code, but it might be worth moving the
command emission to a dedicated file or to a header as inlines, like
we already do in some cases.

The code is still a bit rough and the series has been compile-tested
only. I wanted to get some early comments about the direction before
rebasing the rest of the GuC code on top of it and start testing.

[1] https://patchwork.freedesktop.org/series/72031/
[2] https://patchwork.freedesktop.org/series/70787/

Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: John Harrison <John.C.Harrison@Intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>

Daniele Ceraolo Spurio (6):
  drm/i915/guc: Add guc-specific breadcrumb functions
  drm/i915/guc: Add request_alloc for guc_submission
  drm/i915/guc: Add engine->resume for GuC submission
  drm/i915/guc: Re-use lrc flush functions
  drm/i915/guc: Add initial context ops for GuC submission
  drm/i915/guc: Stop inheriting from execlists_set_default_submission

 drivers/gpu/drm/i915/gt/intel_lrc.c           | 217 +++++-----
 drivers/gpu/drm/i915/gt/intel_lrc.h           |  17 +-
 drivers/gpu/drm/i915/gt/selftest_lrc.c        |  12 +-
 .../gpu/drm/i915/gt/uc/intel_guc_submission.c | 378 +++++++++++++++++-
 4 files changed, 496 insertions(+), 128 deletions(-)

-- 
2.24.1

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

             reply	other threads:[~2020-01-25  0:56 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-25  0:55 Daniele Ceraolo Spurio [this message]
2020-01-25  0:55 ` [Intel-gfx] [RFC 1/6] drm/i915/guc: Add guc-specific breadcrumb functions Daniele Ceraolo Spurio
2020-01-25  0:55 ` [Intel-gfx] [RFC 2/6] drm/i915/guc: Add request_alloc for guc_submission Daniele Ceraolo Spurio
2020-01-25  0:55 ` [Intel-gfx] [RFC 3/6] drm/i915/guc: Add engine->resume for GuC submission Daniele Ceraolo Spurio
2020-01-25  0:55 ` [Intel-gfx] [RFC 4/6] drm/i915/guc: Re-use lrc flush functions Daniele Ceraolo Spurio
2020-01-25  0:55 ` [Intel-gfx] [RFC 5/6] drm/i915/guc: Add initial context ops for GuC submission Daniele Ceraolo Spurio
2020-01-25  0:55 ` [Intel-gfx] [RFC 6/6] drm/i915/guc: Stop inheriting from execlists_set_default_submission Daniele Ceraolo Spurio
2020-01-25  1:45 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for Start separating GuC and execlists submission Patchwork
2020-01-29  0:49 ` [Intel-gfx] [RFC 0/6] " Matthew Brost
2020-01-29  1:59   ` Daniele Ceraolo Spurio

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=20200125005537.31860-1-daniele.ceraolospurio@intel.com \
    --to=daniele.ceraolospurio@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.