All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
To: intel-gfx@lists.freedesktop.org
Subject: [PATCH v9 00/11] GuC Scrub vol. 1
Date: Tue, 14 Mar 2017 15:28:04 +0100	[thread overview]
Message-ID: <20170314142815.17440-1-arkadiusz.hiler@intel.com> (raw)

Reasoning
=========

General GuC/HuC cleanup simplifying logic and moving chunks around as the area
got pretty rusty.

This is the first part of effort to clean it up.

A lot of logic were extracted from intel_guc_load() to other functions - it did
not only handle the actual loading but had WA implementations and the code
that enabled submission baked into it.

Param sanitization and firmware selection are also extracted and streamlined.


Naming:
=======

I try to adhere to subject_verb_object naming and parameters.

e.g. for intel_guc_init_fw:

* intel_guc is the subject, it determines the first argument taken
* init      is the verb
* fw        is the object

intel_guc_ functions take intel_guc struct pointer
intel_huc_ functions take intel_guc struct pointer

There's no `struct intel_uc`, so this family of functions take `dev_priv`.


New structure looks like this:
==============================

1. sanitize params - module params + selecting firmware happens at this stage
   * this is done mostly in patch 8, and 9
   * some cleanups happen along th way (e.g. pushing check ups, and changeing
     prototypes)
   * patch 10 introduces new modules params to overload used firmware

2. init_fw - requesting and initial parsing of firmware
   * firmware is read and parsed, we also check for versions to match

3. init_hw - firmware is loaded into hardware and hardware is initalized
   * uc_init_hw has now all logic when it comes to retires and resetting fw to
     vanilla state
   * huc_init_hw and guc_init_hw no longer care about each other and
     submission


v2: rebase after HuC merge + feedback
v3: even more renaming that aims to make things more semantic
v4: some naming improvements, some bikeshedding
v5: coding style, some cleanup
    module params for huc and guc firmware path,
    separate fw select step from actual prepare
v6: feedback + pushed a couple of patches with r-b down the stack
v7: reorder, rename, rebase
v8: rebase, onion teardown, naming, added GuC enablement HAX
v9: rebase for rerun

Arkadiusz Hiler (11):
  drm/i915/uc: Drop superfluous externs in intel_uc.h
  drm/i915/huc: Add huc_to_i915
  drm/i915/uc: Rename intel_?uc_{setup,load}() to _init_hw()
  drm/i915/uc: Move intel_uc_fw_fetch() to intel_uc.c
  drm/i915/uc: Introduce intel_uc_init_fw()
  drm/i915/guc: Extract param logic form guc_init_fw()
  drm/i915/guc: Simplify intel_guc_init_hw()
  drm/i915/uc: Simplify firmware path handling
  drm/i915/uc: Separate firmware selection and preparation
  drm/i915/uc: Add params for specifying firmware
  HAX enable GuC for CI

 drivers/gpu/drm/i915/i915_drv.c         |   5 +-
 drivers/gpu/drm/i915/i915_drv.h         |   5 +
 drivers/gpu/drm/i915/i915_gem.c         |   2 +-
 drivers/gpu/drm/i915/i915_params.c      |  14 +-
 drivers/gpu/drm/i915/i915_params.h      |   2 +
 drivers/gpu/drm/i915/intel_guc_loader.c | 379 ++++----------------------------
 drivers/gpu/drm/i915/intel_huc.c        | 109 ++++-----
 drivers/gpu/drm/i915/intel_uc.c         | 284 ++++++++++++++++++++++++
 drivers/gpu/drm/i915/intel_uc.h         |  23 +-
 9 files changed, 413 insertions(+), 410 deletions(-)

-- 
2.9.3

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

             reply	other threads:[~2017-03-14 14:28 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-14 14:28 Arkadiusz Hiler [this message]
2017-03-14 14:28 ` [PATCH 01/11] drm/i915/uc: Drop superfluous externs in intel_uc.h Arkadiusz Hiler
2017-03-14 14:28 ` [PATCH 02/11] drm/i915/huc: Add huc_to_i915 Arkadiusz Hiler
2017-03-14 14:28 ` [PATCH 03/11] drm/i915/uc: Rename intel_?uc_{setup, load}() to _init_hw() Arkadiusz Hiler
2017-03-14 14:28 ` [PATCH 04/11] drm/i915/uc: Move intel_uc_fw_fetch() to intel_uc.c Arkadiusz Hiler
2017-03-14 14:28 ` [PATCH 05/11] drm/i915/uc: Introduce intel_uc_init_fw() Arkadiusz Hiler
2017-03-14 14:28 ` [PATCH 06/11] drm/i915/guc: Extract param logic form guc_init_fw() Arkadiusz Hiler
2017-03-14 14:28 ` [PATCH 07/11] drm/i915/guc: Simplify intel_guc_init_hw() Arkadiusz Hiler
2017-03-14 14:28 ` [PATCH 08/11] drm/i915/uc: Simplify firmware path handling Arkadiusz Hiler
2017-03-14 14:28 ` [PATCH 09/11] drm/i915/uc: Separate firmware selection and preparation Arkadiusz Hiler
2017-03-14 14:28 ` [PATCH 10/11] drm/i915/uc: Add params for specifying firmware Arkadiusz Hiler
2017-03-14 15:17   ` Michal Wajdeczko
2017-03-15 12:00     ` Arkadiusz Hiler
2017-03-14 14:28 ` [PATCH 11/11] HAX enable GuC for CI Arkadiusz Hiler
2017-03-14 19:47 ` ✓ Fi.CI.BAT: success for GuC Scrub vol. 1 (rev13) Patchwork

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=20170314142815.17440-1-arkadiusz.hiler@intel.com \
    --to=arkadiusz.hiler@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.