Re: [Intel-gfx] [PATCH v2 6/6] drm/i915: Only include i915_reg.h from .c files

2022-01-26 Thread Lucas De Marchi

On Mon, Jan 24, 2022 at 06:08:26PM -0800, Matt Roper wrote:

Several of our i915 header files, have been including i915_reg.h.  This
means that any change to i915_reg.h will trigger a full rebuild of
pretty much every file of the driver, even those that don't have any
kind of register access.  Let's delete the i915_reg.h include from all
headers and include an explicit include from the .c files that truly


if you're going to respin this or while applying, it may be good to
reword this sentence as we have too many "include".



Reviewed-by: Lucas De Marchi 

Lucas De Marchi


[Intel-gfx] [PATCH v2 6/6] drm/i915: Only include i915_reg.h from .c files

2022-01-24 Thread Matt Roper
Several of our i915 header files, have been including i915_reg.h.  This
means that any change to i915_reg.h will trigger a full rebuild of
pretty much every file of the driver, even those that don't have any
kind of register access.  Let's delete the i915_reg.h include from all
headers and include an explicit include from the .c files that truly
need the register definitions; those that need a definition of
i915_reg_t for a function definition can get it from i915_reg_defs.h
instead.

We also remove two non-register #define's (VLV_DISPLAY_BASE and
GEN12_SFC_DONE_MAX) into i915_reg_defs.h to allow us to drop the
i915_reg.h include from a couple of headers.

There's probably a lot more header dependency optimization possible, but
the changes here roughly cut the number of files compiled after 'touch
i915_reg.h' in half --- a good first step.

Cc: Jani Nikula 
Signed-off-by: Matt Roper 
---
 drivers/gpu/drm/i915/display/g4x_hdmi.h   | 2 +-
 drivers/gpu/drm/i915/display/intel_atomic.c   | 1 +
 drivers/gpu/drm/i915/display/intel_bios.c | 1 +
 drivers/gpu/drm/i915/display/intel_bw.c   | 1 +
 drivers/gpu/drm/i915/display/intel_crt.h  | 2 +-
 drivers/gpu/drm/i915/display/intel_ddi.h  | 2 +-
 drivers/gpu/drm/i915/display/intel_de.h   | 1 -
 drivers/gpu/drm/i915/display/intel_display_power.h| 1 -
 drivers/gpu/drm/i915/display/intel_dmc.h  | 2 +-
 drivers/gpu/drm/i915/display/intel_dp.h   | 2 --
 drivers/gpu/drm/i915/display/intel_dsb.h  | 2 +-
 drivers/gpu/drm/i915/display/intel_dsi_vbt.c  | 1 +
 drivers/gpu/drm/i915/display/intel_dvo_dev.h  | 2 +-
 drivers/gpu/drm/i915/display/intel_hdmi.h | 2 --
 drivers/gpu/drm/i915/display/intel_lvds.h | 2 +-
 drivers/gpu/drm/i915/display/intel_sdvo.h | 2 +-
 drivers/gpu/drm/i915/display/intel_tc.c   | 1 +
 drivers/gpu/drm/i915/gem/i915_gem_stolen.c| 1 +
 drivers/gpu/drm/i915/gem/i915_gem_tiling.c| 1 +
 drivers/gpu/drm/i915/gt/gen2_engine_cs.c  | 1 +
 drivers/gpu/drm/i915/gt/intel_engine.h| 1 -
 drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c  | 1 +
 drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c| 1 +
 drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c | 1 +
 drivers/gpu/drm/i915/gt/intel_llc.c   | 1 +
 drivers/gpu/drm/i915/gt/intel_rc6.c   | 1 +
 drivers/gpu/drm/i915/gt/intel_rc6.h   | 2 +-
 drivers/gpu/drm/i915/gt/intel_region_lmem.c   | 1 +
 drivers/gpu/drm/i915/gt/intel_workarounds_types.h | 2 +-
 drivers/gpu/drm/i915/gt/uc/abi/guc_actions_slpc_abi.h | 1 -
 drivers/gpu/drm/i915/gt/uc/intel_guc_reg.h| 2 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c   | 1 +
 drivers/gpu/drm/i915/gt/uc/intel_huc.h| 2 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c  | 1 +
 drivers/gpu/drm/i915/gvt/aperture_gm.c| 1 +
 drivers/gpu/drm/i915/gvt/display.c| 1 +
 drivers/gpu/drm/i915/gvt/dmabuf.c | 1 +
 drivers/gpu/drm/i915/gvt/edid.c   | 1 +
 drivers/gpu/drm/i915/gvt/fb_decoder.c | 1 +
 drivers/gpu/drm/i915/gvt/handlers.c   | 1 +
 drivers/gpu/drm/i915/gvt/interrupt.c  | 1 +
 drivers/gpu/drm/i915/gvt/interrupt.h  | 2 +-
 drivers/gpu/drm/i915/gvt/mmio.c   | 1 +
 drivers/gpu/drm/i915/gvt/mmio_context.h   | 1 -
 drivers/gpu/drm/i915/i915_cmd_parser.c| 1 +
 drivers/gpu/drm/i915/i915_drv.h   | 1 -
 drivers/gpu/drm/i915/i915_pci.c   | 1 +
 drivers/gpu/drm/i915/i915_perf_types.h| 2 +-
 drivers/gpu/drm/i915/i915_reg.h   | 3 ---
 drivers/gpu/drm/i915/i915_reg_defs.h  | 4 
 drivers/gpu/drm/i915/intel_dram.c | 1 +
 drivers/gpu/drm/i915/intel_pcode.c| 1 +
 drivers/gpu/drm/i915/intel_pm.h   | 1 -
 drivers/gpu/drm/i915/intel_sbi.c  | 1 +
 drivers/gpu/drm/i915/intel_uncore.h   | 2 +-
 drivers/gpu/drm/i915/vlv_sideband.c   | 1 +
 56 files changed, 49 insertions(+), 29 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/g4x_hdmi.h 
b/drivers/gpu/drm/i915/display/g4x_hdmi.h
index 7aca14b602c6..db9a93bc9321 100644
--- a/drivers/gpu/drm/i915/display/g4x_hdmi.h
+++ b/drivers/gpu/drm/i915/display/g4x_hdmi.h
@@ -8,7 +8,7 @@
 
 #include 
 
-#include "i915_reg.h"
+#include "i915_reg_defs.h"
 
 enum port;
 struct drm_i915_private;
diff --git a/drivers/gpu/drm/i915/display/intel_atomic.c 
b/drivers/gpu/drm/i915/display/intel_atomic.c
index 1080741d1561..093904065112 100644
--- a/drivers/gpu/drm/i915/display/intel_atomic.c
+++ b/drivers/gpu/drm/i915/display/intel_atomic.c
@@ -35,6