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