On 26/03/2019 07:40, Tvrtko Ursulin wrote:
From: Tvrtko Ursulin <tvrtko.ursu...@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(-)
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx