mbox series

[RFC,00/28] Old platform/gen kconfig options series

Message ID 20210414115028.168504-1-tvrtko.ursulin@linux.intel.com (mailing list archive)
Headers show
Series Old platform/gen kconfig options series | expand

Message

Tvrtko Ursulin April 14, 2021, 11:50 a.m. UTC
From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

Triggered by the recent work around INTEL_GEN etc and probably just for
historical reference since I can't remember if I ever sent it out. So sending
now but unrebased.

This series from early 2018 is the reason why I was converting to mask based
check everywhere. There was as feature request to enable compiling out parts of
the driver for embedded deployments. Or inversely, to build for a single
platform only.

With the mask approach and this series I was able to demonstrate substantial
savings in binary size. If only I could remember if I was building for Gen9
only or Gen9+.. But memory says savings around 30-40% were easy to get.

Then the experiment was dropped, don't remember why. I also tried LTO on top of
this but kernel support for it was immature back then (maybe still is, no idea).

Anyway, sending for historical reference why masks for everything were doubly
good. I mean they are good for all the range check in my opinion.

Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: Jani Nikula <jani.nikula@intel.com>

Tvrtko Ursulin (28):
  drm/i915: Make I830 platform support optional
  drm/i915: Make I845G platform support optional
  drm/i915: Make I85X platform support optional
  drm/i915: Make I865G platform support optional
  drm/i915: Make GEN2 support optional
  drm/i915: Make Gen3 platforms support optional
  drm/i915: Make Gen4 platforms support optional
  drm/i915: Make Ironlake/Gen5 platforms support optional
  drm/i915: Make Sandybridge/Gen6 platforms support optional
  drm/i915: Make Gen7/7.5 platform support optional
  drm/i915: Make Gen8 platform support optional
  drm/i915: Make Gen9 platform support optional
  drm/i915: Make Gen10 platform support optional
  drm/i915: Make Gen11 platform support optional
  drm/i915: Simplify IS_GEN macros
  drm/i915: Use INTEL_GEN everywhere
  drm/i915: Favour IS_GENx
  drm/i915: Use Gen Kconfig items in IS_GEN macro
  drm/i915: Replace arithmetic INTEL_GEN checks with the IS_GEN macro
  drm/i915: Use IS_GEN in execbuffer
  drm/i915: Allow render state to be compiled out
  drm/i915: Use IS_GEN in stolen
  drm/i915: Use IS_GEN in intel_bios.c
  drm/i915: Use IS_GEN in intel_fb_pitch_limit
  drm/i915: Use IS_GEN in intel_engine_cs.c
  drm/i915: Use IS_GEN in intel_guc.c
  drm/i915: Use IS_GEN in intel_lrc.c
  drm/i915: Enable dropping small cores when not enabled

 drivers/gpu/drm/i915/Kconfig                  |   5 +
 drivers/gpu/drm/i915/Kconfig.platforms        | 261 ++++++++++++++++++
 drivers/gpu/drm/i915/Makefile                 |   8 +-
 drivers/gpu/drm/i915/i915_debugfs.c           |  86 +++---
 drivers/gpu/drm/i915/i915_drv.c               |  16 +-
 drivers/gpu/drm/i915/i915_drv.h               | 187 ++++++++-----
 drivers/gpu/drm/i915/i915_gem.c               |  18 +-
 drivers/gpu/drm/i915/i915_gem_execbuffer.c    |  16 +-
 drivers/gpu/drm/i915/i915_gem_fence_reg.c     |   4 +-
 drivers/gpu/drm/i915/i915_gem_gtt.c           |  30 +-
 drivers/gpu/drm/i915/i915_gem_render_state.c  |  10 +-
 drivers/gpu/drm/i915/i915_gem_request.c       |   2 +-
 drivers/gpu/drm/i915/i915_gem_stolen.c        |  42 ++-
 drivers/gpu/drm/i915/i915_gem_tiling.c        |   8 +-
 drivers/gpu/drm/i915/i915_gpu_error.c         |  40 +--
 drivers/gpu/drm/i915/i915_irq.c               |  58 ++--
 drivers/gpu/drm/i915/i915_pci.c               | 120 +++++++-
 drivers/gpu/drm/i915/i915_perf.c              |   2 +-
 drivers/gpu/drm/i915/i915_pmu.c               |   6 +-
 drivers/gpu/drm/i915/i915_reg.h               |   4 +-
 drivers/gpu/drm/i915/i915_suspend.c           |  12 +-
 drivers/gpu/drm/i915/i915_sysfs.c             |   2 +-
 drivers/gpu/drm/i915/intel_atomic_plane.c     |   2 +-
 drivers/gpu/drm/i915/intel_audio.c            |   2 +-
 drivers/gpu/drm/i915/intel_bios.c             |   9 +-
 drivers/gpu/drm/i915/intel_cdclk.c            |   8 +-
 drivers/gpu/drm/i915/intel_color.c            |   2 +-
 drivers/gpu/drm/i915/intel_crt.c              |   6 +-
 drivers/gpu/drm/i915/intel_ddi.c              |  10 +-
 drivers/gpu/drm/i915/intel_device_info.c      |  18 +-
 drivers/gpu/drm/i915/intel_display.c          | 205 +++++++-------
 drivers/gpu/drm/i915/intel_dp.c               |  28 +-
 drivers/gpu/drm/i915/intel_dpll_mgr.c         |   4 +-
 drivers/gpu/drm/i915/intel_engine_cs.c        | 114 ++++----
 drivers/gpu/drm/i915/intel_fbc.c              |  32 +--
 drivers/gpu/drm/i915/intel_fifo_underrun.c    |   2 +-
 drivers/gpu/drm/i915/intel_guc.c              |  10 +-
 drivers/gpu/drm/i915/intel_hangcheck.c        |   2 +-
 drivers/gpu/drm/i915/intel_hdcp.c             |   2 +-
 drivers/gpu/drm/i915/intel_hdmi.c             |  10 +-
 drivers/gpu/drm/i915/intel_lrc.c              |  35 +--
 drivers/gpu/drm/i915/intel_lvds.c             |  10 +-
 drivers/gpu/drm/i915/intel_mocs.c             |   2 +-
 drivers/gpu/drm/i915/intel_overlay.c          |   2 +-
 drivers/gpu/drm/i915/intel_panel.c            |  10 +-
 drivers/gpu/drm/i915/intel_pipe_crc.c         |   2 +-
 drivers/gpu/drm/i915/intel_pm.c               | 106 +++----
 drivers/gpu/drm/i915/intel_psr.c              |   6 +-
 drivers/gpu/drm/i915/intel_ringbuffer.c       |  34 +--
 drivers/gpu/drm/i915/intel_ringbuffer.h       |   4 +-
 drivers/gpu/drm/i915/intel_sdvo.c             |  14 +-
 drivers/gpu/drm/i915/intel_sprite.c           |  30 +-
 drivers/gpu/drm/i915/intel_tv.c               |   2 +-
 drivers/gpu/drm/i915/intel_uncore.c           |  20 +-
 .../drm/i915/selftests/i915_gem_coherency.c   |   4 +-
 .../gpu/drm/i915/selftests/i915_gem_context.c |   2 +-
 .../gpu/drm/i915/selftests/i915_gem_object.c  |  12 +-
 .../gpu/drm/i915/selftests/intel_hangcheck.c  |   8 +-
 drivers/gpu/drm/i915/selftests/intel_uncore.c |   2 +-
 59 files changed, 1048 insertions(+), 660 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/Kconfig.platforms