xref: /linux/drivers/gpu/drm/msm/Makefile (revision 40288c9206c17eb66a603262e06a58d300d0f279)
1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0
2b1992c37SMasahiro Yamadaccflags-y := -I $(src)
30fddd045SDmitry Baryshkovccflags-y += -I $(obj)/generated
4b1992c37SMasahiro Yamadaccflags-y += -I $(src)/disp/dpu1
5b1992c37SMasahiro Yamadaccflags-$(CONFIG_DRM_MSM_DSI) += -I $(src)/dsi
6b1992c37SMasahiro Yamadaccflags-$(CONFIG_DRM_MSM_DP) += -I $(src)/dp
7c8afe684SRob Clark
80fddd045SDmitry Baryshkovadreno-y := \
9bfd28b13SRob Clark	adreno/adreno_device.o \
107198e6b0SRob Clark	adreno/adreno_gpu.o \
112e819c42SRob Clark	adreno/a2xx_catalog.o \
1221af872cSJonathan Marek	adreno/a2xx_gpu.o \
13d86b9c57SDmitry Baryshkov	adreno/a2xx_gpummu.o \
142e819c42SRob Clark	adreno/a3xx_catalog.o \
157198e6b0SRob Clark	adreno/a3xx_gpu.o \
162e819c42SRob Clark	adreno/a4xx_catalog.o \
1723bd62fdSAravind Ganesan	adreno/a4xx_gpu.o \
182e819c42SRob Clark	adreno/a5xx_catalog.o \
19b5f103abSJordan Crouse	adreno/a5xx_gpu.o \
202401a008SJordan Crouse	adreno/a5xx_power.o \
21b1fc2839SJordan Crouse	adreno/a5xx_preempt.o \
222e819c42SRob Clark	adreno/a6xx_catalog.o \
234b565ca5SJordan Crouse	adreno/a6xx_gpu.o \
244b565ca5SJordan Crouse	adreno/a6xx_gmu.o \
254b565ca5SJordan Crouse	adreno/a6xx_hfi.o \
26e7ae83daSAntonino Maniscalco	adreno/a6xx_preempt.o \
27288a9320SAkhil P Oommen	adreno/a8xx_gpu.o \
28a693602eSAkhil P Oommen	adreno/a8xx_preempt.o \
29dc43e923SDmitry Baryshkov
300fddd045SDmitry Baryshkovadreno-$(CONFIG_DEBUG_FS) += adreno/a5xx_debugfs.o \
310fddd045SDmitry Baryshkov
320fddd045SDmitry Baryshkovadreno-$(CONFIG_DRM_MSM_GPU_STATE)	+= adreno/a6xx_gpu_state.o
330fddd045SDmitry Baryshkov
340fddd045SDmitry Baryshkovmsm-display-$(CONFIG_DRM_MSM_HDMI) += \
35c8afe684SRob Clark	hdmi/hdmi.o \
36c0c0d9eeSRob Clark	hdmi/hdmi_audio.o \
37a3376e3eSRob Clark	hdmi/hdmi_bridge.o \
38caa24223SDmitry Baryshkov	hdmi/hdmi_hpd.o \
39c8afe684SRob Clark	hdmi/hdmi_i2c.o \
4015b4a452SArchit Taneja	hdmi/hdmi_phy.o \
41c8afe684SRob Clark	hdmi/hdmi_phy_8960.o \
42afece15aSArnd Bergmann	hdmi/hdmi_phy_8996.o \
43caedbf17SArnaud Vrac	hdmi/hdmi_phy_8998.o \
44c8afe684SRob Clark	hdmi/hdmi_phy_8x60.o \
45dada25bdSRob Clark	hdmi/hdmi_phy_8x74.o \
46afece15aSArnd Bergmann	hdmi/hdmi_pll_8960.o \
47dc43e923SDmitry Baryshkov
480fddd045SDmitry Baryshkovmsm-display-$(CONFIG_DRM_MSM_MDP4) += \
4914be3200SRob Clark	disp/mdp4/mdp4_crtc.o \
50dc43e923SDmitry Baryshkov	disp/mdp4/mdp4_dsi_encoder.o \
5114be3200SRob Clark	disp/mdp4/mdp4_dtv_encoder.o \
5214be3200SRob Clark	disp/mdp4/mdp4_lcdc_encoder.o \
53afece15aSArnd Bergmann	disp/mdp4/mdp4_lvds_pll.o \
5414be3200SRob Clark	disp/mdp4/mdp4_irq.o \
5514be3200SRob Clark	disp/mdp4/mdp4_kms.o \
5614be3200SRob Clark	disp/mdp4/mdp4_plane.o \
57dc43e923SDmitry Baryshkov
580fddd045SDmitry Baryshkovmsm-display-$(CONFIG_DRM_MSM_MDP5) += \
5914be3200SRob Clark	disp/mdp5/mdp5_cfg.o \
60dc43e923SDmitry Baryshkov	disp/mdp5/mdp5_cmd_encoder.o \
6114be3200SRob Clark	disp/mdp5/mdp5_ctl.o \
6214be3200SRob Clark	disp/mdp5/mdp5_crtc.o \
6314be3200SRob Clark	disp/mdp5/mdp5_encoder.o \
6414be3200SRob Clark	disp/mdp5/mdp5_irq.o \
6514be3200SRob Clark	disp/mdp5/mdp5_kms.o \
6614be3200SRob Clark	disp/mdp5/mdp5_pipe.o \
6714be3200SRob Clark	disp/mdp5/mdp5_mixer.o \
6814be3200SRob Clark	disp/mdp5/mdp5_plane.o \
6914be3200SRob Clark	disp/mdp5/mdp5_smp.o \
70dc43e923SDmitry Baryshkov
710fddd045SDmitry Baryshkovmsm-display-$(CONFIG_DRM_MSM_DPU) += \
7225fdd593SJeykumar Sankaran	disp/dpu1/dpu_core_perf.o \
7325fdd593SJeykumar Sankaran	disp/dpu1/dpu_crtc.o \
7425fdd593SJeykumar Sankaran	disp/dpu1/dpu_encoder.o \
7525fdd593SJeykumar Sankaran	disp/dpu1/dpu_encoder_phys_cmd.o \
7625fdd593SJeykumar Sankaran	disp/dpu1/dpu_encoder_phys_vid.o \
77d7d0e73fSAbhinav Kumar	disp/dpu1/dpu_encoder_phys_wb.o \
7825fdd593SJeykumar Sankaran	disp/dpu1/dpu_formats.o \
7925fdd593SJeykumar Sankaran	disp/dpu1/dpu_hw_catalog.o \
800afac0baSAbhinav Kumar	disp/dpu1/dpu_hw_cdm.o \
8125fdd593SJeykumar Sankaran	disp/dpu1/dpu_hw_ctl.o \
82aae87364SJessica Zhang	disp/dpu1/dpu_hw_cwb.o \
83c110cfd1SVinod Koul	disp/dpu1/dpu_hw_dsc.o \
848c4094b2SKuogee Hsieh	disp/dpu1/dpu_hw_dsc_1_2.o \
8525fdd593SJeykumar Sankaran	disp/dpu1/dpu_hw_interrupts.o \
8625fdd593SJeykumar Sankaran	disp/dpu1/dpu_hw_intf.o \
8725fdd593SJeykumar Sankaran	disp/dpu1/dpu_hw_lm.o \
8825fdd593SJeykumar Sankaran	disp/dpu1/dpu_hw_pingpong.o \
8925fdd593SJeykumar Sankaran	disp/dpu1/dpu_hw_sspp.o \
90688c7734SYuanjie Yang	disp/dpu1/dpu_hw_sspp_v13.o \
91e47616dfSKalyan Thota	disp/dpu1/dpu_hw_dspp.o \
924369c93cSDmitry Baryshkov	disp/dpu1/dpu_hw_merge3d.o \
9325fdd593SJeykumar Sankaran	disp/dpu1/dpu_hw_top.o \
9425fdd593SJeykumar Sankaran	disp/dpu1/dpu_hw_util.o \
9525fdd593SJeykumar Sankaran	disp/dpu1/dpu_hw_vbif.o \
9684a33d0fSAbhinav Kumar	disp/dpu1/dpu_hw_wb.o \
9725fdd593SJeykumar Sankaran	disp/dpu1/dpu_kms.o \
9825fdd593SJeykumar Sankaran	disp/dpu1/dpu_plane.o \
9925fdd593SJeykumar Sankaran	disp/dpu1/dpu_rm.o \
10025fdd593SJeykumar Sankaran	disp/dpu1/dpu_vbif.o \
10177b001acSAbhinav Kumar	disp/dpu1/dpu_writeback.o
102dc43e923SDmitry Baryshkov
1030fddd045SDmitry Baryshkovmsm-display-$(CONFIG_DRM_MSM_MDSS) += \
104dc43e923SDmitry Baryshkov	msm_mdss.o \
105dc43e923SDmitry Baryshkov
10698290b0aSDmitry Baryshkovmsm-display-$(CONFIG_DRM_MSM_KMS) += \
107dc43e923SDmitry Baryshkov	disp/mdp_format.o \
108dc43e923SDmitry Baryshkov	disp/mdp_kms.o \
10998659487SAbhinav Kumar	disp/msm_disp_snapshot.o \
11098659487SAbhinav Kumar	disp/msm_disp_snapshot_util.o \
1110fddd045SDmitry Baryshkov
1120fddd045SDmitry Baryshkovmsm-y += \
113edcd60ceSRob Clark	msm_debugfs.o \
114c8afe684SRob Clark	msm_drv.o \
115fde5de6cSRob Clark	msm_fence.o \
1167198e6b0SRob Clark	msm_gem.o \
11705b84911SRob Clark	msm_gem_prime.o \
11868209390SRob Clark	msm_gem_shrinker.o \
1197198e6b0SRob Clark	msm_gem_submit.o \
120667ce33eSRob Clark	msm_gem_vma.o \
1217198e6b0SRob Clark	msm_gpu.o \
122af5b4fffSRob Clark	msm_gpu_devfreq.o \
123d89e5028SDmitry Baryshkov	msm_io_utils.o \
124871d812aSRob Clark	msm_iommu.o \
125*02195633SRob Clark	msm_perfcntr.o \
126a7d3c950SRob Clark	msm_rd.o \
127f7de1545SJordan Crouse	msm_ringbuffer.o \
1284241db42SJordan Crouse	msm_submitqueue.o \
129e1341f91SRob Clark	msm_syncobj.o \
130c2052a4eSJonathan Marek	msm_gpu_tracepoints.o \
131c8afe684SRob Clark
13298290b0aSDmitry Baryshkovmsm-$(CONFIG_DRM_MSM_KMS) += \
13398290b0aSDmitry Baryshkov	msm_atomic.o \
13498290b0aSDmitry Baryshkov	msm_atomic_tracepoints.o \
13598290b0aSDmitry Baryshkov	msm_fb.o \
13698290b0aSDmitry Baryshkov	msm_kms.o \
1370fddd045SDmitry Baryshkov
13898290b0aSDmitry Baryshkovmsm-$(CONFIG_DRM_MSM_KMS_FBDEV) += msm_fbdev.o
139331dc0bcSRob Clark
1400fddd045SDmitry Baryshkovmsm-display-$(CONFIG_DRM_MSM_DP)+= dp/dp_aux.o \
141c943b494SChandan Uddaraju	dp/dp_ctrl.o \
14298290b0aSDmitry Baryshkov	dp/dp_debug.o \
143c943b494SChandan Uddaraju	dp/dp_display.o \
144c943b494SChandan Uddaraju	dp/dp_drm.o \
145c943b494SChandan Uddaraju	dp/dp_link.o \
146c943b494SChandan Uddaraju	dp/dp_panel.o \
14709b27a48SPaloma Arellano	dp/dp_audio.o \
14809b27a48SPaloma Arellano	dp/dp_utils.o
149c943b494SChandan Uddaraju
1500fddd045SDmitry Baryshkovmsm-display-$(CONFIG_DRM_MSM_HDMI_HDCP) += hdmi/hdmi_hdcp.o
151825637b9SHai Li
1520fddd045SDmitry Baryshkovmsm-display-$(CONFIG_DRM_MSM_DSI) += dsi/dsi.o \
153d248b61fSHai Li			dsi/dsi_cfg.o \
154a689554bSHai Li			dsi/dsi_host.o \
155a689554bSHai Li			dsi/dsi_manager.o \
156dc43e923SDmitry Baryshkov			dsi/phy/dsi_phy.o
157c8afe684SRob Clark
1580fddd045SDmitry Baryshkovmsm-display-$(CONFIG_DRM_MSM_DSI_28NM_PHY) += dsi/phy/dsi_phy_28nm.o
1590fddd045SDmitry Baryshkovmsm-display-$(CONFIG_DRM_MSM_DSI_20NM_PHY) += dsi/phy/dsi_phy_20nm.o
1600fddd045SDmitry Baryshkovmsm-display-$(CONFIG_DRM_MSM_DSI_28NM_8960_PHY) += dsi/phy/dsi_phy_28nm_8960.o
1610fddd045SDmitry Baryshkovmsm-display-$(CONFIG_DRM_MSM_DSI_14NM_PHY) += dsi/phy/dsi_phy_14nm.o
1620fddd045SDmitry Baryshkovmsm-display-$(CONFIG_DRM_MSM_DSI_10NM_PHY) += dsi/phy/dsi_phy_10nm.o
1630fddd045SDmitry Baryshkovmsm-display-$(CONFIG_DRM_MSM_DSI_7NM_PHY) += dsi/phy/dsi_phy_7nm.o
1640fddd045SDmitry Baryshkov
16598290b0aSDmitry Baryshkovmsm-y += $(adreno-y)
16698290b0aSDmitry Baryshkovmsm-$(CONFIG_DRM_MSM_KMS) += $(msm-display-y)
1671bf4d7c5SHai Li
168c8afe684SRob Clarkobj-$(CONFIG_DRM_MSM)	+= msm.o
1690fddd045SDmitry Baryshkov
170b587f413SDmitry Baryshkovifeq (y,$(CONFIG_DRM_MSM_VALIDATE_XML))
171b587f413SDmitry Baryshkov	headergen-opts += --validate
172b587f413SDmitry Baryshkovelse
173b587f413SDmitry Baryshkov	headergen-opts += --no-validate
174b587f413SDmitry Baryshkovendif
175b587f413SDmitry Baryshkov
1760fddd045SDmitry Baryshkovquiet_cmd_headergen = GENHDR  $@
177ff9a7930SLinus Torvalds      cmd_headergen = mkdir -p $(obj)/generated && $(PYTHON3) $(src)/registers/gen_header.py \
178ff9a7930SLinus Torvalds		      $(headergen-opts) --rnn $(src)/registers --xml $< c-defines > $@
1790fddd045SDmitry Baryshkov
1805442bafdSRob Clarkquiet_cmd_headergen_json = GENHDRJSN  $@
1815442bafdSRob Clark      cmd_headergen_json = mkdir -p $(obj)/generated && $(PYTHON3) $(src)/registers/gen_header.py \
1825442bafdSRob Clark		      $(headergen-opts) --rnn $(src)/registers --xml $(filter %.xml,$^) perfcntrs --json $< > $@
1835442bafdSRob Clark
1840fddd045SDmitry Baryshkov$(obj)/generated/%.xml.h: $(src)/registers/adreno/%.xml \
1850fddd045SDmitry Baryshkov		$(src)/registers/adreno/adreno_common.xml \
1860fddd045SDmitry Baryshkov		$(src)/registers/adreno/adreno_pm4.xml \
1870fddd045SDmitry Baryshkov		$(src)/registers/freedreno_copyright.xml \
1880fddd045SDmitry Baryshkov		$(src)/registers/gen_header.py \
1890fddd045SDmitry Baryshkov		$(src)/registers/rules-fd.xsd \
1900fddd045SDmitry Baryshkov		FORCE
1910fddd045SDmitry Baryshkov	$(call if_changed,headergen)
1920fddd045SDmitry Baryshkov
1930fddd045SDmitry Baryshkov$(obj)/generated/%.xml.h: $(src)/registers/display/%.xml \
1940fddd045SDmitry Baryshkov		$(src)/registers/freedreno_copyright.xml \
1950fddd045SDmitry Baryshkov		$(src)/registers/gen_header.py \
1960fddd045SDmitry Baryshkov		$(src)/registers/rules-fd.xsd \
1970fddd045SDmitry Baryshkov		FORCE
1980fddd045SDmitry Baryshkov	$(call if_changed,headergen)
1990fddd045SDmitry Baryshkov
2005442bafdSRob ClarkADRENO_PERFCNTRS =
2015442bafdSRob Clark
2025442bafdSRob Clarkdefine adreno_perfcntrs
2035442bafdSRob ClarkADRENO_PERFCNTRS += generated/$(1)_perfcntrs.json.c
2045442bafdSRob Clark$$(obj)/generated/$(1)_perfcntrs.json.c: $$(src)/registers/adreno/$(1)_perfcntrs.json \
2055442bafdSRob Clark		$$(src)/registers/adreno/$(2).xml \
2065442bafdSRob Clark		FORCE
2075442bafdSRob Clark	$$(call if_changed,headergen_json)
2085442bafdSRob Clarkendef
2095442bafdSRob Clark
2105442bafdSRob Clark$(eval $(call adreno_perfcntrs,a2xx,a2xx))
2115442bafdSRob Clark$(eval $(call adreno_perfcntrs,a5xx,a5xx))
2125442bafdSRob Clark$(eval $(call adreno_perfcntrs,a6xx,a6xx))
2135442bafdSRob Clark$(eval $(call adreno_perfcntrs,a7xx,a6xx))
2145442bafdSRob Clark$(eval $(call adreno_perfcntrs,a8xx,a6xx))
2155442bafdSRob Clark
2165442bafdSRob Clarkadreno-y += $(ADRENO_PERFCNTRS:.c=.o)
2175442bafdSRob Clark
2180fddd045SDmitry BaryshkovADRENO_HEADERS = \
2190fddd045SDmitry Baryshkov	generated/a2xx.xml.h \
2200fddd045SDmitry Baryshkov	generated/a3xx.xml.h \
2210fddd045SDmitry Baryshkov	generated/a4xx.xml.h \
2220fddd045SDmitry Baryshkov	generated/a5xx.xml.h \
2230fddd045SDmitry Baryshkov	generated/a6xx.xml.h \
2246733d827SRob Clark	generated/a6xx_descriptors.xml.h \
2256733d827SRob Clark	generated/a6xx_enums.xml.h \
2266733d827SRob Clark	generated/a6xx_perfcntrs.xml.h \
2276733d827SRob Clark	generated/a7xx_enums.xml.h \
2286733d827SRob Clark	generated/a7xx_perfcntrs.xml.h \
2291ef05ef9SAkhil P Oommen	generated/a8xx_enums.xml.h \
2300fddd045SDmitry Baryshkov	generated/a6xx_gmu.xml.h \
2310fddd045SDmitry Baryshkov	generated/adreno_common.xml.h \
2320fddd045SDmitry Baryshkov	generated/adreno_pm4.xml.h \
2330fddd045SDmitry Baryshkov
2340fddd045SDmitry BaryshkovDISPLAY_HEADERS = \
2350fddd045SDmitry Baryshkov	generated/dsi_phy_7nm.xml.h \
2360fddd045SDmitry Baryshkov	generated/dsi_phy_10nm.xml.h \
2370fddd045SDmitry Baryshkov	generated/dsi_phy_14nm.xml.h \
2380fddd045SDmitry Baryshkov	generated/dsi_phy_20nm.xml.h \
2390fddd045SDmitry Baryshkov	generated/dsi_phy_28nm_8960.xml.h \
2400fddd045SDmitry Baryshkov	generated/dsi_phy_28nm.xml.h \
2410fddd045SDmitry Baryshkov	generated/dsi.xml.h \
2420fddd045SDmitry Baryshkov	generated/hdmi.xml.h \
2430fddd045SDmitry Baryshkov	generated/mdp4.xml.h \
2440fddd045SDmitry Baryshkov	generated/mdp5.xml.h \
2450fddd045SDmitry Baryshkov	generated/mdp_common.xml.h \
24692de8137SDmitry Baryshkov	generated/mdss.xml.h \
2470fddd045SDmitry Baryshkov	generated/sfpb.xml.h
2480fddd045SDmitry Baryshkov
2495442bafdSRob Clark$(addprefix $(obj)/,$(msm-y)): $(addprefix $(obj)/,$(ADRENO_HEADERS))
2500fddd045SDmitry Baryshkov$(addprefix $(obj)/,$(msm-display-y)): $(addprefix $(obj)/,$(DISPLAY_HEADERS))
2510fddd045SDmitry Baryshkov
2525442bafdSRob Clarktargets += $(ADRENO_HEADERS) $(DISPLAY_HEADERS) $(ADRENO_PERFCNTRS)
253