Commit | Line | Data |
---|---|---|
061bfa06 | 1 | # |
e2874a3c | 2 | # Copyright 2017 Advanced Micro Devices, Inc. |
16a9dea1 | 3 | # Copyright 2019 Raptor Engineering, LLC |
e2874a3c AD |
4 | # |
5 | # Permission is hereby granted, free of charge, to any person obtaining a | |
6 | # copy of this software and associated documentation files (the "Software"), | |
7 | # to deal in the Software without restriction, including without limitation | |
8 | # the rights to use, copy, modify, merge, publish, distribute, sublicense, | |
9 | # and/or sell copies of the Software, and to permit persons to whom the | |
10 | # Software is furnished to do so, subject to the following conditions: | |
11 | # | |
12 | # The above copyright notice and this permission notice shall be included in | |
13 | # all copies or substantial portions of the Software. | |
14 | # | |
15 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |
16 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |
17 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | |
18 | # THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR | |
19 | # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, | |
20 | # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | |
21 | # OTHER DEALINGS IN THE SOFTWARE. | |
22 | # | |
23 | # | |
061bfa06 HW |
24 | # Makefile for the 'utils' sub-component of DAL. |
25 | # It provides the general basic services required by other DAL | |
26 | # subcomponents. | |
27 | ||
16a9dea1 | 28 | ifdef CONFIG_X86 |
7db038d9 NC |
29 | dml_ccflags-$(CONFIG_CC_IS_GCC) := -mhard-float |
30 | dml_ccflags := $(dml_ccflags-y) -msse | |
16a9dea1 TP |
31 | endif |
32 | ||
33 | ifdef CONFIG_PPC64 | |
34 | dml_ccflags := -mhard-float -maltivec | |
35 | endif | |
4769278e | 36 | |
79b72db6 AZ |
37 | ifdef CONFIG_ARM64 |
38 | dml_rcflags := -mgeneral-regs-only | |
39 | endif | |
40 | ||
9a06655e HC |
41 | ifdef CONFIG_LOONGARCH |
42 | dml_ccflags := -mfpu=64 | |
43 | dml_rcflags := -msoft-float | |
44 | endif | |
45 | ||
c868868f | 46 | ifdef CONFIG_CC_IS_GCC |
88b61e3b | 47 | ifneq ($(call gcc-min-version, 70100),y) |
00db2971 ND |
48 | IS_OLD_GCC = 1 |
49 | endif | |
50 | endif | |
51 | ||
16a9dea1 | 52 | ifdef CONFIG_X86 |
00db2971 ND |
53 | ifdef IS_OLD_GCC |
54 | # Stack alignment mismatch, proceed with caution. | |
55 | # GCC < 7.1 cannot compile code using `double` and -mpreferred-stack-boundary=3 | |
56 | # (8B stack alignment). | |
c868868f | 57 | dml_ccflags += -mpreferred-stack-boundary=4 |
e8a170ff | 58 | else |
0f0727d9 ND |
59 | dml_ccflags += -msse2 |
60 | endif | |
16a9dea1 | 61 | endif |
0f0727d9 | 62 | |
25f178bb | 63 | ifneq ($(CONFIG_FRAME_WARN),0) |
72ada860 AD |
64 | ifeq ($(filter y,$(CONFIG_KASAN)$(CONFIG_KCSAN)),y) |
65 | frame_warn_flag := -Wframe-larger-than=3072 | |
66 | else | |
25f178bb RN |
67 | frame_warn_flag := -Wframe-larger-than=2048 |
68 | endif | |
72ada860 | 69 | endif |
25f178bb | 70 | |
54b8ae66 | 71 | CFLAGS_$(AMDDALPATH)/dc/dml/display_mode_lib.o := $(dml_ccflags) |
54b8ae66 | 72 | CFLAGS_$(AMDDALPATH)/dc/dml/display_mode_vba.o := $(dml_ccflags) |
6e6faf7a | 73 | CFLAGS_$(AMDDALPATH)/dc/dml/dcn10/dcn10_fpu.o := $(dml_ccflags) |
ee373411 | 74 | CFLAGS_$(AMDDALPATH)/dc/dml/dcn20/dcn20_fpu.o := $(dml_ccflags) |
c8b3538d | 75 | CFLAGS_$(AMDDALPATH)/dc/dml/dcn20/display_mode_vba_20.o := $(dml_ccflags) |
54b8ae66 | 76 | CFLAGS_$(AMDDALPATH)/dc/dml/dcn20/display_rq_dlg_calc_20.o := $(dml_ccflags) |
d7b0827f LT |
77 | CFLAGS_$(AMDDALPATH)/dc/dml/dcn20/display_mode_vba_20v2.o := $(dml_ccflags) |
78 | CFLAGS_$(AMDDALPATH)/dc/dml/dcn20/display_rq_dlg_calc_20v2.o := $(dml_ccflags) | |
d7b0827f LT |
79 | CFLAGS_$(AMDDALPATH)/dc/dml/dcn21/display_mode_vba_21.o := $(dml_ccflags) |
80 | CFLAGS_$(AMDDALPATH)/dc/dml/dcn21/display_rq_dlg_calc_21.o := $(dml_ccflags) | |
25f178bb | 81 | CFLAGS_$(AMDDALPATH)/dc/dml/dcn30/display_mode_vba_30.o := $(dml_ccflags) $(frame_warn_flag) |
582e2ce5 | 82 | CFLAGS_$(AMDDALPATH)/dc/dml/dcn30/display_rq_dlg_calc_30.o := $(dml_ccflags) |
25f178bb | 83 | CFLAGS_$(AMDDALPATH)/dc/dml/dcn31/display_mode_vba_31.o := $(dml_ccflags) $(frame_warn_flag) |
74458c08 | 84 | CFLAGS_$(AMDDALPATH)/dc/dml/dcn31/display_rq_dlg_calc_31.o := $(dml_ccflags) |
af2f2a25 RS |
85 | CFLAGS_$(AMDDALPATH)/dc/dml/dcn314/display_mode_vba_314.o := $(dml_ccflags) $(frame_warn_flag) |
86 | CFLAGS_$(AMDDALPATH)/dc/dml/dcn314/display_rq_dlg_calc_314.o := $(dml_ccflags) | |
4c3861f5 | 87 | CFLAGS_$(AMDDALPATH)/dc/dml/dcn314/dcn314_fpu.o := $(dml_ccflags) |
e4b0eac3 | 88 | CFLAGS_$(AMDDALPATH)/dc/dml/dcn30/dcn30_fpu.o := $(dml_ccflags) |
041a1109 | 89 | CFLAGS_$(AMDDALPATH)/dc/dml/dcn32/dcn32_fpu.o := $(dml_ccflags) |
dda4fb85 AP |
90 | CFLAGS_$(AMDDALPATH)/dc/dml/dcn32/display_mode_vba_32.o := $(dml_ccflags) $(frame_warn_flag) |
91 | CFLAGS_$(AMDDALPATH)/dc/dml/dcn32/display_rq_dlg_calc_32.o := $(dml_ccflags) | |
45950d88 | 92 | CFLAGS_$(AMDDALPATH)/dc/dml/dcn32/display_mode_vba_util_32.o := $(dml_ccflags) $(frame_warn_flag) |
197485c6 | 93 | CFLAGS_$(AMDDALPATH)/dc/dml/dcn321/dcn321_fpu.o := $(dml_ccflags) |
69cc1864 | 94 | CFLAGS_$(AMDDALPATH)/dc/dml/dcn35/dcn35_fpu.o := $(dml_ccflags) |
26f4712a | 95 | CFLAGS_$(AMDDALPATH)/dc/dml/dcn31/dcn31_fpu.o := $(dml_ccflags) |
31484207 | 96 | CFLAGS_$(AMDDALPATH)/dc/dml/dcn301/dcn301_fpu.o := $(dml_ccflags) |
f369e4eb | 97 | CFLAGS_$(AMDDALPATH)/dc/dml/dcn302/dcn302_fpu.o := $(dml_ccflags) |
53923e62 | 98 | CFLAGS_$(AMDDALPATH)/dc/dml/dcn303/dcn303_fpu.o := $(dml_ccflags) |
d738db68 | 99 | CFLAGS_$(AMDDALPATH)/dc/dml/dsc/rc_calc_fpu.o := $(dml_ccflags) |
552b7cb0 IB |
100 | CFLAGS_$(AMDDALPATH)/dc/dml/calcs/dcn_calcs.o := $(dml_ccflags) |
101 | CFLAGS_$(AMDDALPATH)/dc/dml/calcs/dcn_calc_auto.o := $(dml_ccflags) | |
102 | CFLAGS_$(AMDDALPATH)/dc/dml/calcs/dcn_calc_math.o := $(dml_ccflags) -Wno-tautological-compare | |
c38d444e DK |
103 | CFLAGS_REMOVE_$(AMDDALPATH)/dc/dml/display_mode_vba.o := $(dml_rcflags) |
104 | CFLAGS_REMOVE_$(AMDDALPATH)/dc/dml/dcn20/display_mode_vba_20.o := $(dml_rcflags) | |
105 | CFLAGS_REMOVE_$(AMDDALPATH)/dc/dml/dcn20/display_rq_dlg_calc_20.o := $(dml_rcflags) | |
106 | CFLAGS_REMOVE_$(AMDDALPATH)/dc/dml/dcn20/display_mode_vba_20v2.o := $(dml_rcflags) | |
107 | CFLAGS_REMOVE_$(AMDDALPATH)/dc/dml/dcn20/display_rq_dlg_calc_20v2.o := $(dml_rcflags) | |
108 | CFLAGS_REMOVE_$(AMDDALPATH)/dc/dml/dcn21/display_mode_vba_21.o := $(dml_rcflags) | |
109 | CFLAGS_REMOVE_$(AMDDALPATH)/dc/dml/dcn21/display_rq_dlg_calc_21.o := $(dml_rcflags) | |
582e2ce5 AD |
110 | CFLAGS_REMOVE_$(AMDDALPATH)/dc/dml/dcn30/display_mode_vba_30.o := $(dml_rcflags) |
111 | CFLAGS_REMOVE_$(AMDDALPATH)/dc/dml/dcn30/display_rq_dlg_calc_30.o := $(dml_rcflags) | |
74458c08 NK |
112 | CFLAGS_REMOVE_$(AMDDALPATH)/dc/dml/dcn31/display_mode_vba_31.o := $(dml_rcflags) |
113 | CFLAGS_REMOVE_$(AMDDALPATH)/dc/dml/dcn31/display_rq_dlg_calc_31.o := $(dml_rcflags) | |
dda4fb85 AP |
114 | CFLAGS_REMOVE_$(AMDDALPATH)/dc/dml/dcn32/display_mode_vba_32.o := $(dml_rcflags) |
115 | CFLAGS_REMOVE_$(AMDDALPATH)/dc/dml/dcn32/display_rq_dlg_calc_32.o := $(dml_rcflags) | |
116 | CFLAGS_REMOVE_$(AMDDALPATH)/dc/dml/dcn32/display_mode_vba_util_32.o := $(dml_rcflags) | |
31484207 | 117 | CFLAGS_REMOVE_$(AMDDALPATH)/dc/dml/dcn301/dcn301_fpu.o := $(dml_rcflags) |
582e2ce5 | 118 | CFLAGS_REMOVE_$(AMDDALPATH)/dc/dml/display_mode_lib.o := $(dml_rcflags) |
d738db68 | 119 | CFLAGS_REMOVE_$(AMDDALPATH)/dc/dml/dsc/rc_calc_fpu.o := $(dml_rcflags) |
79b72db6 AZ |
120 | CFLAGS_REMOVE_$(AMDDALPATH)/dc/dml/dcn10/dcn10_fpu.o := $(dml_rcflags) |
121 | CFLAGS_REMOVE_$(AMDDALPATH)/dc/dml/dcn20/dcn20_fpu.o := $(dml_rcflags) | |
122 | CFLAGS_REMOVE_$(AMDDALPATH)/dc/dml/dcn314/display_mode_vba_314.o := $(dml_rcflags) | |
123 | CFLAGS_REMOVE_$(AMDDALPATH)/dc/dml/dcn314/display_rq_dlg_calc_314.o := $(dml_rcflags) | |
124 | CFLAGS_REMOVE_$(AMDDALPATH)/dc/dml/dcn314/dcn314_fpu.o := $(dml_rcflags) | |
125 | CFLAGS_REMOVE_$(AMDDALPATH)/dc/dml/dcn30/dcn30_fpu.o := $(dml_rcflags) | |
126 | CFLAGS_REMOVE_$(AMDDALPATH)/dc/dml/dcn32/dcn32_fpu.o := $(dml_rcflags) | |
127 | CFLAGS_REMOVE_$(AMDDALPATH)/dc/dml/dcn321/dcn321_fpu.o := $(dml_rcflags) | |
69cc1864 | 128 | CFLAGS_REMOVE_$(AMDDALPATH)/dc/dml/dcn35/dcn35_fpu.o := $(dml_rcflags) |
79b72db6 AZ |
129 | CFLAGS_REMOVE_$(AMDDALPATH)/dc/dml/dcn31/dcn31_fpu.o := $(dml_rcflags) |
130 | CFLAGS_REMOVE_$(AMDDALPATH)/dc/dml/dcn302/dcn302_fpu.o := $(dml_rcflags) | |
131 | CFLAGS_REMOVE_$(AMDDALPATH)/dc/dml/dcn303/dcn303_fpu.o := $(dml_rcflags) | |
132 | CFLAGS_REMOVE_$(AMDDALPATH)/dc/dml/calcs/dcn_calc_math.o := $(dml_rcflags) | |
54b8ae66 MY |
133 | CFLAGS_$(AMDDALPATH)/dc/dml/dml1_display_rq_dlg_calc.o := $(dml_ccflags) |
134 | CFLAGS_$(AMDDALPATH)/dc/dml/display_rq_dlg_helpers.o := $(dml_ccflags) | |
c38d444e DK |
135 | CFLAGS_REMOVE_$(AMDDALPATH)/dc/dml/dml1_display_rq_dlg_calc.o := $(dml_rcflags) |
136 | CFLAGS_REMOVE_$(AMDDALPATH)/dc/dml/display_rq_dlg_helpers.o := $(dml_rcflags) | |
552b7cb0 IB |
137 | CFLAGS_REMOVE_$(AMDDALPATH)/dc/dml/calcs/dcn_calcs.o := $(dml_rcflags) |
138 | CFLAGS_REMOVE_$(AMDDALPATH)/dc/dml/calcs/dcn_calc_auto.o := $(dml_rcflags) | |
139 | CFLAGS_REMOVE_$(AMDDALPATH)/dc/dml/calcs/dcn_calc_math.o := $(dml_rcflags) | |
061bfa06 | 140 | |
4652ae7a | 141 | ifdef CONFIG_DRM_AMD_DC_FP |
552b7cb0 | 142 | DML += display_mode_lib.o display_rq_dlg_helpers.o dml1_display_rq_dlg_calc.o |
6e6faf7a | 143 | DML += dcn10/dcn10_fpu.o |
ee373411 | 144 | DML += dcn20/dcn20_fpu.o |
776c1f56 | 145 | DML += display_mode_vba.o dcn20/display_rq_dlg_calc_20.o dcn20/display_mode_vba_20.o |
057fc695 | 146 | DML += dcn20/display_rq_dlg_calc_20v2.o dcn20/display_mode_vba_20v2.o |
542816ff | 147 | DML += dcn21/display_rq_dlg_calc_21.o dcn21/display_mode_vba_21.o |
e4b0eac3 | 148 | DML += dcn30/dcn30_fpu.o dcn30/display_mode_vba_30.o dcn30/display_rq_dlg_calc_30.o |
74458c08 | 149 | DML += dcn31/display_mode_vba_31.o dcn31/display_rq_dlg_calc_31.o |
af2f2a25 | 150 | DML += dcn314/display_mode_vba_314.o dcn314/display_rq_dlg_calc_314.o |
dda4fb85 | 151 | DML += dcn32/display_mode_vba_32.o dcn32/display_rq_dlg_calc_32.o dcn32/display_mode_vba_util_32.o |
26f4712a | 152 | DML += dcn31/dcn31_fpu.o |
041a1109 | 153 | DML += dcn32/dcn32_fpu.o |
197485c6 | 154 | DML += dcn321/dcn321_fpu.o |
31484207 | 155 | DML += dcn301/dcn301_fpu.o |
f369e4eb | 156 | DML += dcn302/dcn302_fpu.o |
53923e62 | 157 | DML += dcn303/dcn303_fpu.o |
4c3861f5 | 158 | DML += dcn314/dcn314_fpu.o |
69cc1864 | 159 | DML += dcn35/dcn35_fpu.o |
d738db68 | 160 | DML += dsc/rc_calc_fpu.o |
552b7cb0 | 161 | DML += calcs/dcn_calcs.o calcs/dcn_calc_math.o calcs/dcn_calc_auto.o |
74458c08 | 162 | endif |
061bfa06 HW |
163 | |
164 | AMD_DAL_DML = $(addprefix $(AMDDALPATH)/dc/dml/,$(DML)) | |
165 | ||
166 | AMD_DISPLAY_FILES += $(AMD_DAL_DML) |