projects/linux·blob master · refs

252 lines · 6.6 KiB

1# SPDX-License-Identifier: GPL-2.0
2ccflags-y := -I $(src)
3ccflags-y += -I $(obj)/generated
4ccflags-y += -I $(src)/disp/dpu1
5ccflags-$(CONFIG_DRM_MSM_DSI) += -I $(src)/dsi
6ccflags-$(CONFIG_DRM_MSM_DP) += -I $(src)/dp
7
8adreno-y := \
9 adreno/adreno_device.o \
10 adreno/adreno_gpu.o \
11 adreno/a2xx_catalog.o \
12 adreno/a2xx_gpu.o \
13 adreno/a2xx_gpummu.o \
14 adreno/a3xx_catalog.o \
15 adreno/a3xx_gpu.o \
16 adreno/a4xx_catalog.o \
17 adreno/a4xx_gpu.o \
18 adreno/a5xx_catalog.o \
19 adreno/a5xx_gpu.o \
20 adreno/a5xx_power.o \
21 adreno/a5xx_preempt.o \
22 adreno/a6xx_catalog.o \
23 adreno/a6xx_gpu.o \
24 adreno/a6xx_gmu.o \
25 adreno/a6xx_hfi.o \
26 adreno/a6xx_preempt.o \
27 adreno/a8xx_gpu.o \
28 adreno/a8xx_preempt.o \
29
30adreno-$(CONFIG_DEBUG_FS) += adreno/a5xx_debugfs.o \
31
32adreno-$(CONFIG_DRM_MSM_GPU_STATE) += adreno/a6xx_gpu_state.o
33
34msm-display-$(CONFIG_DRM_MSM_HDMI) += \
35 hdmi/hdmi.o \
36 hdmi/hdmi_audio.o \
37 hdmi/hdmi_bridge.o \
38 hdmi/hdmi_hpd.o \
39 hdmi/hdmi_i2c.o \
40 hdmi/hdmi_phy.o \
41 hdmi/hdmi_phy_8960.o \
42 hdmi/hdmi_phy_8996.o \
43 hdmi/hdmi_phy_8998.o \
44 hdmi/hdmi_phy_8x60.o \
45 hdmi/hdmi_phy_8x74.o \
46 hdmi/hdmi_pll_8960.o \
47
48msm-display-$(CONFIG_DRM_MSM_MDP4) += \
49 disp/mdp4/mdp4_crtc.o \
50 disp/mdp4/mdp4_dsi_encoder.o \
51 disp/mdp4/mdp4_dtv_encoder.o \
52 disp/mdp4/mdp4_lcdc_encoder.o \
53 disp/mdp4/mdp4_lvds_pll.o \
54 disp/mdp4/mdp4_irq.o \
55 disp/mdp4/mdp4_kms.o \
56 disp/mdp4/mdp4_plane.o \
57
58msm-display-$(CONFIG_DRM_MSM_MDP5) += \
59 disp/mdp5/mdp5_cfg.o \
60 disp/mdp5/mdp5_cmd_encoder.o \
61 disp/mdp5/mdp5_ctl.o \
62 disp/mdp5/mdp5_crtc.o \
63 disp/mdp5/mdp5_encoder.o \
64 disp/mdp5/mdp5_irq.o \
65 disp/mdp5/mdp5_kms.o \
66 disp/mdp5/mdp5_pipe.o \
67 disp/mdp5/mdp5_mixer.o \
68 disp/mdp5/mdp5_plane.o \
69 disp/mdp5/mdp5_smp.o \
70
71msm-display-$(CONFIG_DRM_MSM_DPU) += \
72 disp/dpu1/dpu_core_perf.o \
73 disp/dpu1/dpu_crtc.o \
74 disp/dpu1/dpu_encoder.o \
75 disp/dpu1/dpu_encoder_phys_cmd.o \
76 disp/dpu1/dpu_encoder_phys_vid.o \
77 disp/dpu1/dpu_encoder_phys_wb.o \
78 disp/dpu1/dpu_formats.o \
79 disp/dpu1/dpu_hw_catalog.o \
80 disp/dpu1/dpu_hw_cdm.o \
81 disp/dpu1/dpu_hw_ctl.o \
82 disp/dpu1/dpu_hw_cwb.o \
83 disp/dpu1/dpu_hw_dsc.o \
84 disp/dpu1/dpu_hw_dsc_1_2.o \
85 disp/dpu1/dpu_hw_interrupts.o \
86 disp/dpu1/dpu_hw_intf.o \
87 disp/dpu1/dpu_hw_lm.o \
88 disp/dpu1/dpu_hw_pingpong.o \
89 disp/dpu1/dpu_hw_sspp.o \
90 disp/dpu1/dpu_hw_sspp_v13.o \
91 disp/dpu1/dpu_hw_dspp.o \
92 disp/dpu1/dpu_hw_merge3d.o \
93 disp/dpu1/dpu_hw_top.o \
94 disp/dpu1/dpu_hw_util.o \
95 disp/dpu1/dpu_hw_vbif.o \
96 disp/dpu1/dpu_hw_wb.o \
97 disp/dpu1/dpu_kms.o \
98 disp/dpu1/dpu_plane.o \
99 disp/dpu1/dpu_rm.o \
100 disp/dpu1/dpu_vbif.o \
101 disp/dpu1/dpu_writeback.o
102
103msm-display-$(CONFIG_DRM_MSM_MDSS) += \
104 msm_mdss.o \
105
106msm-display-$(CONFIG_DRM_MSM_KMS) += \
107 disp/mdp_format.o \
108 disp/mdp_kms.o \
109 disp/msm_disp_snapshot.o \
110 disp/msm_disp_snapshot_util.o \
111
112msm-y += \
113 msm_debugfs.o \
114 msm_drv.o \
115 msm_fence.o \
116 msm_gem.o \
117 msm_gem_prime.o \
118 msm_gem_shrinker.o \
119 msm_gem_submit.o \
120 msm_gem_vma.o \
121 msm_gpu.o \
122 msm_gpu_devfreq.o \
123 msm_io_utils.o \
124 msm_iommu.o \
125 msm_perfcntr.o \
126 msm_rd.o \
127 msm_ringbuffer.o \
128 msm_submitqueue.o \
129 msm_syncobj.o \
130 msm_gpu_tracepoints.o \
131
132msm-$(CONFIG_DRM_MSM_KMS) += \
133 msm_atomic.o \
134 msm_atomic_tracepoints.o \
135 msm_fb.o \
136 msm_kms.o \
137
138msm-$(CONFIG_DRM_MSM_KMS_FBDEV) += msm_fbdev.o
139
140msm-display-$(CONFIG_DRM_MSM_DP)+= dp/dp_aux.o \
141 dp/dp_ctrl.o \
142 dp/dp_debug.o \
143 dp/dp_display.o \
144 dp/dp_drm.o \
145 dp/dp_link.o \
146 dp/dp_panel.o \
147 dp/dp_audio.o \
148 dp/dp_utils.o
149
150msm-display-$(CONFIG_DRM_MSM_HDMI_HDCP) += hdmi/hdmi_hdcp.o
151
152msm-display-$(CONFIG_DRM_MSM_DSI) += dsi/dsi.o \
153 dsi/dsi_cfg.o \
154 dsi/dsi_host.o \
155 dsi/dsi_manager.o \
156 dsi/phy/dsi_phy.o
157
158msm-display-$(CONFIG_DRM_MSM_DSI_28NM_PHY) += dsi/phy/dsi_phy_28nm.o
159msm-display-$(CONFIG_DRM_MSM_DSI_20NM_PHY) += dsi/phy/dsi_phy_20nm.o
160msm-display-$(CONFIG_DRM_MSM_DSI_28NM_8960_PHY) += dsi/phy/dsi_phy_28nm_8960.o
161msm-display-$(CONFIG_DRM_MSM_DSI_14NM_PHY) += dsi/phy/dsi_phy_14nm.o
162msm-display-$(CONFIG_DRM_MSM_DSI_10NM_PHY) += dsi/phy/dsi_phy_10nm.o
163msm-display-$(CONFIG_DRM_MSM_DSI_7NM_PHY) += dsi/phy/dsi_phy_7nm.o
164
165msm-y += $(adreno-y)
166msm-$(CONFIG_DRM_MSM_KMS) += $(msm-display-y)
167
168obj-$(CONFIG_DRM_MSM) += msm.o
169
170ifeq (y,$(CONFIG_DRM_MSM_VALIDATE_XML))
171 headergen-opts += --validate
172else
173 headergen-opts += --no-validate
174endif
175
176quiet_cmd_headergen = GENHDR $@
177 cmd_headergen = mkdir -p $(obj)/generated && $(PYTHON3) $(src)/registers/gen_header.py \
178 $(headergen-opts) --rnn $(src)/registers --xml $< c-defines > $@
179
180quiet_cmd_headergen_json = GENHDRJSN $@
181 cmd_headergen_json = mkdir -p $(obj)/generated && $(PYTHON3) $(src)/registers/gen_header.py \
182 $(headergen-opts) --rnn $(src)/registers --xml $(filter %.xml,$^) perfcntrs --json $< > $@
183
184$(obj)/generated/%.xml.h: $(src)/registers/adreno/%.xml \
185 $(src)/registers/adreno/adreno_common.xml \
186 $(src)/registers/adreno/adreno_pm4.xml \
187 $(src)/registers/freedreno_copyright.xml \
188 $(src)/registers/gen_header.py \
189 $(src)/registers/rules-fd.xsd \
190 FORCE
191 $(call if_changed,headergen)
192
193$(obj)/generated/%.xml.h: $(src)/registers/display/%.xml \
194 $(src)/registers/freedreno_copyright.xml \
195 $(src)/registers/gen_header.py \
196 $(src)/registers/rules-fd.xsd \
197 FORCE
198 $(call if_changed,headergen)
199
200ADRENO_PERFCNTRS =
201
202define adreno_perfcntrs
203ADRENO_PERFCNTRS += generated/$(1)_perfcntrs.json.c
204$$(obj)/generated/$(1)_perfcntrs.json.c: $$(src)/registers/adreno/$(1)_perfcntrs.json \
205 $$(src)/registers/adreno/$(2).xml \
206 FORCE
207 $$(call if_changed,headergen_json)
208endef
209
210$(eval $(call adreno_perfcntrs,a2xx,a2xx))
211$(eval $(call adreno_perfcntrs,a5xx,a5xx))
212$(eval $(call adreno_perfcntrs,a6xx,a6xx))
213$(eval $(call adreno_perfcntrs,a7xx,a6xx))
214$(eval $(call adreno_perfcntrs,a8xx,a6xx))
215
216adreno-y += $(ADRENO_PERFCNTRS:.c=.o)
217
218ADRENO_HEADERS = \
219 generated/a2xx.xml.h \
220 generated/a3xx.xml.h \
221 generated/a4xx.xml.h \
222 generated/a5xx.xml.h \
223 generated/a6xx.xml.h \
224 generated/a6xx_descriptors.xml.h \
225 generated/a6xx_enums.xml.h \
226 generated/a6xx_perfcntrs.xml.h \
227 generated/a7xx_enums.xml.h \
228 generated/a7xx_perfcntrs.xml.h \
229 generated/a8xx_enums.xml.h \
230 generated/a6xx_gmu.xml.h \
231 generated/adreno_common.xml.h \
232 generated/adreno_pm4.xml.h \
233
234DISPLAY_HEADERS = \
235 generated/dsi_phy_7nm.xml.h \
236 generated/dsi_phy_10nm.xml.h \
237 generated/dsi_phy_14nm.xml.h \
238 generated/dsi_phy_20nm.xml.h \
239 generated/dsi_phy_28nm_8960.xml.h \
240 generated/dsi_phy_28nm.xml.h \
241 generated/dsi.xml.h \
242 generated/hdmi.xml.h \
243 generated/mdp4.xml.h \
244 generated/mdp5.xml.h \
245 generated/mdp_common.xml.h \
246 generated/mdss.xml.h \
247 generated/sfpb.xml.h
248
249$(addprefix $(obj)/,$(msm-y)): $(addprefix $(obj)/,$(ADRENO_HEADERS))
250$(addprefix $(obj)/,$(msm-display-y)): $(addprefix $(obj)/,$(DISPLAY_HEADERS))
251
252targets += $(ADRENO_HEADERS) $(DISPLAY_HEADERS) $(ADRENO_PERFCNTRS)