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
next 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.