18c2ecf20Sopenharmony_ci#
28c2ecf20Sopenharmony_ci# Copyright 2017 Advanced Micro Devices, Inc.
38c2ecf20Sopenharmony_ci#
48c2ecf20Sopenharmony_ci# Permission is hereby granted, free of charge, to any person obtaining a
58c2ecf20Sopenharmony_ci# copy of this software and associated documentation files (the "Software"),
68c2ecf20Sopenharmony_ci# to deal in the Software without restriction, including without limitation
78c2ecf20Sopenharmony_ci# the rights to use, copy, modify, merge, publish, distribute, sublicense,
88c2ecf20Sopenharmony_ci# and/or sell copies of the Software, and to permit persons to whom the
98c2ecf20Sopenharmony_ci# Software is furnished to do so, subject to the following conditions:
108c2ecf20Sopenharmony_ci#
118c2ecf20Sopenharmony_ci# The above copyright notice and this permission notice shall be included in
128c2ecf20Sopenharmony_ci# all copies or substantial portions of the Software.
138c2ecf20Sopenharmony_ci#
148c2ecf20Sopenharmony_ci# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
158c2ecf20Sopenharmony_ci# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
168c2ecf20Sopenharmony_ci# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
178c2ecf20Sopenharmony_ci# THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
188c2ecf20Sopenharmony_ci# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
198c2ecf20Sopenharmony_ci# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
208c2ecf20Sopenharmony_ci# OTHER DEALINGS IN THE SOFTWARE.
218c2ecf20Sopenharmony_ci#
228c2ecf20Sopenharmony_ci#
238c2ecf20Sopenharmony_ci# Makefile for the drm device driver.  This driver provides support for the
248c2ecf20Sopenharmony_ci# Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher.
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ciFULL_AMD_PATH=$(srctree)/$(src)/..
278c2ecf20Sopenharmony_ciDISPLAY_FOLDER_NAME=display
288c2ecf20Sopenharmony_ciFULL_AMD_DISPLAY_PATH = $(FULL_AMD_PATH)/$(DISPLAY_FOLDER_NAME)
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ciccflags-y := -I$(FULL_AMD_PATH)/include/asic_reg \
318c2ecf20Sopenharmony_ci	-I$(FULL_AMD_PATH)/include \
328c2ecf20Sopenharmony_ci	-I$(FULL_AMD_PATH)/amdgpu \
338c2ecf20Sopenharmony_ci	-I$(FULL_AMD_PATH)/pm/inc \
348c2ecf20Sopenharmony_ci	-I$(FULL_AMD_PATH)/acp/include \
358c2ecf20Sopenharmony_ci	-I$(FULL_AMD_DISPLAY_PATH) \
368c2ecf20Sopenharmony_ci	-I$(FULL_AMD_DISPLAY_PATH)/include \
378c2ecf20Sopenharmony_ci	-I$(FULL_AMD_DISPLAY_PATH)/dc \
388c2ecf20Sopenharmony_ci	-I$(FULL_AMD_DISPLAY_PATH)/amdgpu_dm \
398c2ecf20Sopenharmony_ci	-I$(FULL_AMD_PATH)/amdkfd
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ciamdgpu-y := amdgpu_drv.o
428c2ecf20Sopenharmony_ci
438c2ecf20Sopenharmony_ci# add KMS driver
448c2ecf20Sopenharmony_ciamdgpu-y += amdgpu_device.o amdgpu_kms.o \
458c2ecf20Sopenharmony_ci	amdgpu_atombios.o atombios_crtc.o amdgpu_connectors.o \
468c2ecf20Sopenharmony_ci	atom.o amdgpu_fence.o amdgpu_ttm.o amdgpu_object.o amdgpu_gart.o \
478c2ecf20Sopenharmony_ci	amdgpu_encoders.o amdgpu_display.o amdgpu_i2c.o \
488c2ecf20Sopenharmony_ci	amdgpu_fb.o amdgpu_gem.o amdgpu_ring.o \
498c2ecf20Sopenharmony_ci	amdgpu_cs.o amdgpu_bios.o amdgpu_benchmark.o amdgpu_test.o \
508c2ecf20Sopenharmony_ci	atombios_dp.o amdgpu_afmt.o amdgpu_trace_points.o \
518c2ecf20Sopenharmony_ci	atombios_encoders.o amdgpu_sa.o atombios_i2c.o \
528c2ecf20Sopenharmony_ci	amdgpu_dma_buf.o amdgpu_vm.o amdgpu_ib.o amdgpu_pll.o \
538c2ecf20Sopenharmony_ci	amdgpu_ucode.o amdgpu_bo_list.o amdgpu_ctx.o amdgpu_sync.o \
548c2ecf20Sopenharmony_ci	amdgpu_gtt_mgr.o amdgpu_vram_mgr.o amdgpu_virt.o amdgpu_atomfirmware.o \
558c2ecf20Sopenharmony_ci	amdgpu_vf_error.o amdgpu_sched.o amdgpu_debugfs.o amdgpu_ids.o \
568c2ecf20Sopenharmony_ci	amdgpu_gmc.o amdgpu_mmhub.o amdgpu_xgmi.o amdgpu_csa.o amdgpu_ras.o amdgpu_vm_cpu.o \
578c2ecf20Sopenharmony_ci	amdgpu_vm_sdma.o amdgpu_discovery.o amdgpu_ras_eeprom.o amdgpu_nbio.o \
588c2ecf20Sopenharmony_ci	amdgpu_umc.o smu_v11_0_i2c.o amdgpu_fru_eeprom.o amdgpu_rap.o
598c2ecf20Sopenharmony_ci
608c2ecf20Sopenharmony_ciamdgpu-$(CONFIG_PERF_EVENTS) += amdgpu_pmu.o
618c2ecf20Sopenharmony_ci
628c2ecf20Sopenharmony_ci# add asic specific block
638c2ecf20Sopenharmony_ciamdgpu-$(CONFIG_DRM_AMDGPU_CIK)+= cik.o cik_ih.o \
648c2ecf20Sopenharmony_ci	dce_v8_0.o gfx_v7_0.o cik_sdma.o uvd_v4_2.o vce_v2_0.o
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_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 \
678c2ecf20Sopenharmony_ci	uvd_v3_1.o
688c2ecf20Sopenharmony_ci
698c2ecf20Sopenharmony_ciamdgpu-y += \
708c2ecf20Sopenharmony_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 \
718c2ecf20Sopenharmony_ci	vega20_reg_init.o nbio_v7_4.o nbio_v2_3.o nv.o navi10_reg_init.o navi14_reg_init.o \
728c2ecf20Sopenharmony_ci	arct_reg_init.o navi12_reg_init.o mxgpu_nv.o sienna_cichlid_reg_init.o
738c2ecf20Sopenharmony_ci
748c2ecf20Sopenharmony_ci# add DF block
758c2ecf20Sopenharmony_ciamdgpu-y += \
768c2ecf20Sopenharmony_ci	df_v1_7.o \
778c2ecf20Sopenharmony_ci	df_v3_6.o
788c2ecf20Sopenharmony_ci
798c2ecf20Sopenharmony_ci# add GMC block
808c2ecf20Sopenharmony_ciamdgpu-y += \
818c2ecf20Sopenharmony_ci	gmc_v7_0.o \
828c2ecf20Sopenharmony_ci	gmc_v8_0.o \
838c2ecf20Sopenharmony_ci	gfxhub_v1_0.o mmhub_v1_0.o gmc_v9_0.o gfxhub_v1_1.o mmhub_v9_4.o \
848c2ecf20Sopenharmony_ci	gfxhub_v2_0.o mmhub_v2_0.o gmc_v10_0.o gfxhub_v2_1.o
858c2ecf20Sopenharmony_ci
868c2ecf20Sopenharmony_ci# add UMC block
878c2ecf20Sopenharmony_ciamdgpu-y += \
888c2ecf20Sopenharmony_ci	umc_v6_1.o umc_v6_0.o umc_v8_7.o
898c2ecf20Sopenharmony_ci
908c2ecf20Sopenharmony_ci# add IH block
918c2ecf20Sopenharmony_ciamdgpu-y += \
928c2ecf20Sopenharmony_ci	amdgpu_irq.o \
938c2ecf20Sopenharmony_ci	amdgpu_ih.o \
948c2ecf20Sopenharmony_ci	iceland_ih.o \
958c2ecf20Sopenharmony_ci	tonga_ih.o \
968c2ecf20Sopenharmony_ci	cz_ih.o \
978c2ecf20Sopenharmony_ci	vega10_ih.o \
988c2ecf20Sopenharmony_ci	navi10_ih.o
998c2ecf20Sopenharmony_ci
1008c2ecf20Sopenharmony_ci# add PSP block
1018c2ecf20Sopenharmony_ciamdgpu-y += \
1028c2ecf20Sopenharmony_ci	amdgpu_psp.o \
1038c2ecf20Sopenharmony_ci	psp_v3_1.o \
1048c2ecf20Sopenharmony_ci	psp_v10_0.o \
1058c2ecf20Sopenharmony_ci	psp_v11_0.o \
1068c2ecf20Sopenharmony_ci	psp_v12_0.o
1078c2ecf20Sopenharmony_ci
1088c2ecf20Sopenharmony_ci# add DCE block
1098c2ecf20Sopenharmony_ciamdgpu-y += \
1108c2ecf20Sopenharmony_ci	dce_v10_0.o \
1118c2ecf20Sopenharmony_ci	dce_v11_0.o \
1128c2ecf20Sopenharmony_ci	dce_virtual.o
1138c2ecf20Sopenharmony_ci
1148c2ecf20Sopenharmony_ci# add GFX block
1158c2ecf20Sopenharmony_ciamdgpu-y += \
1168c2ecf20Sopenharmony_ci	amdgpu_gfx.o \
1178c2ecf20Sopenharmony_ci	amdgpu_rlc.o \
1188c2ecf20Sopenharmony_ci	gfx_v8_0.o \
1198c2ecf20Sopenharmony_ci	gfx_v9_0.o \
1208c2ecf20Sopenharmony_ci	gfx_v9_4.o \
1218c2ecf20Sopenharmony_ci	gfx_v10_0.o
1228c2ecf20Sopenharmony_ci
1238c2ecf20Sopenharmony_ci# add async DMA block
1248c2ecf20Sopenharmony_ciamdgpu-y += \
1258c2ecf20Sopenharmony_ci	amdgpu_sdma.o \
1268c2ecf20Sopenharmony_ci	sdma_v2_4.o \
1278c2ecf20Sopenharmony_ci	sdma_v3_0.o \
1288c2ecf20Sopenharmony_ci	sdma_v4_0.o \
1298c2ecf20Sopenharmony_ci	sdma_v5_0.o \
1308c2ecf20Sopenharmony_ci	sdma_v5_2.o
1318c2ecf20Sopenharmony_ci
1328c2ecf20Sopenharmony_ci# add MES block
1338c2ecf20Sopenharmony_ciamdgpu-y += \
1348c2ecf20Sopenharmony_ci	mes_v10_1.o
1358c2ecf20Sopenharmony_ci
1368c2ecf20Sopenharmony_ci# add UVD block
1378c2ecf20Sopenharmony_ciamdgpu-y += \
1388c2ecf20Sopenharmony_ci	amdgpu_uvd.o \
1398c2ecf20Sopenharmony_ci	uvd_v5_0.o \
1408c2ecf20Sopenharmony_ci	uvd_v6_0.o \
1418c2ecf20Sopenharmony_ci	uvd_v7_0.o
1428c2ecf20Sopenharmony_ci
1438c2ecf20Sopenharmony_ci# add VCE block
1448c2ecf20Sopenharmony_ciamdgpu-y += \
1458c2ecf20Sopenharmony_ci	amdgpu_vce.o \
1468c2ecf20Sopenharmony_ci	vce_v3_0.o \
1478c2ecf20Sopenharmony_ci	vce_v4_0.o
1488c2ecf20Sopenharmony_ci
1498c2ecf20Sopenharmony_ci# add VCN and JPEG block
1508c2ecf20Sopenharmony_ciamdgpu-y += \
1518c2ecf20Sopenharmony_ci	amdgpu_vcn.o \
1528c2ecf20Sopenharmony_ci	vcn_v1_0.o \
1538c2ecf20Sopenharmony_ci	vcn_v2_0.o \
1548c2ecf20Sopenharmony_ci	vcn_v2_5.o \
1558c2ecf20Sopenharmony_ci	vcn_v3_0.o \
1568c2ecf20Sopenharmony_ci	amdgpu_jpeg.o \
1578c2ecf20Sopenharmony_ci	jpeg_v1_0.o \
1588c2ecf20Sopenharmony_ci	jpeg_v2_0.o \
1598c2ecf20Sopenharmony_ci	jpeg_v2_5.o \
1608c2ecf20Sopenharmony_ci	jpeg_v3_0.o
1618c2ecf20Sopenharmony_ci
1628c2ecf20Sopenharmony_ci# add ATHUB block
1638c2ecf20Sopenharmony_ciamdgpu-y += \
1648c2ecf20Sopenharmony_ci	athub_v1_0.o \
1658c2ecf20Sopenharmony_ci	athub_v2_0.o \
1668c2ecf20Sopenharmony_ci	athub_v2_1.o
1678c2ecf20Sopenharmony_ci
1688c2ecf20Sopenharmony_ci# add amdkfd interfaces
1698c2ecf20Sopenharmony_ciamdgpu-y += amdgpu_amdkfd.o
1708c2ecf20Sopenharmony_ci
1718c2ecf20Sopenharmony_ciifneq ($(CONFIG_HSA_AMD),)
1728c2ecf20Sopenharmony_ciAMDKFD_PATH := ../amdkfd
1738c2ecf20Sopenharmony_ciinclude $(FULL_AMD_PATH)/amdkfd/Makefile
1748c2ecf20Sopenharmony_ciamdgpu-y += $(AMDKFD_FILES)
1758c2ecf20Sopenharmony_ciamdgpu-y += \
1768c2ecf20Sopenharmony_ci	amdgpu_amdkfd_fence.o \
1778c2ecf20Sopenharmony_ci	amdgpu_amdkfd_gpuvm.o \
1788c2ecf20Sopenharmony_ci	amdgpu_amdkfd_gfx_v8.o \
1798c2ecf20Sopenharmony_ci	amdgpu_amdkfd_gfx_v9.o \
1808c2ecf20Sopenharmony_ci	amdgpu_amdkfd_arcturus.o \
1818c2ecf20Sopenharmony_ci	amdgpu_amdkfd_gfx_v10.o \
1828c2ecf20Sopenharmony_ci	amdgpu_amdkfd_gfx_v10_3.o
1838c2ecf20Sopenharmony_ci
1848c2ecf20Sopenharmony_ciifneq ($(CONFIG_DRM_AMDGPU_CIK),)
1858c2ecf20Sopenharmony_ciamdgpu-y += amdgpu_amdkfd_gfx_v7.o
1868c2ecf20Sopenharmony_ciendif
1878c2ecf20Sopenharmony_ci
1888c2ecf20Sopenharmony_ciendif
1898c2ecf20Sopenharmony_ci
1908c2ecf20Sopenharmony_ci# add cgs
1918c2ecf20Sopenharmony_ciamdgpu-y += amdgpu_cgs.o
1928c2ecf20Sopenharmony_ci
1938c2ecf20Sopenharmony_ci# GPU scheduler
1948c2ecf20Sopenharmony_ciamdgpu-y += amdgpu_job.o
1958c2ecf20Sopenharmony_ci
1968c2ecf20Sopenharmony_ci# ACP componet
1978c2ecf20Sopenharmony_ciifneq ($(CONFIG_DRM_AMD_ACP),)
1988c2ecf20Sopenharmony_ciamdgpu-y += amdgpu_acp.o
1998c2ecf20Sopenharmony_ci
2008c2ecf20Sopenharmony_ciAMDACPPATH := ../acp
2018c2ecf20Sopenharmony_ciinclude $(FULL_AMD_PATH)/acp/Makefile
2028c2ecf20Sopenharmony_ci
2038c2ecf20Sopenharmony_ciamdgpu-y += $(AMD_ACP_FILES)
2048c2ecf20Sopenharmony_ciendif
2058c2ecf20Sopenharmony_ci
2068c2ecf20Sopenharmony_ciamdgpu-$(CONFIG_COMPAT) += amdgpu_ioc32.o
2078c2ecf20Sopenharmony_ciamdgpu-$(CONFIG_VGA_SWITCHEROO) += amdgpu_atpx_handler.o
2088c2ecf20Sopenharmony_ciamdgpu-$(CONFIG_ACPI) += amdgpu_acpi.o
2098c2ecf20Sopenharmony_ciamdgpu-$(CONFIG_HMM_MIRROR) += amdgpu_mn.o
2108c2ecf20Sopenharmony_ci
2118c2ecf20Sopenharmony_ciinclude $(FULL_AMD_PATH)/pm/Makefile
2128c2ecf20Sopenharmony_ci
2138c2ecf20Sopenharmony_ciamdgpu-y += $(AMD_POWERPLAY_FILES)
2148c2ecf20Sopenharmony_ci
2158c2ecf20Sopenharmony_ciifneq ($(CONFIG_DRM_AMD_DC),)
2168c2ecf20Sopenharmony_ci
2178c2ecf20Sopenharmony_ciRELATIVE_AMD_DISPLAY_PATH = ../$(DISPLAY_FOLDER_NAME)
2188c2ecf20Sopenharmony_ciinclude $(FULL_AMD_DISPLAY_PATH)/Makefile
2198c2ecf20Sopenharmony_ci
2208c2ecf20Sopenharmony_ciamdgpu-y += $(AMD_DISPLAY_FILES)
2218c2ecf20Sopenharmony_ci
2228c2ecf20Sopenharmony_ciendif
2238c2ecf20Sopenharmony_ci
2248c2ecf20Sopenharmony_ciobj-$(CONFIG_DRM_AMDGPU)+= amdgpu.o
225