All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC 00/15] Selectable platform support
@ 2018-02-08 13:05 Tvrtko Ursulin
  2018-02-08 13:05 ` [RFC 01/15] drm/i915: Make I830 platform support optional Tvrtko Ursulin
                   ` (18 more replies)
  0 siblings, 19 replies; 46+ messages in thread
From: Tvrtko Ursulin @ 2018-02-08 13:05 UTC (permalink / raw)
  To: Intel-gfx

From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

For Joonas basically. :)

Rough goal - add Kconfig options to turn off supported platforms and count on
compiler DCE to make the driver smaller.

Tested as so much that it boots and renders on Skylake with all platforms/gens
older than Gen8 turned off.

   text    data     bss     dec     hex filename
1502847   54223    2888 1559958  17cd96 i915.ko.original
1375647   51939    2888 1430474  15d3ca i915.ko.gen8+

So only ~124kiB saving. Or ~8.5%. Perhaps once GCC LTO support lands it would be
better than this?

Starts with smaller patches to show the idea step by step on Gen2, then proceeds
in larger chunks, to finish with some invasive Coccinelle works to enable the
last few kilo-bytes of savings.

Let the flames begin! :)

Tvrtko Ursulin (15):
  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: Use INTEL_GEN everywhere
  drm/i915: Favour IS_GENx
  drm/i915: IS_GEN range helpers
  drm/i915: Use new IS_GEN range helpers
  drm/i915: Replace some negative Gen checks

 drivers/gpu/drm/i915/Kconfig                       |   5 +
 drivers/gpu/drm/i915/Kconfig.platforms             | 169 ++++++++++++++++++
 drivers/gpu/drm/i915/i915_debugfs.c                |  86 ++++-----
 drivers/gpu/drm/i915/i915_drv.c                    |  16 +-
 drivers/gpu/drm/i915/i915_drv.h                    | 133 ++++++++++----
 drivers/gpu/drm/i915/i915_gem.c                    |  18 +-
 drivers/gpu/drm/i915/i915_gem_execbuffer.c         |   2 +-
 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_request.c            |   2 +-
 drivers/gpu/drm/i915/i915_gem_stolen.c             |   8 +-
 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                    |  84 ++++++++-
 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                  |   2 +-
 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               | 194 ++++++++++-----------
 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             |  22 +--
 drivers/gpu/drm/i915/intel_fbc.c                   |  32 ++--
 drivers/gpu/drm/i915/intel_fifo_underrun.c         |   2 +-
 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                   |   6 +-
 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 +--
 .../gpu/drm/i915/selftests/i915_gem_coherency.c    |   4 +-
 drivers/gpu/drm/i915/selftests/i915_gem_context.c  |   2 +-
 drivers/gpu/drm/i915/selftests/i915_gem_object.c   |  12 +-
 drivers/gpu/drm/i915/selftests/intel_hangcheck.c   |   8 +-
 drivers/gpu/drm/i915/selftests/intel_uncore.c      |   2 +-
 56 files changed, 816 insertions(+), 495 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/Kconfig.platforms

-- 
2.14.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 46+ messages in thread

end of thread, other threads:[~2018-02-10 22:51 UTC | newest]

Thread overview: 46+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-02-08 13:05 [RFC 00/15] Selectable platform support Tvrtko Ursulin
2018-02-08 13:05 ` [RFC 01/15] drm/i915: Make I830 platform support optional Tvrtko Ursulin
2018-02-08 13:23   ` Chris Wilson
2018-02-09 11:26   ` Jani Nikula
2018-02-08 13:05 ` [RFC 02/15] drm/i915: Make I845G " Tvrtko Ursulin
2018-02-08 13:05 ` [RFC 03/15] drm/i915: Make I85X " Tvrtko Ursulin
2018-02-08 13:05 ` [RFC 04/15] drm/i915: Make I865G " Tvrtko Ursulin
2018-02-08 13:05 ` [RFC 05/15] drm/i915: Make GEN2 " Tvrtko Ursulin
2018-02-08 13:05 ` [RFC 06/15] drm/i915: Make Gen3 platforms " Tvrtko Ursulin
2018-02-08 13:05 ` [RFC 07/15] drm/i915: Make Gen4 " Tvrtko Ursulin
2018-02-08 13:05 ` [RFC 08/15] drm/i915: Make Ironlake/Gen5 " Tvrtko Ursulin
2018-02-08 13:06 ` [RFC 09/15] drm/i915: Make Sandybridge/Gen6 " Tvrtko Ursulin
2018-02-08 13:06 ` [RFC 10/15] drm/i915: Make Gen7/7.5 platform " Tvrtko Ursulin
2018-02-08 13:06 ` [RFC 11/15] drm/i915: Use INTEL_GEN everywhere Tvrtko Ursulin
2018-02-09 10:14   ` Jani Nikula
2018-02-09 21:59     ` [PATCH] __gen__ Chris Wilson
2018-02-09 10:20   ` [RFC 11/15] drm/i915: Use INTEL_GEN everywhere Chris Wilson
2018-02-08 13:06 ` [RFC 12/15] drm/i915: Favour IS_GENx Tvrtko Ursulin
2018-02-08 13:06 ` [RFC 13/15] drm/i915: IS_GEN range helpers Tvrtko Ursulin
2018-02-08 13:06 ` [RFC 14/15] drm/i915: Use new " Tvrtko Ursulin
2018-02-08 14:22   ` Ville Syrjälä
2018-02-08 14:34     ` Tvrtko Ursulin
2018-02-08 14:46       ` Chris Wilson
2018-02-08 15:13         ` Mika Kuoppala
2018-02-08 15:53           ` Ville Syrjälä
2018-02-09 11:18             ` Jani Nikula
2018-02-09 14:48               ` Ville Syrjälä
2018-02-09 15:01                 ` Chris Wilson
2018-02-09 15:12                 ` Ville Syrjälä
2018-02-10 22:51                   ` Chris Wilson
2018-02-08 13:06 ` [RFC 15/15] drm/i915: Replace some negative Gen checks Tvrtko Ursulin
2018-02-09 10:18   ` Jani Nikula
2018-02-09 10:19   ` Chris Wilson
2018-02-08 13:26 ` [RFC 00/15] Selectable platform support Chris Wilson
2018-02-08 14:06   ` Tvrtko Ursulin
2018-02-08 15:07     ` Joonas Lahtinen
2018-02-09 11:49       ` Jani Nikula
2018-02-09 12:02         ` Chris Wilson
2018-02-08 15:28 ` ✗ Fi.CI.BAT: failure for " Patchwork
2018-02-09 10:48 ` [RFC 00/15] " Tvrtko Ursulin
2018-02-09 10:50   ` Chris Wilson
2018-02-09 11:01     ` Tvrtko Ursulin
2018-02-09 11:19       ` Chris Wilson
2018-02-09 21:14         ` Chris Wilson
2018-02-09 11:32   ` Jani Nikula
2018-02-09 22:23 ` ✗ Fi.CI.BAT: failure for Selectable platform support (rev2) Patchwork

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.