Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/msm: generate headers on the fly

Generate DRM/MSM headers on the fly during kernel build. This removes a
need to push register changes to Mesa with the following manual
synchronization step. Existing headers will be removed in the following
commits (split away to ease reviews).

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Patchwork: https://patchwork.freedesktop.org/patch/585862/
Link: https://lore.kernel.org/r/20240401-fd-xml-shipped-v5-11-4bdb277a85a1@linaro.org

+77 -21
+1
drivers/gpu/drm/msm/.gitignore
··· 1 + generated/
+76 -21
drivers/gpu/drm/msm/Makefile
··· 1 1 # SPDX-License-Identifier: GPL-2.0 2 2 ccflags-y := -I $(srctree)/$(src) 3 + ccflags-y += -I $(obj)/generated 3 4 ccflags-y += -I $(srctree)/$(src)/disp/dpu1 4 5 ccflags-$(CONFIG_DRM_MSM_DSI) += -I $(srctree)/$(src)/dsi 5 6 ccflags-$(CONFIG_DRM_MSM_DP) += -I $(srctree)/$(src)/dp 6 7 7 - msm-y := \ 8 + adreno-y := \ 8 9 adreno/adreno_device.o \ 9 10 adreno/adreno_gpu.o \ 10 11 adreno/a2xx_gpu.o \ ··· 19 18 adreno/a6xx_gmu.o \ 20 19 adreno/a6xx_hfi.o \ 21 20 22 - msm-$(CONFIG_DRM_MSM_HDMI) += \ 21 + adreno-$(CONFIG_DEBUG_FS) += adreno/a5xx_debugfs.o \ 22 + 23 + adreno-$(CONFIG_DRM_MSM_GPU_STATE) += adreno/a6xx_gpu_state.o 24 + 25 + msm-display-$(CONFIG_DRM_MSM_HDMI) += \ 23 26 hdmi/hdmi.o \ 24 27 hdmi/hdmi_audio.o \ 25 28 hdmi/hdmi_bridge.o \ ··· 36 31 hdmi/hdmi_phy_8x74.o \ 37 32 hdmi/hdmi_pll_8960.o \ 38 33 39 - msm-$(CONFIG_DRM_MSM_MDP4) += \ 34 + msm-display-$(CONFIG_DRM_MSM_MDP4) += \ 40 35 disp/mdp4/mdp4_crtc.o \ 41 36 disp/mdp4/mdp4_dsi_encoder.o \ 42 37 disp/mdp4/mdp4_dtv_encoder.o \ ··· 47 42 disp/mdp4/mdp4_kms.o \ 48 43 disp/mdp4/mdp4_plane.o \ 49 44 50 - msm-$(CONFIG_DRM_MSM_MDP5) += \ 45 + msm-display-$(CONFIG_DRM_MSM_MDP5) += \ 51 46 disp/mdp5/mdp5_cfg.o \ 52 47 disp/mdp5/mdp5_cmd_encoder.o \ 53 48 disp/mdp5/mdp5_ctl.o \ ··· 60 55 disp/mdp5/mdp5_plane.o \ 61 56 disp/mdp5/mdp5_smp.o \ 62 57 63 - msm-$(CONFIG_DRM_MSM_DPU) += \ 58 + msm-display-$(CONFIG_DRM_MSM_DPU) += \ 64 59 disp/dpu1/dpu_core_perf.o \ 65 60 disp/dpu1/dpu_crtc.o \ 66 61 disp/dpu1/dpu_encoder.o \ ··· 90 85 disp/dpu1/dpu_vbif.o \ 91 86 disp/dpu1/dpu_writeback.o 92 87 93 - msm-$(CONFIG_DRM_MSM_MDSS) += \ 88 + msm-display-$(CONFIG_DRM_MSM_MDSS) += \ 94 89 msm_mdss.o \ 95 90 96 - msm-y += \ 91 + msm-display-y += \ 97 92 disp/mdp_format.o \ 98 93 disp/mdp_kms.o \ 99 94 disp/msm_disp_snapshot.o \ 100 95 disp/msm_disp_snapshot_util.o \ 96 + 97 + msm-y += \ 101 98 msm_atomic.o \ 102 99 msm_atomic_tracepoints.o \ 103 100 msm_debugfs.o \ ··· 122 115 msm_submitqueue.o \ 123 116 msm_gpu_tracepoints.o \ 124 117 125 - msm-$(CONFIG_DEBUG_FS) += adreno/a5xx_debugfs.o \ 118 + msm-$(CONFIG_DRM_FBDEV_EMULATION) += msm_fbdev.o 119 + 120 + msm-display-$(CONFIG_DEBUG_FS) += \ 126 121 dp/dp_debug.o 127 122 128 - msm-$(CONFIG_DRM_MSM_GPU_STATE) += adreno/a6xx_gpu_state.o 129 - 130 - msm-$(CONFIG_DRM_MSM_DP)+= dp/dp_aux.o \ 123 + msm-display-$(CONFIG_DRM_MSM_DP)+= dp/dp_aux.o \ 131 124 dp/dp_catalog.o \ 132 125 dp/dp_ctrl.o \ 133 126 dp/dp_display.o \ ··· 137 130 dp/dp_audio.o \ 138 131 dp/dp_utils.o 139 132 140 - msm-$(CONFIG_DRM_FBDEV_EMULATION) += msm_fbdev.o 133 + msm-display-$(CONFIG_DRM_MSM_HDMI_HDCP) += hdmi/hdmi_hdcp.o 141 134 142 - msm-$(CONFIG_DRM_MSM_HDMI_HDCP) += hdmi/hdmi_hdcp.o 143 - 144 - msm-$(CONFIG_DRM_MSM_DSI) += dsi/dsi.o \ 135 + msm-display-$(CONFIG_DRM_MSM_DSI) += dsi/dsi.o \ 145 136 dsi/dsi_cfg.o \ 146 137 dsi/dsi_host.o \ 147 138 dsi/dsi_manager.o \ 148 139 dsi/phy/dsi_phy.o 149 140 150 - msm-$(CONFIG_DRM_MSM_DSI_28NM_PHY) += dsi/phy/dsi_phy_28nm.o 151 - msm-$(CONFIG_DRM_MSM_DSI_20NM_PHY) += dsi/phy/dsi_phy_20nm.o 152 - msm-$(CONFIG_DRM_MSM_DSI_28NM_8960_PHY) += dsi/phy/dsi_phy_28nm_8960.o 153 - msm-$(CONFIG_DRM_MSM_DSI_14NM_PHY) += dsi/phy/dsi_phy_14nm.o 154 - msm-$(CONFIG_DRM_MSM_DSI_10NM_PHY) += dsi/phy/dsi_phy_10nm.o 155 - msm-$(CONFIG_DRM_MSM_DSI_7NM_PHY) += dsi/phy/dsi_phy_7nm.o 141 + msm-display-$(CONFIG_DRM_MSM_DSI_28NM_PHY) += dsi/phy/dsi_phy_28nm.o 142 + msm-display-$(CONFIG_DRM_MSM_DSI_20NM_PHY) += dsi/phy/dsi_phy_20nm.o 143 + msm-display-$(CONFIG_DRM_MSM_DSI_28NM_8960_PHY) += dsi/phy/dsi_phy_28nm_8960.o 144 + msm-display-$(CONFIG_DRM_MSM_DSI_14NM_PHY) += dsi/phy/dsi_phy_14nm.o 145 + msm-display-$(CONFIG_DRM_MSM_DSI_10NM_PHY) += dsi/phy/dsi_phy_10nm.o 146 + msm-display-$(CONFIG_DRM_MSM_DSI_7NM_PHY) += dsi/phy/dsi_phy_7nm.o 147 + 148 + msm-y += $(adreno-y) $(msm-display-y) 156 149 157 150 obj-$(CONFIG_DRM_MSM) += msm.o 151 + 152 + quiet_cmd_headergen = GENHDR $@ 153 + cmd_headergen = mkdir -p $(obj)/generated && $(PYTHON3) $(srctree)/$(src)/registers/gen_header.py --rnn $(srctree)/$(src)/registers --xml $< c-defines > $@ 154 + 155 + $(obj)/generated/%.xml.h: $(src)/registers/adreno/%.xml \ 156 + $(src)/registers/adreno/adreno_common.xml \ 157 + $(src)/registers/adreno/adreno_pm4.xml \ 158 + $(src)/registers/freedreno_copyright.xml \ 159 + $(src)/registers/gen_header.py \ 160 + $(src)/registers/rules-fd.xsd \ 161 + FORCE 162 + $(call if_changed,headergen) 163 + 164 + $(obj)/generated/%.xml.h: $(src)/registers/display/%.xml \ 165 + $(src)/registers/freedreno_copyright.xml \ 166 + $(src)/registers/gen_header.py \ 167 + $(src)/registers/rules-fd.xsd \ 168 + FORCE 169 + $(call if_changed,headergen) 170 + 171 + ADRENO_HEADERS = \ 172 + generated/a2xx.xml.h \ 173 + generated/a3xx.xml.h \ 174 + generated/a4xx.xml.h \ 175 + generated/a5xx.xml.h \ 176 + generated/a6xx.xml.h \ 177 + generated/a6xx_gmu.xml.h \ 178 + generated/adreno_common.xml.h \ 179 + generated/adreno_pm4.xml.h \ 180 + 181 + DISPLAY_HEADERS = \ 182 + generated/dsi_phy_7nm.xml.h \ 183 + generated/dsi_phy_10nm.xml.h \ 184 + generated/dsi_phy_14nm.xml.h \ 185 + generated/dsi_phy_20nm.xml.h \ 186 + generated/dsi_phy_28nm_8960.xml.h \ 187 + generated/dsi_phy_28nm.xml.h \ 188 + generated/dsi.xml.h \ 189 + generated/hdmi.xml.h \ 190 + generated/mdp4.xml.h \ 191 + generated/mdp5.xml.h \ 192 + generated/mdp_common.xml.h \ 193 + generated/sfpb.xml.h 194 + 195 + $(addprefix $(obj)/,$(adreno-y)): $(addprefix $(obj)/,$(ADRENO_HEADERS)) 196 + $(addprefix $(obj)/,$(msm-display-y)): $(addprefix $(obj)/,$(DISPLAY_HEADERS)) 197 + 198 + targets += $(ADRENO_HEADERS) $(DISPLAY_HEADERS)