All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jani Nikula <jani.nikula@intel.com>
To: intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org
Cc: jani.nikula@intel.com
Subject: [PATCH 000/123] drm/i915: remove implicit dev_priv local variable use
Date: Fri, 26 Apr 2024 16:01:25 +0300	[thread overview]
Message-ID: <cover.1714136165.git.jani.nikula@intel.com> (raw)

Hey all, it's time to stop using the implicit dev_priv local variable in
register macros. Yes, this is huge. It's also (almost) completely
scripted.

Thoughts?

BR,
Jani.


Here's the script:


	#!/bin/bash
	
	set -e
	
	# Find all the registers implicitly relying on dev_priv
	REGS=$(git grep -h "#define.*dev_priv" -- drivers/gpu/drm/i915/i915_reg.h |\
		       grep -v '#define[ \t]\+[a-zA-Z0-9_]\+(dev_priv' |\
		       sed 's/#define[ \t]\+\([a-zA-Z0-9_]\+\).*/\1/')
	
	for reg in $REGS; do
		echo $reg
		
		FILES=$(git grep -wl $reg -- drivers/gpu/drm/i915)
	
		cocci=$(mktemp)
		cat >$cocci <<EOF
	@@
	identifier reg =~ "^$reg\$";
	@@
	
	  <...
	(
	  reg(
	+     dev_priv,
	      ...)
	|
	- reg
	+ reg(dev_priv)
	)
	  ...>
	
	EOF
	
		# already function-like macros
		sed -i "s/\(#define *${reg}(\)/\1dev_priv, /" $FILES
	
		# new function-like macros
		sed -i "s/\(#define *${reg}\)\([ \t]\)/\1(dev_priv)\2/" $FILES
	
		spatch --sp-file $cocci --in-place --linux-spacing $FILES >/dev/null
	
		rm -f $cocci
	
		git commit -as -F - <<EOF
	drm/i915: pass dev_priv explicitly to $reg
	
	Avoid the implicit dev_priv local variable use, and pass dev_priv
	explicitly to the $reg register macro.
	
	EOF
		
	done


Jani Nikula (123):
  drm/i915: pass dev_priv explicitly to DPLL
  drm/i915: pass dev_priv explicitly to DPLL_MD
  drm/i915: pass dev_priv explicitly to PALETTE
  drm/i915: pass dev_priv explicitly to PIPE_CRC_CTL
  drm/i915: pass dev_priv explicitly to PIPE_CRC_RES_1_IVB
  drm/i915: pass dev_priv explicitly to PIPE_CRC_RES_2_IVB
  drm/i915: pass dev_priv explicitly to PIPE_CRC_RES_3_IVB
  drm/i915: pass dev_priv explicitly to PIPE_CRC_RES_4_IVB
  drm/i915: pass dev_priv explicitly to PIPE_CRC_RES_5_IVB
  drm/i915: pass dev_priv explicitly to PIPE_CRC_RES_RED
  drm/i915: pass dev_priv explicitly to PIPE_CRC_RES_GREEN
  drm/i915: pass dev_priv explicitly to PIPE_CRC_RES_BLUE
  drm/i915: pass dev_priv explicitly to PIPE_CRC_RES_RES1_I915
  drm/i915: pass dev_priv explicitly to PIPE_CRC_RES_RES2_G4X
  drm/i915: pass dev_priv explicitly to TRANS_HTOTAL
  drm/i915: pass dev_priv explicitly to TRANS_HBLANK
  drm/i915: pass dev_priv explicitly to TRANS_HSYNC
  drm/i915: pass dev_priv explicitly to TRANS_VTOTAL
  drm/i915: pass dev_priv explicitly to TRANS_VBLANK
  drm/i915: pass dev_priv explicitly to TRANS_VSYNC
  drm/i915: pass dev_priv explicitly to BCLRPAT
  drm/i915: pass dev_priv explicitly to TRANS_VSYNCSHIFT
  drm/i915: pass dev_priv explicitly to PIPESRC
  drm/i915: pass dev_priv explicitly to TRANS_MULT
  drm/i915: pass dev_priv explicitly to TRANS_VRR_CTL
  drm/i915: pass dev_priv explicitly to TRANS_VRR_VMAX
  drm/i915: pass dev_priv explicitly to TRANS_VRR_VMIN
  drm/i915: pass dev_priv explicitly to TRANS_VRR_VMAXSHIFT
  drm/i915: pass dev_priv explicitly to TRANS_VRR_STATUS
  drm/i915: pass dev_priv explicitly to TRANS_VRR_VTOTAL_PREV
  drm/i915: pass dev_priv explicitly to TRANS_VRR_FLIPLINE
  drm/i915: pass dev_priv explicitly to TRANS_VRR_STATUS2
  drm/i915: pass dev_priv explicitly to TRANS_PUSH
  drm/i915: pass dev_priv explicitly to TRANS_VRR_VSYNC
  drm/i915: pass dev_priv explicitly to PORT_HOTPLUG_EN
  drm/i915: pass dev_priv explicitly to PORT_HOTPLUG_STAT
  drm/i915: pass dev_priv explicitly to PORT_DFT2_G4X
  drm/i915: pass dev_priv explicitly to PFIT_CONTROL
  drm/i915: pass dev_priv explicitly to PFIT_PGM_RATIOS
  drm/i915: pass dev_priv explicitly to PFIT_AUTO_RATIOS
  drm/i915: pass dev_priv explicitly to TRANSCONF
  drm/i915: pass dev_priv explicitly to PIPEDSL
  drm/i915: pass dev_priv explicitly to PIPEFRAME
  drm/i915: pass dev_priv explicitly to PIPEFRAMEPIXEL
  drm/i915: pass dev_priv explicitly to PIPESTAT
  drm/i915: pass dev_priv explicitly to PIPEGCMAX
  drm/i915: pass dev_priv explicitly to PIPE_ARB_CTL
  drm/i915: pass dev_priv explicitly to ICL_PIPESTATUS
  drm/i915: pass dev_priv explicitly to DSPARB
  drm/i915: pass dev_priv explicitly to DSPFW1
  drm/i915: pass dev_priv explicitly to DSPFW2
  drm/i915: pass dev_priv explicitly to DSPFW3
  drm/i915: pass dev_priv explicitly to PIPE_FRMCOUNT_G4X
  drm/i915: pass dev_priv explicitly to PIPE_FLIPCOUNT_G4X
  drm/i915: pass dev_priv explicitly to CURCNTR
  drm/i915: pass dev_priv explicitly to CURBASE
  drm/i915: pass dev_priv explicitly to CURPOS
  drm/i915: pass dev_priv explicitly to CURPOS_ERLY_TPT
  drm/i915: pass dev_priv explicitly to CURSIZE
  drm/i915: pass dev_priv explicitly to CUR_FBC_CTL
  drm/i915: pass dev_priv explicitly to CUR_CHICKEN
  drm/i915: pass dev_priv explicitly to CURSURFLIVE
  drm/i915: pass dev_priv explicitly to DSPADDR_VLV
  drm/i915: pass dev_priv explicitly to DSPCNTR
  drm/i915: pass dev_priv explicitly to DSPADDR
  drm/i915: pass dev_priv explicitly to DSPSTRIDE
  drm/i915: pass dev_priv explicitly to DSPPOS
  drm/i915: pass dev_priv explicitly to DSPSIZE
  drm/i915: pass dev_priv explicitly to DSPSURF
  drm/i915: pass dev_priv explicitly to DSPTILEOFF
  drm/i915: pass dev_priv explicitly to DSPOFFSET
  drm/i915: pass dev_priv explicitly to DSPSURFLIVE
  drm/i915: pass dev_priv explicitly to DSPGAMC
  drm/i915: pass dev_priv explicitly to CHV_BLEND
  drm/i915: pass dev_priv explicitly to CHV_CANVAS
  drm/i915: pass dev_priv explicitly to PRIMPOS
  drm/i915: pass dev_priv explicitly to PRIMSIZE
  drm/i915: pass dev_priv explicitly to PRIMCNSTALPHA
  drm/i915: pass dev_priv explicitly to SWF0
  drm/i915: pass dev_priv explicitly to SWF1
  drm/i915: pass dev_priv explicitly to SWF3
  drm/i915: pass dev_priv explicitly to _PIPEBDSL
  drm/i915: pass dev_priv explicitly to _TRANSBCONF
  drm/i915: pass dev_priv explicitly to _PIPEBSTAT
  drm/i915: pass dev_priv explicitly to _PIPEB_FRMCOUNT_G4X
  drm/i915: pass dev_priv explicitly to _PIPEB_FLIPCOUNT_G4X
  drm/i915: pass dev_priv explicitly to _DSPBCNTR
  drm/i915: pass dev_priv explicitly to _DSPBADDR
  drm/i915: pass dev_priv explicitly to _DSPBSTRIDE
  drm/i915: pass dev_priv explicitly to _DSPBPOS
  drm/i915: pass dev_priv explicitly to _DSPBSIZE
  drm/i915: pass dev_priv explicitly to _DSPBSURF
  drm/i915: pass dev_priv explicitly to _DSPBTILEOFF
  drm/i915: pass dev_priv explicitly to _DSPBOFFSET
  drm/i915: pass dev_priv explicitly to _DSPBSURFLIVE
  drm/i915: pass dev_priv explicitly to PIPE_DATA_M1
  drm/i915: pass dev_priv explicitly to PIPE_DATA_N1
  drm/i915: pass dev_priv explicitly to PIPE_DATA_M2
  drm/i915: pass dev_priv explicitly to PIPE_DATA_N2
  drm/i915: pass dev_priv explicitly to PIPE_LINK_M1
  drm/i915: pass dev_priv explicitly to PIPE_LINK_N1
  drm/i915: pass dev_priv explicitly to PIPE_LINK_M2
  drm/i915: pass dev_priv explicitly to PIPE_LINK_N2
  drm/i915: pass dev_priv explicitly to HSW_TVIDEO_DIP_CTL
  drm/i915: pass dev_priv explicitly to HSW_TVIDEO_DIP_GCP
  drm/i915: pass dev_priv explicitly to HSW_TVIDEO_DIP_AVI_DATA
  drm/i915: pass dev_priv explicitly to HSW_TVIDEO_DIP_VS_DATA
  drm/i915: pass dev_priv explicitly to HSW_TVIDEO_DIP_SPD_DATA
  drm/i915: pass dev_priv explicitly to HSW_TVIDEO_DIP_GMP_DATA
  drm/i915: pass dev_priv explicitly to HSW_TVIDEO_DIP_VSC_DATA
  drm/i915: pass dev_priv explicitly to GLK_TVIDEO_DIP_DRM_DATA
  drm/i915: pass dev_priv explicitly to ICL_VIDEO_DIP_PPS_DATA
  drm/i915: pass dev_priv explicitly to ICL_VIDEO_DIP_PPS_ECC
  drm/i915: pass dev_priv explicitly to ADL_TVIDEO_DIP_AS_SDP_DATA
  drm/i915: pass dev_priv explicitly to HSW_STEREO_3D_CTL
  drm/i915: pass dev_priv explicitly to TRANS_DDI_FUNC_CTL
  drm/i915: pass dev_priv explicitly to TRANS_DDI_FUNC_CTL2
  drm/i915: pass dev_priv explicitly to TGL_DP_TP_CTL
  drm/i915: pass dev_priv explicitly to TGL_DP_TP_STATUS
  drm/i915: pass dev_priv explicitly to TRANS_MSA_MISC
  drm/i915: pass dev_priv explicitly to TRANS_SET_CONTEXT_LATENCY
  drm/i915: pass dev_priv explicitly to MTL_CLKGATE_DIS_TRANS
  drm/i915: pass dev_priv explicitly to DSPLINOFF

 drivers/gpu/drm/i915/display/g4x_dp.c         |   2 +-
 drivers/gpu/drm/i915/display/i9xx_plane.c     |  62 ++--
 drivers/gpu/drm/i915/display/i9xx_wm.c        |  87 +++---
 drivers/gpu/drm/i915/display/icl_dsi.c        |  46 +--
 drivers/gpu/drm/i915/display/intel_color.c    |  44 +--
 drivers/gpu/drm/i915/display/intel_crt.c      |  50 ++--
 drivers/gpu/drm/i915/display/intel_cursor.c   |  33 ++-
 drivers/gpu/drm/i915/display/intel_ddi.c      |  47 ++--
 drivers/gpu/drm/i915/display/intel_display.c  | 203 ++++++++------
 .../drm/i915/display/intel_display_debugfs.c  |   2 +-
 .../gpu/drm/i915/display/intel_display_irq.c  |  41 +--
 .../drm/i915/display/intel_display_power.c    |   2 +-
 .../i915/display/intel_display_power_well.c   |  14 +-
 drivers/gpu/drm/i915/display/intel_dp.c       |   3 +-
 drivers/gpu/drm/i915/display/intel_dp_mst.c   |   5 +-
 drivers/gpu/drm/i915/display/intel_dpll.c     |  63 +++--
 drivers/gpu/drm/i915/display/intel_drrs.c     |   2 +-
 drivers/gpu/drm/i915/display/intel_dvo.c      |   5 +-
 drivers/gpu/drm/i915/display/intel_fbc.c      |   8 +-
 drivers/gpu/drm/i915/display/intel_fdi.c      |  15 +-
 .../drm/i915/display/intel_fifo_underrun.c    |  13 +-
 drivers/gpu/drm/i915/display/intel_hdmi.c     |  32 ++-
 .../gpu/drm/i915/display/intel_hotplug_irq.c  |  12 +-
 drivers/gpu/drm/i915/display/intel_lspcon.c   |   2 +-
 drivers/gpu/drm/i915/display/intel_lvds.c     |   2 +-
 drivers/gpu/drm/i915/display/intel_overlay.c  |  10 +-
 .../gpu/drm/i915/display/intel_pch_display.c  |  21 +-
 drivers/gpu/drm/i915/display/intel_pipe_crc.c |  20 +-
 drivers/gpu/drm/i915/display/intel_pps.c      |   2 +-
 drivers/gpu/drm/i915/display/intel_psr.c      |  18 +-
 drivers/gpu/drm/i915/display/intel_vblank.c   |  14 +-
 drivers/gpu/drm/i915/display/intel_vrr.c      |  52 ++--
 drivers/gpu/drm/i915/display/vlv_dsi.c        |   3 +-
 drivers/gpu/drm/i915/gvt/cmd_parser.c         |  14 +-
 drivers/gpu/drm/i915/gvt/display.c            |  71 ++---
 drivers/gpu/drm/i915/gvt/fb_decoder.c         |  20 +-
 drivers/gpu/drm/i915/gvt/handlers.c           |  40 +--
 drivers/gpu/drm/i915/i915_irq.c               |   5 +-
 drivers/gpu/drm/i915/i915_reg.h               | 246 ++++++++--------
 drivers/gpu/drm/i915/i915_suspend.c           |  48 ++--
 drivers/gpu/drm/i915/intel_clock_gating.c     |   9 +-
 drivers/gpu/drm/i915/intel_gvt_mmio_table.c   | 264 +++++++++---------
 42 files changed, 906 insertions(+), 746 deletions(-)

-- 
2.39.2


             reply	other threads:[~2024-04-26 13:03 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-26 13:01 Jani Nikula [this message]
2024-04-26 13:01 ` [PATCH 001/123] drm/i915: pass dev_priv explicitly to DPLL Jani Nikula
2024-04-26 13:01 ` [PATCH 002/123] drm/i915: pass dev_priv explicitly to DPLL_MD Jani Nikula
2024-04-26 13:01 ` [PATCH 003/123] drm/i915: pass dev_priv explicitly to PALETTE Jani Nikula
2024-04-26 13:01 ` [PATCH 004/123] drm/i915: pass dev_priv explicitly to PIPE_CRC_CTL Jani Nikula
2024-04-26 13:01 ` [PATCH 005/123] drm/i915: pass dev_priv explicitly to PIPE_CRC_RES_1_IVB Jani Nikula
2024-04-26 13:01 ` [PATCH 006/123] drm/i915: pass dev_priv explicitly to PIPE_CRC_RES_2_IVB Jani Nikula
2024-04-26 13:01 ` [PATCH 007/123] drm/i915: pass dev_priv explicitly to PIPE_CRC_RES_3_IVB Jani Nikula
2024-04-26 13:01 ` [PATCH 008/123] drm/i915: pass dev_priv explicitly to PIPE_CRC_RES_4_IVB Jani Nikula
2024-04-26 13:01 ` [PATCH 009/123] drm/i915: pass dev_priv explicitly to PIPE_CRC_RES_5_IVB Jani Nikula
2024-04-26 13:01 ` [PATCH 010/123] drm/i915: pass dev_priv explicitly to PIPE_CRC_RES_RED Jani Nikula
2024-04-26 13:01 ` [PATCH 011/123] drm/i915: pass dev_priv explicitly to PIPE_CRC_RES_GREEN Jani Nikula
2024-04-26 13:01 ` [PATCH 012/123] drm/i915: pass dev_priv explicitly to PIPE_CRC_RES_BLUE Jani Nikula
2024-04-26 13:01 ` [PATCH 013/123] drm/i915: pass dev_priv explicitly to PIPE_CRC_RES_RES1_I915 Jani Nikula
2024-04-26 13:01 ` [PATCH 014/123] drm/i915: pass dev_priv explicitly to PIPE_CRC_RES_RES2_G4X Jani Nikula
2024-04-26 13:01 ` [PATCH 015/123] drm/i915: pass dev_priv explicitly to TRANS_HTOTAL Jani Nikula
2024-04-26 13:01 ` [PATCH 016/123] drm/i915: pass dev_priv explicitly to TRANS_HBLANK Jani Nikula
2024-04-26 13:01 ` [PATCH 017/123] drm/i915: pass dev_priv explicitly to TRANS_HSYNC Jani Nikula
2024-04-26 13:09 ` [PATCH 000/123] drm/i915: remove implicit dev_priv local variable use Jani Nikula
2024-04-29 12:43   ` Rodrigo Vivi
2024-04-29 14:08     ` Jani Nikula

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1714136165.git.jani.nikula@intel.com \
    --to=jani.nikula@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=intel-xe@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.