[Intel-gfx] [PATCH 0/4] Device id consolidation

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Thu Mar 28 09:23:24 UTC 2019


On 26/03/2019 07:40, Tvrtko Ursulin wrote:
> From: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> 
> Series removes device id checks from i915_drv.h macros and consolidates them to
> i915_pciids.h as the main "database", while making intel_device_info.c reference
> the former, expanding the existing concept of a platform mask by a few low bits
> reserved for sub-platform mask.
> 
> This has a two-fold positive effect of firstly consolidating the list of device
> ids to one location, and secondly removing the if-ladders from every
> IS_<platfrom>_<subplatform> call site.
> 
> Maintenance burden is not completely removed but should be improved. One case in
> point is that I have found some disagreements between device id listed in
> i915_pciids.h and i915_drv.h.
> 
> At the same time platform mask code is generalized to an array of u32 to
> accomodate the addition of EHL and avoid spilling into u64 which would cause a
> small code size increase. Downside is that any platforms on the u32 boundary,
> like currently ICL and EHL, lose the benefit of optimizing the "IS_ICELAKE ||
> IS_ELKHARTLAKE" checks into a single conditional, although at the moment there
> aren't any such call-sites.
> 
> Before vs after for the whole series:
> 
>     text    data     bss     dec     hex filename
> 1891093   43903    7424 1942420  1da394 i915.ko.0
> 1890434   43903    7424 1941761  1da101 i915.ko.1
> 
> add/remove: 12/3 grow/shrink: 92/121 up/down: 1974/-1769 (205)
> ...
> Total: Before=1286293, After=1286498, chg +0.02%

After patch 4 v8:

    text    data     bss     dec     hex filename
1904423   43891    7424 1955738  1dd79a i915.ko.0
1903354   43891    7424 1954669  1dd36d i915.ko.1

add/remove: 8/3 grow/shrink: 94/124 up/down: 1623/-1889 (-266)
...
Total: Before=1293823, After=1293557, chg -0.02%

Regards,

Tvrtko

> Tvrtko Ursulin (4):
>    drm/i915: Split Pineview device info into desktop and mobile
>    drm/i915: Remove redundant device id from IS_IRONLAKE_M macro
>    drm/i915: Split some PCI ids into separate groups
>    drm/i915: Introduce concept of a sub-platform
> 
>   arch/x86/kernel/early-quirks.c           |   3 +-
>   drivers/gpu/drm/i915/i915_drv.c          |   8 +-
>   drivers/gpu/drm/i915/i915_drv.h          | 133 +++++++++++------
>   drivers/gpu/drm/i915/i915_gpu_error.c    |   3 +
>   drivers/gpu/drm/i915/i915_pci.c          |  14 +-
>   drivers/gpu/drm/i915/intel_device_info.c | 145 ++++++++++++++++++
>   drivers/gpu/drm/i915/intel_device_info.h |  27 +++-
>   drivers/gpu/drm/i915/intel_pm.c          |   4 +-
>   include/drm/i915_pciids.h                | 179 ++++++++++++++++-------
>   9 files changed, 414 insertions(+), 102 deletions(-)
> 


More information about the Intel-gfx mailing list