[PATCH 000/123] drm/i915: remove implicit dev_priv local variable use
Jani Nikula
jani.nikula at intel.com
Fri Apr 26 13:01:25 UTC 2024
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
More information about the Intel-gfx
mailing list