[Intel-gfx] [PATCH 3/3] drm/i915: Introduce concept of a sub-platform
Chris Wilson
chris at chris-wilson.co.uk
Mon Mar 18 11:25:33 UTC 2019
Quoting Tvrtko Ursulin (2019-03-18 09:52:58)
> From: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
>
> Concept of a sub-platform already exist in our code (like ULX and ULT
> platform variants and similar),implemented via the macros which check a
> list of device ids to determine a match.
>
> With this patch we consolidate device ids checking into a single function
> called during early driver load.
>
> A few low bits in the platform mask are reserved for sub-platform
> identification and defined as a per-platform namespace.
>
> At the same time it future proofs the platform_mask handling by preparing
> the code for easy extending, and tidies the very verbose WARN strings
> generated when IS_PLATFORM macros are embedded into a WARN type
> statements.
>
> v2: Fixed IS_SUBPLATFORM. Updated commit msg.
> v3: Chris was right, there is an ordering problem.
>
> v4:
> * Catch-up with new sub-platforms.
> * Rebase for RUNTIME_INFO.
> * Drop subplatform mask union tricks and convert platform_mask to an
> array for extensibility.
>
> v5:
> * Fix subplatform check.
> * Protect against forgetting to expand subplatform bits.
> * Remove platform enum tallying.
> * Add subplatform to error state. (Chris)
> * Drop macros and just use static inlines.
> * Remove redundant IRONLAKE_M. (Ville)
>
> v6:
> * Split out Ironlake change.
> * Optimize subplatform check.
> * Use __always_inline. (Lucas)
> * Add platform_mask comment. (Paulo)
> * Pass stored runtime info in error capture. (Chris)
>
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> Suggested-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Jani Nikula <jani.nikula at intel.com>
> Cc: Lucas De Marchi <lucas.demarchi at intel.com>
> Cc: Jose Souza <jose.souza at intel.com>
> Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
> Cc: Paulo Zanoni <paulo.r.zanoni at intel.com>
> ---
> The main question here is whether the subplatform concept is an
> improvement with regards to cleaning up where we sprinkle device ids
> both in the source and during runtime checks.
I am strongly in favour of avoiding device-id checks, and much prefer
that we generalise into feature tests; subplatform looks like an easy
step forward.
The doubt is over whether or not we want to open-code bitmap.h. The
clear advantage of doing so (for what are a couple of small routines) is
that we avoid spilling out-of-line as soon as we hit the next boundary
on platform types. Plus it also ties into our desire for single sku dce.
So I think for those 2 reasons, having the bit test opencoded is sane.
Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
-Chris
More information about the Intel-gfx
mailing list