1# 2# Copyright 2017 Advanced Micro Devices, Inc. 3# 4# Permission is hereby granted, free of charge, to any person obtaining a 5# copy of this software and associated documentation files (the "Software"), 6# to deal in the Software without restriction, including without limitation 7# the rights to use, copy, modify, merge, publish, distribute, sublicense, 8# and/or sell copies of the Software, and to permit persons to whom the 9# Software is furnished to do so, subject to the following conditions: 10# 11# The above copyright notice and this permission notice shall be included in 12# all copies or substantial portions of the Software. 13# 14# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 17# THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR 18# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 19# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 20# OTHER DEALINGS IN THE SOFTWARE. 21# 22# 23# Makefile for the 'clk_mgr' sub-component of DAL. 24# It provides the control and status of HW CLK_MGR pins. 25 26CLK_MGR = clk_mgr.o 27 28AMD_DAL_CLK_MGR = $(addprefix $(AMDDALPATH)/dc/clk_mgr/,$(CLK_MGR)) 29 30AMD_DISPLAY_FILES += $(AMD_DAL_CLK_MGR) 31 32 33ifdef CONFIG_DRM_AMD_DC_SI 34############################################################################### 35# DCE 60 36############################################################################### 37CLK_MGR_DCE60 = dce60_clk_mgr.o 38 39AMD_DAL_CLK_MGR_DCE60 = $(addprefix $(AMDDALPATH)/dc/clk_mgr/dce60/,$(CLK_MGR_DCE60)) 40 41AMD_DISPLAY_FILES += $(AMD_DAL_CLK_MGR_DCE60) 42endif 43 44############################################################################### 45# DCE 100 and DCE8x 46############################################################################### 47CLK_MGR_DCE100 = dce_clk_mgr.o 48 49AMD_DAL_CLK_MGR_DCE100 = $(addprefix $(AMDDALPATH)/dc/clk_mgr/dce100/,$(CLK_MGR_DCE100)) 50 51AMD_DISPLAY_FILES += $(AMD_DAL_CLK_MGR_DCE100) 52 53############################################################################### 54# DCE 100 and DCE8x 55############################################################################### 56CLK_MGR_DCE110 = dce110_clk_mgr.o 57 58AMD_DAL_CLK_MGR_DCE110 = $(addprefix $(AMDDALPATH)/dc/clk_mgr/dce110/,$(CLK_MGR_DCE110)) 59 60AMD_DISPLAY_FILES += $(AMD_DAL_CLK_MGR_DCE110) 61############################################################################### 62# DCE 112 63############################################################################### 64CLK_MGR_DCE112 = dce112_clk_mgr.o 65 66AMD_DAL_CLK_MGR_DCE112 = $(addprefix $(AMDDALPATH)/dc/clk_mgr/dce112/,$(CLK_MGR_DCE112)) 67 68AMD_DISPLAY_FILES += $(AMD_DAL_CLK_MGR_DCE112) 69############################################################################### 70# DCE 120 71############################################################################### 72CLK_MGR_DCE120 = dce120_clk_mgr.o 73 74AMD_DAL_CLK_MGR_DCE120 = $(addprefix $(AMDDALPATH)/dc/clk_mgr/dce120/,$(CLK_MGR_DCE120)) 75 76AMD_DISPLAY_FILES += $(AMD_DAL_CLK_MGR_DCE120) 77ifdef CONFIG_DRM_AMD_DC_DCN 78############################################################################### 79# DCN10 80############################################################################### 81CLK_MGR_DCN10 = rv1_clk_mgr.o rv1_clk_mgr_vbios_smu.o rv2_clk_mgr.o 82 83AMD_DAL_CLK_MGR_DCN10 = $(addprefix $(AMDDALPATH)/dc/clk_mgr/dcn10/,$(CLK_MGR_DCN10)) 84 85AMD_DISPLAY_FILES += $(AMD_DAL_CLK_MGR_DCN10) 86 87############################################################################### 88# DCN20 89############################################################################### 90CLK_MGR_DCN20 = dcn20_clk_mgr.o 91 92AMD_DAL_CLK_MGR_DCN20 = $(addprefix $(AMDDALPATH)/dc/clk_mgr/dcn20/,$(CLK_MGR_DCN20)) 93 94AMD_DISPLAY_FILES += $(AMD_DAL_CLK_MGR_DCN20) 95 96############################################################################### 97# DCN201 98############################################################################### 99CLK_MGR_DCN201 = dcn201_clk_mgr.o 100 101AMD_DAL_CLK_MGR_DCN201 = $(addprefix $(AMDDALPATH)/dc/clk_mgr/dcn201/,$(CLK_MGR_DCN201)) 102 103AMD_DISPLAY_FILES += $(AMD_DAL_CLK_MGR_DCN201) 104 105############################################################################### 106# DCN21 107############################################################################### 108CLK_MGR_DCN21 = rn_clk_mgr.o rn_clk_mgr_vbios_smu.o 109 110# prevent build errors regarding soft-float vs hard-float FP ABI tags 111# this code is currently unused on ppc64, as it applies to Renoir APUs only 112ifdef CONFIG_PPC64 113CFLAGS_$(AMDDALPATH)/dc/clk_mgr/dcn21/rn_clk_mgr.o := $(call cc-option,-mno-gnu-attribute) 114endif 115 116AMD_DAL_CLK_MGR_DCN21 = $(addprefix $(AMDDALPATH)/dc/clk_mgr/dcn21/,$(CLK_MGR_DCN21)) 117 118AMD_DISPLAY_FILES += $(AMD_DAL_CLK_MGR_DCN21) 119############################################################################### 120# DCN30 121############################################################################### 122CLK_MGR_DCN30 = dcn30_clk_mgr.o dcn30_clk_mgr_smu_msg.o 123 124# prevent build errors regarding soft-float vs hard-float FP ABI tags 125# this code is currently unused on ppc64, as it applies to VanGogh APUs only 126ifdef CONFIG_PPC64 127CFLAGS_$(AMDDALPATH)/dc/clk_mgr/dcn30/dcn30_clk_mgr.o := $(call cc-option,-mno-gnu-attribute) 128endif 129 130AMD_DAL_CLK_MGR_DCN30 = $(addprefix $(AMDDALPATH)/dc/clk_mgr/dcn30/,$(CLK_MGR_DCN30)) 131 132AMD_DISPLAY_FILES += $(AMD_DAL_CLK_MGR_DCN30) 133############################################################################### 134# DCN301 135############################################################################### 136CLK_MGR_DCN301 = vg_clk_mgr.o dcn301_smu.o 137 138# prevent build errors regarding soft-float vs hard-float FP ABI tags 139# this code is currently unused on ppc64, as it applies to VanGogh APUs only 140ifdef CONFIG_PPC64 141CFLAGS_$(AMDDALPATH)/dc/clk_mgr/dcn301/vg_clk_mgr.o := $(call cc-option,-mno-gnu-attribute) 142endif 143 144AMD_DAL_CLK_MGR_DCN301 = $(addprefix $(AMDDALPATH)/dc/clk_mgr/dcn301/,$(CLK_MGR_DCN301)) 145 146AMD_DISPLAY_FILES += $(AMD_DAL_CLK_MGR_DCN301) 147 148############################################################################### 149# DCN31 150############################################################################### 151CLK_MGR_DCN31 = dcn31_smu.o dcn31_clk_mgr.o 152 153AMD_DAL_CLK_MGR_DCN31 = $(addprefix $(AMDDALPATH)/dc/clk_mgr/dcn31/,$(CLK_MGR_DCN31)) 154 155AMD_DISPLAY_FILES += $(AMD_DAL_CLK_MGR_DCN31) 156 157############################################################################### 158# DCN315 159############################################################################### 160CLK_MGR_DCN315 = dcn315_smu.o dcn315_clk_mgr.o 161 162AMD_DAL_CLK_MGR_DCN315 = $(addprefix $(AMDDALPATH)/dc/clk_mgr/dcn315/,$(CLK_MGR_DCN315)) 163 164AMD_DISPLAY_FILES += $(AMD_DAL_CLK_MGR_DCN315) 165 166############################################################################### 167# DCN316 168############################################################################### 169CLK_MGR_DCN316 = dcn316_smu.o dcn316_clk_mgr.o 170 171AMD_DAL_CLK_MGR_DCN316 = $(addprefix $(AMDDALPATH)/dc/clk_mgr/dcn316/,$(CLK_MGR_DCN316)) 172 173AMD_DISPLAY_FILES += $(AMD_DAL_CLK_MGR_DCN316) 174 175############################################################################### 176# DCN32 177############################################################################### 178CLK_MGR_DCN32 = dcn32_clk_mgr.o dcn32_clk_mgr_smu_msg.o 179 180AMD_DAL_CLK_MGR_DCN32 = $(addprefix $(AMDDALPATH)/dc/clk_mgr/dcn32/,$(CLK_MGR_DCN32)) 181 182ifdef CONFIG_X86 183CFLAGS_$(AMDDALPATH)/dc/clk_mgr/dcn32/dcn32_clk_mgr.o := -mhard-float -msse 184endif 185 186ifdef CONFIG_PPC64 187CFLAGS_$(AMDDALPATH)/dc/clk_mgr/dcn32/dcn32_clk_mgr.o := -mhard-float -maltivec 188endif 189 190ifdef CONFIG_CC_IS_GCC 191ifeq ($(call cc-ifversion, -lt, 0701, y), y) 192IS_OLD_GCC = 1 193endif 194endif 195 196ifdef CONFIG_X86 197ifdef IS_OLD_GCC 198# Stack alignment mismatch, proceed with caution. 199# GCC < 7.1 cannot compile code using `double` and -mpreferred-stack-boundary=3 200# (8B stack alignment). 201CFLAGS_$(AMDDALPATH)/dc/clk_mgr/dcn32/dcn32_clk_mgr.o := -mpreferred-stack-boundary=4 202else 203CFLAGS_$(AMDDALPATH)/dc/clk_mgr/dcn32/dcn32_clk_mgr.o := -msse2 204endif 205endif 206 207AMD_DISPLAY_FILES += $(AMD_DAL_CLK_MGR_DCN32) 208 209endif 210