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