[Intel-gfx] [PATCH 00/12] Feature macro cleanup, batch 1

David Weinehall david.weinehall at linux.intel.com
Mon Aug 29 10:31:40 UTC 2016


Most of our feature macros are made to take
drm_i915_private as a parameter, since the wanted
information is part of that struct.

A lot of code still passes drm_device instead, meaning
extra pointer churn.  As a stop-gap solution our macros
currently implements a poor man's polymorphism by use of
the magic __I915__ macro.

This batch of patches starts a transition to a shinier
world with non-polymorphic macros.  I've got more
patches in the pipeline, but to prevent the merge
from stalling due to lack of review or due to merge
conflicts, I've decided to split them into several
batches.

The first patch in this series is only needed during
the merge period; the final patch in the final batch
of patches will undo those changes (but until then
these transitional macros serve to prevent new code
being added that uses the old behaviour).

This batch will, due to the introduction of some
transitional code, introduce more lines that it deletes,
but the following batches will more than compensate for this.
In terms of module size, this patch should save us a bit less
than 1kB. The total series will save something on the order
of 35-40kB (without doing most of the further cleanup that
this enables).

The philosophy when doing this transition has been:

* Whenever struct drm_i915_private * has been introduced
  it has been named dev_priv[1].

* In most of those cases I've tried to make the newly introduced
  pointers be independent from struct drm_device *, to ease finding
  unused variables once the transition is complete

* Whenever a transitioned macro has another macro on the same line,
  or the ones immediately preceeding or succeeding, I've transitioned
  those too, to minimise the amount of patches that changes the
  same lines.

* If leaf functions with struct drm_device * as an in-parameter
  has ended up not using that parameter at all (except for turning
  it into struct drm_i915_private *), I have in a few cases modified
  the function to take the latter pointer as a parameter instead.

* In a few cases I've rebroken lines to make them follow the kernel
  coding style.

[1] Let the bikeshedding ensue; i915 is an alternative
    that would make the code slightly more compact,
    be slightly more descriptive, and allow for fewer
    lines that violates that the kernel coding style
    in terms of length, but it does have a solid majority
    against it in terms of established use.

David Weinehall (12):
  drm/i915: Transitional, non-polymorph, macros
  drm/i915: IS_MOBILE() fixes
  drm/i915: HAS_POOLED_EU() fixes
  drm/i915: INTEL_GEN() fixes, part 1
  drm/i915: INTEL_GEN() fixes, part 2
  drm/i915: INTEL_GEN() fixes, part 3
  drm/i915: INTEL_GEN() fixes, part 4
  drm/i915: INTEL_GEN() fixes, part 5
  drm/i915: i915_vgacntrl_reg() fixes
  drm/i915: HAS_GMCH_DISPLAY() fixes
  drm/i915: RESOURCE_STREAMER/CORE_RING_FREQ fixes
  drm/i915: INTEL_GEN() fixes, part 6

 drivers/gpu/drm/i915/i915_drv.c              |  29 ++--
 drivers/gpu/drm/i915/i915_drv.h              |  52 +++---
 drivers/gpu/drm/i915/i915_gem.c              |  14 +-
 drivers/gpu/drm/i915/i915_gem_execbuffer.c   |  11 +-
 drivers/gpu/drm/i915/i915_gem_fence.c        |   9 +-
 drivers/gpu/drm/i915/i915_gem_gtt.c          |  22 +--
 drivers/gpu/drm/i915/i915_gem_render_state.c |   6 +-
 drivers/gpu/drm/i915/i915_gem_stolen.c       |   9 +-
 drivers/gpu/drm/i915/i915_gem_tiling.c       |   7 +-
 drivers/gpu/drm/i915/i915_gpu_error.c        |  18 +--
 drivers/gpu/drm/i915/i915_irq.c              |  50 +++---
 drivers/gpu/drm/i915/i915_suspend.c          |  18 +--
 drivers/gpu/drm/i915/intel_audio.c           |   2 +-
 drivers/gpu/drm/i915/intel_bios.c            |   2 +-
 drivers/gpu/drm/i915/intel_color.c           |  16 +-
 drivers/gpu/drm/i915/intel_crt.c             |   9 +-
 drivers/gpu/drm/i915/intel_ddi.c             |  24 ++-
 drivers/gpu/drm/i915/intel_device_info.c     |   2 +-
 drivers/gpu/drm/i915/intel_display.c         | 231 ++++++++++++++-------------
 drivers/gpu/drm/i915/intel_dp.c              |  56 ++++---
 drivers/gpu/drm/i915/intel_dpll_mgr.c        |   5 +-
 drivers/gpu/drm/i915/intel_drv.h             |   2 +-
 drivers/gpu/drm/i915/intel_dsi.c             |   5 +-
 drivers/gpu/drm/i915/intel_fbc.c             |  28 ++--
 drivers/gpu/drm/i915/intel_fifo_underrun.c   |   2 +-
 drivers/gpu/drm/i915/intel_guc_loader.c      |   2 +-
 drivers/gpu/drm/i915/intel_hdmi.c            |  15 +-
 drivers/gpu/drm/i915/intel_lvds.c            |  17 +-
 drivers/gpu/drm/i915/intel_mocs.c            |   2 +-
 drivers/gpu/drm/i915/intel_panel.c           |  12 +-
 drivers/gpu/drm/i915/intel_pm.c              |  83 ++++++----
 drivers/gpu/drm/i915/intel_psr.c             |   8 +-
 drivers/gpu/drm/i915/intel_ringbuffer.c      |   2 +-
 drivers/gpu/drm/i915/intel_sdvo.c            |  12 +-
 drivers/gpu/drm/i915/intel_sprite.c          |  17 +-
 drivers/gpu/drm/i915/intel_tv.c              |   2 +-
 drivers/gpu/drm/i915/intel_uncore.c          |  14 +-
 37 files changed, 418 insertions(+), 397 deletions(-)

-- 
2.9.3



More information about the Intel-gfx mailing list