162306a36Sopenharmony_ci# 262306a36Sopenharmony_ci# Copyright 2017 Advanced Micro Devices, Inc. 362306a36Sopenharmony_ci# 462306a36Sopenharmony_ci# Permission is hereby granted, free of charge, to any person obtaining a 562306a36Sopenharmony_ci# copy of this software and associated documentation files (the "Software"), 662306a36Sopenharmony_ci# to deal in the Software without restriction, including without limitation 762306a36Sopenharmony_ci# the rights to use, copy, modify, merge, publish, distribute, sublicense, 862306a36Sopenharmony_ci# and/or sell copies of the Software, and to permit persons to whom the 962306a36Sopenharmony_ci# Software is furnished to do so, subject to the following conditions: 1062306a36Sopenharmony_ci# 1162306a36Sopenharmony_ci# The above copyright notice and this permission notice shall be included in 1262306a36Sopenharmony_ci# all copies or substantial portions of the Software. 1362306a36Sopenharmony_ci# 1462306a36Sopenharmony_ci# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 1562306a36Sopenharmony_ci# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 1662306a36Sopenharmony_ci# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 1762306a36Sopenharmony_ci# THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR 1862306a36Sopenharmony_ci# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 1962306a36Sopenharmony_ci# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 2062306a36Sopenharmony_ci# OTHER DEALINGS IN THE SOFTWARE. 2162306a36Sopenharmony_ci# 2262306a36Sopenharmony_ci# 2362306a36Sopenharmony_ci# Makefile for the drm device driver. This driver provides support for the 2462306a36Sopenharmony_ci# Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ciFULL_AMD_PATH=$(srctree)/$(src)/.. 2762306a36Sopenharmony_ciDISPLAY_FOLDER_NAME=display 2862306a36Sopenharmony_ciFULL_AMD_DISPLAY_PATH = $(FULL_AMD_PATH)/$(DISPLAY_FOLDER_NAME) 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ciccflags-y := -I$(FULL_AMD_PATH)/include/asic_reg \ 3162306a36Sopenharmony_ci -I$(FULL_AMD_PATH)/include \ 3262306a36Sopenharmony_ci -I$(FULL_AMD_PATH)/amdgpu \ 3362306a36Sopenharmony_ci -I$(FULL_AMD_PATH)/pm/inc \ 3462306a36Sopenharmony_ci -I$(FULL_AMD_PATH)/acp/include \ 3562306a36Sopenharmony_ci -I$(FULL_AMD_DISPLAY_PATH) \ 3662306a36Sopenharmony_ci -I$(FULL_AMD_DISPLAY_PATH)/include \ 3762306a36Sopenharmony_ci -I$(FULL_AMD_DISPLAY_PATH)/modules/inc \ 3862306a36Sopenharmony_ci -I$(FULL_AMD_DISPLAY_PATH)/dc \ 3962306a36Sopenharmony_ci -I$(FULL_AMD_DISPLAY_PATH)/amdgpu_dm \ 4062306a36Sopenharmony_ci -I$(FULL_AMD_PATH)/amdkfd 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_cisubdir-ccflags-y := -Wextra 4362306a36Sopenharmony_cisubdir-ccflags-y += -Wunused 4462306a36Sopenharmony_cisubdir-ccflags-y += -Wmissing-prototypes 4562306a36Sopenharmony_cisubdir-ccflags-y += -Wmissing-declarations 4662306a36Sopenharmony_cisubdir-ccflags-y += -Wmissing-include-dirs 4762306a36Sopenharmony_cisubdir-ccflags-y += -Wold-style-definition 4862306a36Sopenharmony_cisubdir-ccflags-y += -Wmissing-format-attribute 4962306a36Sopenharmony_ci# Need this to avoid recursive variable evaluation issues 5062306a36Sopenharmony_cicond-flags := $(call cc-option, -Wunused-but-set-variable) \ 5162306a36Sopenharmony_ci $(call cc-option, -Wunused-const-variable) \ 5262306a36Sopenharmony_ci $(call cc-option, -Wstringop-truncation) \ 5362306a36Sopenharmony_ci $(call cc-option, -Wpacked-not-aligned) 5462306a36Sopenharmony_cisubdir-ccflags-y += $(cond-flags) 5562306a36Sopenharmony_cisubdir-ccflags-y += -Wno-unused-parameter 5662306a36Sopenharmony_cisubdir-ccflags-y += -Wno-type-limits 5762306a36Sopenharmony_cisubdir-ccflags-y += -Wno-sign-compare 5862306a36Sopenharmony_cisubdir-ccflags-y += -Wno-missing-field-initializers 5962306a36Sopenharmony_cisubdir-ccflags-y += -Wno-override-init 6062306a36Sopenharmony_cisubdir-ccflags-$(CONFIG_DRM_AMDGPU_WERROR) += -Werror 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ciamdgpu-y := amdgpu_drv.o 6362306a36Sopenharmony_ci 6462306a36Sopenharmony_ci# add KMS driver 6562306a36Sopenharmony_ciamdgpu-y += amdgpu_device.o amdgpu_doorbell_mgr.o amdgpu_kms.o \ 6662306a36Sopenharmony_ci amdgpu_atombios.o atombios_crtc.o amdgpu_connectors.o \ 6762306a36Sopenharmony_ci atom.o amdgpu_fence.o amdgpu_ttm.o amdgpu_object.o amdgpu_gart.o \ 6862306a36Sopenharmony_ci amdgpu_encoders.o amdgpu_display.o amdgpu_i2c.o \ 6962306a36Sopenharmony_ci amdgpu_gem.o amdgpu_ring.o \ 7062306a36Sopenharmony_ci amdgpu_cs.o amdgpu_bios.o amdgpu_benchmark.o \ 7162306a36Sopenharmony_ci atombios_dp.o amdgpu_afmt.o amdgpu_trace_points.o \ 7262306a36Sopenharmony_ci atombios_encoders.o amdgpu_sa.o atombios_i2c.o \ 7362306a36Sopenharmony_ci amdgpu_dma_buf.o amdgpu_vm.o amdgpu_vm_pt.o amdgpu_ib.o amdgpu_pll.o \ 7462306a36Sopenharmony_ci amdgpu_ucode.o amdgpu_bo_list.o amdgpu_ctx.o amdgpu_sync.o \ 7562306a36Sopenharmony_ci amdgpu_gtt_mgr.o amdgpu_preempt_mgr.o amdgpu_vram_mgr.o amdgpu_virt.o \ 7662306a36Sopenharmony_ci amdgpu_atomfirmware.o amdgpu_vf_error.o amdgpu_sched.o \ 7762306a36Sopenharmony_ci amdgpu_debugfs.o amdgpu_ids.o amdgpu_gmc.o amdgpu_mmhub.o amdgpu_hdp.o \ 7862306a36Sopenharmony_ci amdgpu_xgmi.o amdgpu_csa.o amdgpu_ras.o amdgpu_vm_cpu.o \ 7962306a36Sopenharmony_ci amdgpu_vm_sdma.o amdgpu_discovery.o amdgpu_ras_eeprom.o amdgpu_nbio.o \ 8062306a36Sopenharmony_ci amdgpu_umc.o smu_v11_0_i2c.o amdgpu_fru_eeprom.o amdgpu_rap.o \ 8162306a36Sopenharmony_ci amdgpu_fw_attestation.o amdgpu_securedisplay.o \ 8262306a36Sopenharmony_ci amdgpu_eeprom.o amdgpu_mca.o amdgpu_psp_ta.o amdgpu_lsdma.o \ 8362306a36Sopenharmony_ci amdgpu_ring_mux.o amdgpu_xcp.o 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ciamdgpu-$(CONFIG_PROC_FS) += amdgpu_fdinfo.o 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_ciamdgpu-$(CONFIG_PERF_EVENTS) += amdgpu_pmu.o 8862306a36Sopenharmony_ci 8962306a36Sopenharmony_ci# add asic specific block 9062306a36Sopenharmony_ciamdgpu-$(CONFIG_DRM_AMDGPU_CIK)+= cik.o cik_ih.o \ 9162306a36Sopenharmony_ci dce_v8_0.o gfx_v7_0.o cik_sdma.o uvd_v4_2.o vce_v2_0.o 9262306a36Sopenharmony_ci 9362306a36Sopenharmony_ciamdgpu-$(CONFIG_DRM_AMDGPU_SI)+= si.o gmc_v6_0.o gfx_v6_0.o si_ih.o si_dma.o dce_v6_0.o \ 9462306a36Sopenharmony_ci uvd_v3_1.o 9562306a36Sopenharmony_ci 9662306a36Sopenharmony_ciamdgpu-y += \ 9762306a36Sopenharmony_ci vi.o mxgpu_vi.o nbio_v6_1.o soc15.o emu_soc.o mxgpu_ai.o nbio_v7_0.o vega10_reg_init.o \ 9862306a36Sopenharmony_ci vega20_reg_init.o nbio_v7_4.o nbio_v2_3.o nv.o arct_reg_init.o mxgpu_nv.o \ 9962306a36Sopenharmony_ci nbio_v7_2.o hdp_v4_0.o hdp_v5_0.o aldebaran_reg_init.o aldebaran.o soc21.o \ 10062306a36Sopenharmony_ci sienna_cichlid.o smu_v13_0_10.o nbio_v4_3.o hdp_v6_0.o nbio_v7_7.o hdp_v5_2.o lsdma_v6_0.o \ 10162306a36Sopenharmony_ci nbio_v7_9.o aqua_vanjaram.o 10262306a36Sopenharmony_ci 10362306a36Sopenharmony_ci# add DF block 10462306a36Sopenharmony_ciamdgpu-y += \ 10562306a36Sopenharmony_ci df_v1_7.o \ 10662306a36Sopenharmony_ci df_v3_6.o \ 10762306a36Sopenharmony_ci df_v4_3.o 10862306a36Sopenharmony_ci 10962306a36Sopenharmony_ci# add GMC block 11062306a36Sopenharmony_ciamdgpu-y += \ 11162306a36Sopenharmony_ci gmc_v7_0.o \ 11262306a36Sopenharmony_ci gmc_v8_0.o \ 11362306a36Sopenharmony_ci gfxhub_v1_0.o mmhub_v1_0.o gmc_v9_0.o gfxhub_v1_1.o mmhub_v9_4.o \ 11462306a36Sopenharmony_ci gfxhub_v2_0.o mmhub_v2_0.o gmc_v10_0.o gfxhub_v2_1.o mmhub_v2_3.o \ 11562306a36Sopenharmony_ci mmhub_v1_7.o gfxhub_v3_0.o mmhub_v3_0.o mmhub_v3_0_2.o gmc_v11_0.o \ 11662306a36Sopenharmony_ci mmhub_v3_0_1.o gfxhub_v3_0_3.o gfxhub_v1_2.o mmhub_v1_8.o 11762306a36Sopenharmony_ci 11862306a36Sopenharmony_ci# add UMC block 11962306a36Sopenharmony_ciamdgpu-y += \ 12062306a36Sopenharmony_ci umc_v6_0.o umc_v6_1.o umc_v6_7.o umc_v8_7.o umc_v8_10.o 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_ci# add IH block 12362306a36Sopenharmony_ciamdgpu-y += \ 12462306a36Sopenharmony_ci amdgpu_irq.o \ 12562306a36Sopenharmony_ci amdgpu_ih.o \ 12662306a36Sopenharmony_ci iceland_ih.o \ 12762306a36Sopenharmony_ci tonga_ih.o \ 12862306a36Sopenharmony_ci cz_ih.o \ 12962306a36Sopenharmony_ci vega10_ih.o \ 13062306a36Sopenharmony_ci vega20_ih.o \ 13162306a36Sopenharmony_ci navi10_ih.o \ 13262306a36Sopenharmony_ci ih_v6_0.o \ 13362306a36Sopenharmony_ci ih_v6_1.o 13462306a36Sopenharmony_ci 13562306a36Sopenharmony_ci# add PSP block 13662306a36Sopenharmony_ciamdgpu-y += \ 13762306a36Sopenharmony_ci amdgpu_psp.o \ 13862306a36Sopenharmony_ci psp_v3_1.o \ 13962306a36Sopenharmony_ci psp_v10_0.o \ 14062306a36Sopenharmony_ci psp_v11_0.o \ 14162306a36Sopenharmony_ci psp_v11_0_8.o \ 14262306a36Sopenharmony_ci psp_v12_0.o \ 14362306a36Sopenharmony_ci psp_v13_0.o \ 14462306a36Sopenharmony_ci psp_v13_0_4.o 14562306a36Sopenharmony_ci 14662306a36Sopenharmony_ci# add DCE block 14762306a36Sopenharmony_ciamdgpu-y += \ 14862306a36Sopenharmony_ci dce_v10_0.o \ 14962306a36Sopenharmony_ci dce_v11_0.o \ 15062306a36Sopenharmony_ci amdgpu_vkms.o 15162306a36Sopenharmony_ci 15262306a36Sopenharmony_ci# add GFX block 15362306a36Sopenharmony_ciamdgpu-y += \ 15462306a36Sopenharmony_ci amdgpu_gfx.o \ 15562306a36Sopenharmony_ci amdgpu_rlc.o \ 15662306a36Sopenharmony_ci gfx_v8_0.o \ 15762306a36Sopenharmony_ci gfx_v9_0.o \ 15862306a36Sopenharmony_ci gfx_v9_4.o \ 15962306a36Sopenharmony_ci gfx_v9_4_2.o \ 16062306a36Sopenharmony_ci gfx_v9_4_3.o \ 16162306a36Sopenharmony_ci gfx_v10_0.o \ 16262306a36Sopenharmony_ci imu_v11_0.o \ 16362306a36Sopenharmony_ci gfx_v11_0.o \ 16462306a36Sopenharmony_ci gfx_v11_0_3.o \ 16562306a36Sopenharmony_ci imu_v11_0_3.o 16662306a36Sopenharmony_ci 16762306a36Sopenharmony_ci# add async DMA block 16862306a36Sopenharmony_ciamdgpu-y += \ 16962306a36Sopenharmony_ci amdgpu_sdma.o \ 17062306a36Sopenharmony_ci sdma_v2_4.o \ 17162306a36Sopenharmony_ci sdma_v3_0.o \ 17262306a36Sopenharmony_ci sdma_v4_0.o \ 17362306a36Sopenharmony_ci sdma_v4_4.o \ 17462306a36Sopenharmony_ci sdma_v4_4_2.o \ 17562306a36Sopenharmony_ci sdma_v5_0.o \ 17662306a36Sopenharmony_ci sdma_v5_2.o \ 17762306a36Sopenharmony_ci sdma_v6_0.o 17862306a36Sopenharmony_ci 17962306a36Sopenharmony_ci# add MES block 18062306a36Sopenharmony_ciamdgpu-y += \ 18162306a36Sopenharmony_ci amdgpu_mes.o \ 18262306a36Sopenharmony_ci mes_v10_1.o \ 18362306a36Sopenharmony_ci mes_v11_0.o 18462306a36Sopenharmony_ci 18562306a36Sopenharmony_ci# add UVD block 18662306a36Sopenharmony_ciamdgpu-y += \ 18762306a36Sopenharmony_ci amdgpu_uvd.o \ 18862306a36Sopenharmony_ci uvd_v5_0.o \ 18962306a36Sopenharmony_ci uvd_v6_0.o \ 19062306a36Sopenharmony_ci uvd_v7_0.o 19162306a36Sopenharmony_ci 19262306a36Sopenharmony_ci# add VCE block 19362306a36Sopenharmony_ciamdgpu-y += \ 19462306a36Sopenharmony_ci amdgpu_vce.o \ 19562306a36Sopenharmony_ci vce_v3_0.o \ 19662306a36Sopenharmony_ci vce_v4_0.o 19762306a36Sopenharmony_ci 19862306a36Sopenharmony_ci# add VCN and JPEG block 19962306a36Sopenharmony_ciamdgpu-y += \ 20062306a36Sopenharmony_ci amdgpu_vcn.o \ 20162306a36Sopenharmony_ci vcn_sw_ring.o \ 20262306a36Sopenharmony_ci vcn_v1_0.o \ 20362306a36Sopenharmony_ci vcn_v2_0.o \ 20462306a36Sopenharmony_ci vcn_v2_5.o \ 20562306a36Sopenharmony_ci vcn_v3_0.o \ 20662306a36Sopenharmony_ci vcn_v4_0.o \ 20762306a36Sopenharmony_ci vcn_v4_0_3.o \ 20862306a36Sopenharmony_ci amdgpu_jpeg.o \ 20962306a36Sopenharmony_ci jpeg_v1_0.o \ 21062306a36Sopenharmony_ci jpeg_v2_0.o \ 21162306a36Sopenharmony_ci jpeg_v2_5.o \ 21262306a36Sopenharmony_ci jpeg_v3_0.o \ 21362306a36Sopenharmony_ci jpeg_v4_0.o \ 21462306a36Sopenharmony_ci jpeg_v4_0_3.o 21562306a36Sopenharmony_ci 21662306a36Sopenharmony_ci# add ATHUB block 21762306a36Sopenharmony_ciamdgpu-y += \ 21862306a36Sopenharmony_ci athub_v1_0.o \ 21962306a36Sopenharmony_ci athub_v2_0.o \ 22062306a36Sopenharmony_ci athub_v2_1.o \ 22162306a36Sopenharmony_ci athub_v3_0.o 22262306a36Sopenharmony_ci 22362306a36Sopenharmony_ci# add SMUIO block 22462306a36Sopenharmony_ciamdgpu-y += \ 22562306a36Sopenharmony_ci smuio_v9_0.o \ 22662306a36Sopenharmony_ci smuio_v11_0.o \ 22762306a36Sopenharmony_ci smuio_v11_0_6.o \ 22862306a36Sopenharmony_ci smuio_v13_0.o \ 22962306a36Sopenharmony_ci smuio_v13_0_3.o \ 23062306a36Sopenharmony_ci smuio_v13_0_6.o 23162306a36Sopenharmony_ci 23262306a36Sopenharmony_ci# add reset block 23362306a36Sopenharmony_ciamdgpu-y += \ 23462306a36Sopenharmony_ci amdgpu_reset.o 23562306a36Sopenharmony_ci 23662306a36Sopenharmony_ci# add MCA block 23762306a36Sopenharmony_ciamdgpu-y += \ 23862306a36Sopenharmony_ci mca_v3_0.o 23962306a36Sopenharmony_ci 24062306a36Sopenharmony_ci# add amdkfd interfaces 24162306a36Sopenharmony_ciamdgpu-y += amdgpu_amdkfd.o 24262306a36Sopenharmony_ci 24362306a36Sopenharmony_ci 24462306a36Sopenharmony_ciifneq ($(CONFIG_HSA_AMD),) 24562306a36Sopenharmony_ciAMDKFD_PATH := ../amdkfd 24662306a36Sopenharmony_ciinclude $(FULL_AMD_PATH)/amdkfd/Makefile 24762306a36Sopenharmony_ciamdgpu-y += $(AMDKFD_FILES) 24862306a36Sopenharmony_ciamdgpu-y += \ 24962306a36Sopenharmony_ci amdgpu_amdkfd_fence.o \ 25062306a36Sopenharmony_ci amdgpu_amdkfd_gpuvm.o \ 25162306a36Sopenharmony_ci amdgpu_amdkfd_gfx_v8.o \ 25262306a36Sopenharmony_ci amdgpu_amdkfd_gfx_v9.o \ 25362306a36Sopenharmony_ci amdgpu_amdkfd_arcturus.o \ 25462306a36Sopenharmony_ci amdgpu_amdkfd_aldebaran.o \ 25562306a36Sopenharmony_ci amdgpu_amdkfd_gc_9_4_3.o \ 25662306a36Sopenharmony_ci amdgpu_amdkfd_gfx_v10.o \ 25762306a36Sopenharmony_ci amdgpu_amdkfd_gfx_v10_3.o \ 25862306a36Sopenharmony_ci amdgpu_amdkfd_gfx_v11.o 25962306a36Sopenharmony_ci 26062306a36Sopenharmony_ciifneq ($(CONFIG_DRM_AMDGPU_CIK),) 26162306a36Sopenharmony_ciamdgpu-y += amdgpu_amdkfd_gfx_v7.o 26262306a36Sopenharmony_ciendif 26362306a36Sopenharmony_ci 26462306a36Sopenharmony_ciendif 26562306a36Sopenharmony_ci 26662306a36Sopenharmony_ci# add cgs 26762306a36Sopenharmony_ciamdgpu-y += amdgpu_cgs.o 26862306a36Sopenharmony_ci 26962306a36Sopenharmony_ci# GPU scheduler 27062306a36Sopenharmony_ciamdgpu-y += amdgpu_job.o 27162306a36Sopenharmony_ci 27262306a36Sopenharmony_ci# ACP componet 27362306a36Sopenharmony_ciifneq ($(CONFIG_DRM_AMD_ACP),) 27462306a36Sopenharmony_ciamdgpu-y += amdgpu_acp.o 27562306a36Sopenharmony_ci 27662306a36Sopenharmony_ciAMDACPPATH := ../acp 27762306a36Sopenharmony_ciinclude $(FULL_AMD_PATH)/acp/Makefile 27862306a36Sopenharmony_ci 27962306a36Sopenharmony_ciamdgpu-y += $(AMD_ACP_FILES) 28062306a36Sopenharmony_ciendif 28162306a36Sopenharmony_ci 28262306a36Sopenharmony_ciamdgpu-$(CONFIG_COMPAT) += amdgpu_ioc32.o 28362306a36Sopenharmony_ciamdgpu-$(CONFIG_VGA_SWITCHEROO) += amdgpu_atpx_handler.o 28462306a36Sopenharmony_ciamdgpu-$(CONFIG_ACPI) += amdgpu_acpi.o 28562306a36Sopenharmony_ciamdgpu-$(CONFIG_HMM_MIRROR) += amdgpu_hmm.o 28662306a36Sopenharmony_ci 28762306a36Sopenharmony_ciinclude $(FULL_AMD_PATH)/pm/Makefile 28862306a36Sopenharmony_ci 28962306a36Sopenharmony_ciamdgpu-y += $(AMD_POWERPLAY_FILES) 29062306a36Sopenharmony_ci 29162306a36Sopenharmony_ciifneq ($(CONFIG_DRM_AMD_DC),) 29262306a36Sopenharmony_ci 29362306a36Sopenharmony_ciRELATIVE_AMD_DISPLAY_PATH = ../$(DISPLAY_FOLDER_NAME) 29462306a36Sopenharmony_ciinclude $(FULL_AMD_DISPLAY_PATH)/Makefile 29562306a36Sopenharmony_ci 29662306a36Sopenharmony_ciamdgpu-y += $(AMD_DISPLAY_FILES) 29762306a36Sopenharmony_ci 29862306a36Sopenharmony_ciendif 29962306a36Sopenharmony_ci 30062306a36Sopenharmony_ciobj-$(CONFIG_DRM_AMDGPU)+= amdgpu.o 301