hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/drivers/gpu/arm/bifrost/Makefile
....@@ -1,6 +1,6 @@
11 # SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
22 #
3
-# (C) COPYRIGHT 2010-2021 ARM Limited. All rights reserved.
3
+# (C) COPYRIGHT 2010-2023 ARM Limited. All rights reserved.
44 #
55 # This program is free software and is provided to you under the terms of the
66 # GNU General Public License version 2 as published by the Free Software
....@@ -34,13 +34,15 @@
3434
3535 CONFIG_MALI_BIFROST ?= m
3636 ifeq ($(CONFIG_MALI_BIFROST),m)
37
+ CONFIG_MALI_PLATFORM_NAME ?= "devicetree"
3738 CONFIG_MALI_BIFROST_GATOR_SUPPORT ?= y
3839 CONFIG_MALI_ARBITRATION ?= n
3940 CONFIG_MALI_PARTITION_MANAGER ?= n
4041
4142 ifneq ($(CONFIG_MALI_BIFROST_NO_MALI),y)
42
- # Prevent misuse when CONFIG_MALI_BIFROST_NO_MALI=y
43
+ # Prevent misuse when CONFIG_MALI_BIFROST_NO_MALI
4344 CONFIG_MALI_REAL_HW ?= y
45
+ CONFIG_MALI_CORESIGHT = n
4446 endif
4547
4648 ifeq ($(CONFIG_MALI_BIFROST_DVFS),y)
....@@ -55,10 +57,8 @@
5557 CONFIG_MALI_DMA_BUF_LEGACY_COMPAT = n
5658 endif
5759
58
- ifeq ($(CONFIG_BSP_HAS_HYPERVISOR),y)
59
- ifneq ($(CONFIG_MALI_ARBITRATION), n)
60
- CONFIG_MALI_XEN ?= m
61
- endif
60
+ ifeq ($(CONFIG_MALI_CSF_SUPPORT), y)
61
+ CONFIG_MALI_CORESIGHT ?= n
6262 endif
6363
6464 #
....@@ -67,11 +67,13 @@
6767 ifeq ($(CONFIG_MALI_BIFROST_EXPERT), y)
6868 ifeq ($(CONFIG_MALI_BIFROST_NO_MALI), y)
6969 CONFIG_MALI_REAL_HW = n
70
+
7071 else
7172 # Prevent misuse when CONFIG_MALI_BIFROST_NO_MALI=n
7273 CONFIG_MALI_REAL_HW = y
7374 CONFIG_MALI_BIFROST_ERROR_INJECT = n
7475 endif
76
+
7577
7678 ifeq ($(CONFIG_MALI_HW_ERRATA_1485982_NOT_AFFECTED), y)
7779 # Prevent misuse when CONFIG_MALI_HW_ERRATA_1485982_NOT_AFFECTED=y
....@@ -82,14 +84,10 @@
8284 CONFIG_MALI_BIFROST_ENABLE_TRACE ?= y
8385 CONFIG_MALI_BIFROST_SYSTEM_TRACE ?= y
8486
85
- ifeq ($(CONFIG_SYNC), y)
87
+ ifeq ($(CONFIG_SYNC_FILE), y)
8688 CONFIG_MALI_BIFROST_FENCE_DEBUG ?= y
8789 else
88
- ifeq ($(CONFIG_SYNC_FILE), y)
89
- CONFIG_MALI_BIFROST_FENCE_DEBUG ?= y
90
- else
91
- CONFIG_MALI_BIFROST_FENCE_DEBUG = n
92
- endif
90
+ CONFIG_MALI_BIFROST_FENCE_DEBUG = n
9391 endif
9492 else
9593 # Prevent misuse when CONFIG_MALI_BIFROST_DEBUG=n
....@@ -100,7 +98,8 @@
10098 else
10199 # Prevent misuse when CONFIG_MALI_BIFROST_EXPERT=n
102100 CONFIG_MALI_CORESTACK = n
103
- CONFIG_MALI_2MB_ALLOC = n
101
+ CONFIG_LARGE_PAGE_ALLOC_OVERRIDE = n
102
+ CONFIG_LARGE_PAGE_ALLOC = n
104103 CONFIG_MALI_PWRSOFT_765 = n
105104 CONFIG_MALI_MEMORY_FULLY_BACKED = n
106105 CONFIG_MALI_JOB_DUMP = n
....@@ -121,16 +120,19 @@
121120 ifeq ($(CONFIG_MALI_KUTF), y)
122121 CONFIG_MALI_KUTF_IRQ_TEST ?= y
123122 CONFIG_MALI_KUTF_CLK_RATE_TRACE ?= y
123
+ CONFIG_MALI_KUTF_MGM_INTEGRATION_TEST ?= y
124124 else
125125 # Prevent misuse when CONFIG_MALI_KUTF=n
126126 CONFIG_MALI_KUTF_IRQ_TEST = n
127127 CONFIG_MALI_KUTF_CLK_RATE_TRACE = n
128
+ CONFIG_MALI_KUTF_MGM_INTEGRATION_TEST = n
128129 endif
129130 else
130131 # Prevent misuse when CONFIG_MALI_BIFROST_DEBUG=n
131132 CONFIG_MALI_KUTF = n
132133 CONFIG_MALI_KUTF_IRQ_TEST = n
133134 CONFIG_MALI_KUTF_CLK_RATE_TRACE = n
135
+ CONFIG_MALI_KUTF_MGM_INTEGRATION_TEST = n
134136 endif
135137 else
136138 # Prevent misuse when CONFIG_MALI_BIFROST=n
....@@ -138,6 +140,7 @@
138140 CONFIG_MALI_KUTF = n
139141 CONFIG_MALI_KUTF_IRQ_TEST = n
140142 CONFIG_MALI_KUTF_CLK_RATE_TRACE = n
143
+ CONFIG_MALI_KUTF_MGM_INTEGRATION_TEST = n
141144 endif
142145
143146 # All Mali CONFIG should be listed here
....@@ -145,19 +148,18 @@
145148 CONFIG_MALI_BIFROST \
146149 CONFIG_MALI_CSF_SUPPORT \
147150 CONFIG_MALI_BIFROST_GATOR_SUPPORT \
148
- CONFIG_MALI_BIFROST_DMA_FENCE \
149151 CONFIG_MALI_ARBITER_SUPPORT \
150152 CONFIG_MALI_ARBITRATION \
151153 CONFIG_MALI_PARTITION_MANAGER \
152154 CONFIG_MALI_REAL_HW \
153
- CONFIG_MALI_GEM5_BUILD \
154155 CONFIG_MALI_BIFROST_DEVFREQ \
155156 CONFIG_MALI_BIFROST_DVFS \
156157 CONFIG_MALI_DMA_BUF_MAP_ON_DEMAND \
157158 CONFIG_MALI_DMA_BUF_LEGACY_COMPAT \
158159 CONFIG_MALI_BIFROST_EXPERT \
159160 CONFIG_MALI_CORESTACK \
160
- CONFIG_MALI_2MB_ALLOC \
161
+ CONFIG_LARGE_PAGE_ALLOC_OVERRIDE \
162
+ CONFIG_LARGE_PAGE_ALLOC \
161163 CONFIG_MALI_PWRSOFT_765 \
162164 CONFIG_MALI_MEMORY_FULLY_BACKED \
163165 CONFIG_MALI_JOB_DUMP \
....@@ -176,10 +178,14 @@
176178 CONFIG_MALI_KUTF \
177179 CONFIG_MALI_KUTF_IRQ_TEST \
178180 CONFIG_MALI_KUTF_CLK_RATE_TRACE \
179
- CONFIG_MALI_XEN
181
+ CONFIG_MALI_KUTF_MGM_INTEGRATION_TEST \
182
+ CONFIG_MALI_XEN \
183
+ CONFIG_MALI_CORESIGHT
180184
181185
182
-#
186
+THIS_DIR := $(dir $(lastword $(MAKEFILE_LIST)))
187
+-include $(THIS_DIR)/../arbitration/Makefile
188
+
183189 # MAKE_ARGS to pass the custom CONFIGs on out-of-tree build
184190 #
185191 # Generate the list of CONFIGs and values.
....@@ -191,6 +197,8 @@
191197 $(value config)=$(value $(value config)), \
192198 $(value config)=n))
193199
200
+MAKE_ARGS += CONFIG_MALI_PLATFORM_NAME=$(CONFIG_MALI_PLATFORM_NAME)
201
+
194202 #
195203 # EXTRA_CFLAGS to define the custom CONFIGs on out-of-tree build
196204 #
....@@ -201,10 +209,66 @@
201209 $(if $(filter y m,$(value $(value config))), \
202210 -D$(value config)=1))
203211
212
+EXTRA_CFLAGS += -DCONFIG_MALI_PLATFORM_NAME=$(CONFIG_MALI_PLATFORM_NAME)
213
+
204214 #
205215 # KBUILD_EXTRA_SYMBOLS to prevent warnings about unknown functions
206216 #
207217
218
+KBUILD_CFLAGS += -Wall -Werror
219
+
220
+# The following were added to align with W=1 in scripts/Makefile.extrawarn
221
+# from the Linux source tree (v5.18.14)
222
+KBUILD_CFLAGS += -Wextra -Wunused -Wno-unused-parameter
223
+KBUILD_CFLAGS += -Wmissing-declarations
224
+KBUILD_CFLAGS += -Wmissing-format-attribute
225
+KBUILD_CFLAGS += -Wmissing-prototypes
226
+KBUILD_CFLAGS += -Wold-style-definition
227
+# The -Wmissing-include-dirs cannot be enabled as the path to some of the
228
+# included directories change depending on whether it is an in-tree or
229
+# out-of-tree build.
230
+KBUILD_CFLAGS += $(call cc-option, -Wunused-but-set-variable)
231
+KBUILD_CFLAGS += $(call cc-option, -Wunused-const-variable)
232
+KBUILD_CFLAGS += $(call cc-option, -Wpacked-not-aligned)
233
+KBUILD_CFLAGS += $(call cc-option, -Wstringop-truncation)
234
+# The following turn off the warnings enabled by -Wextra
235
+KBUILD_CFLAGS += -Wno-sign-compare
236
+KBUILD_CFLAGS += -Wno-shift-negative-value
237
+# This flag is needed to avoid build errors on older kernels
238
+KBUILD_CFLAGS += $(call cc-option, -Wno-cast-function-type)
239
+
240
+KBUILD_CPPFLAGS += -DKBUILD_EXTRA_WARN1
241
+
242
+# The following were added to align with W=2 in scripts/Makefile.extrawarn
243
+# from the Linux source tree (v5.18.14)
244
+KBUILD_CFLAGS += -Wdisabled-optimization
245
+# The -Wshadow flag cannot be enabled unless upstream kernels are
246
+# patched to fix redefinitions of certain built-in functions and
247
+# global variables.
248
+KBUILD_CFLAGS += $(call cc-option, -Wlogical-op)
249
+KBUILD_CFLAGS += -Wmissing-field-initializers
250
+# -Wtype-limits must be disabled due to build failures on kernel 5.x
251
+KBUILD_CFLAGS += -Wno-type-limit
252
+KBUILD_CFLAGS += $(call cc-option, -Wmaybe-uninitialized)
253
+KBUILD_CFLAGS += $(call cc-option, -Wunused-macros)
254
+
255
+KBUILD_CPPFLAGS += -DKBUILD_EXTRA_WARN2
256
+
257
+# This warning is disabled to avoid build failures in some kernel versions
258
+KBUILD_CFLAGS += -Wno-ignored-qualifiers
259
+
260
+ifeq ($(CONFIG_GCOV_KERNEL),y)
261
+ KBUILD_CFLAGS += $(call cc-option, -ftest-coverage)
262
+ KBUILD_CFLAGS += $(call cc-option, -fprofile-arcs)
263
+ EXTRA_CFLAGS += -DGCOV_PROFILE=1
264
+endif
265
+
266
+ifeq ($(CONFIG_MALI_KCOV),y)
267
+ KBUILD_CFLAGS += $(call cc-option, -fsanitize-coverage=trace-cmp)
268
+ EXTRA_CFLAGS += -DKCOV=1
269
+ EXTRA_CFLAGS += -DKCOV_ENABLE_COMPARISONS=1
270
+endif
271
+
208272 all:
209273 $(MAKE) -C $(KDIR) M=$(CURDIR) $(MAKE_ARGS) EXTRA_CFLAGS="$(EXTRA_CFLAGS)" KBUILD_EXTRA_SYMBOLS="$(EXTRA_SYMBOLS)" modules
210274