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
next 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.