gpu: drm: img: disable PDUMP
[platform/kernel/linux-starfive.git] / drivers / gpu / drm / img / img-rogue / Makefile
1 ########################################################################### ###
2 #@Title         Root kernel makefile
3 #@Copyright     Copyright (c) Imagination Technologies Ltd. All Rights Reserved
4 #@License       Dual MIT/GPLv2
5 #
6 # The contents of this file are subject to the MIT license as set out below.
7 #
8 # Permission is hereby granted, free of charge, to any person obtaining a copy
9 # of this software and associated documentation files (the "Software"), to deal
10 # in the Software without restriction, including without limitation the rights
11 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 # copies of the Software, and to permit persons to whom the Software is
13 # furnished to do so, subject to the following conditions:
14 #
15 # The above copyright notice and this permission notice shall be included in
16 # all copies or substantial portions of the Software.
17 #
18 # Alternatively, the contents of this file may be used under the terms of
19 # the GNU General Public License Version 2 ("GPL") in which case the provisions
20 # of GPL are applicable instead of those above.
21 #
22 # If you wish to allow use of your version of this file only under the terms of
23 # GPL, and not to allow others to use your version of this file under the terms
24 # of the MIT license, indicate your decision by deleting the provisions above
25 # and replace them with the notice and other provisions required by GPL as set
26 # out in the file called "GPL-COPYING" included in this distribution. If you do
27 # not delete the provisions above, a recipient may use your version of this file
28 # under the terms of either the MIT license or GPL.
29 #
30 # This License is also included in this distribution in the file called
31 # "MIT-COPYING".
32 #
33 # EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS
34 # PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
35 # BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
36 # PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
37 # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
38 # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
39 # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
40 ### ###########################################################################
41
42 # This top-level kbuild makefile builds all the Linux kernel modules in the
43 # DDK. To run kbuild, this makefile is copied to $(TARGET_PRIMARY_OUT)/kbuild/Makefile
44 # and make is invoked in $(TARGET_PRIMARY_OUT)/kbuild.
45
46 # This makefile doesn't define any kbuild special variables apart from
47 # ccflags-y and obj-m. The variables for objects are picked up by including
48 # the kbuild makefile fragments named in $(INTERNAL_KBUILD_MAKEFILES). The
49 # list of objects that these fragments make is collected in
50 # $(INTERNAL_KBUILD_OBJECTS) and $(INTERNAL_EXTRA_KBUILD_OBJECTS). These
51 # variables are set according to the build's $(KERNEL_COMPONENTS) and
52 # $(EXTRA_PVRSRVKM_COMPONENTS). To add a new kernel module to the build, edit
53 # these variables in the per-build Makefile.
54
55 INTERNAL_KBUILD_OBJECTS=pvrsrvkm.o
56 INTERNAL_EXTRA_KBUILD_OBJECTS=""
57 TOP:=$(dir $(realpath $(lastword $(MAKEFILE_LIST))))
58 TOP:=$(TOP:/=)
59 BRIDGE_SOURCE_ROOT=$(TOP)/generated/rogue
60 TARGET_PRIMARY_ARCH=target_riscv64
61 PVR_ARCH=rogue
62 PVR_ARCH_DEFS=rogue
63 PVR_SYSTEM := sf_7110
64 #PDUMP ?= 1
65 BUILD ?= release
66 RGX_BVNC ?= 36.50.54.182
67 RGX_BNC ?= 36.50.54.182
68 PVRSRV_NEED_PVR_DPF=1
69 PVRSRV_NEED_PVR_ASSERT=1
70 PVR_SERVICES_DEBUG=1
71 WINDOW_SYSTEM=nulldrmws
72
73 #include $(OUT)/config_kernel.mk
74 include $(srctree)/$(src)/config_kernel.mk
75
76 .SECONDARY:
77
78 define symlink-source-file
79 @if [ ! -e $(dir $@) ]; then mkdir -p $(dir $@); fi
80 @if [ ! -h $@ ]; then ln -sf $< $@; fi
81 endef
82
83 bridge_base := $(BRIDGE_SOURCE_ROOT)
84
85 #$(OUT)/$(TARGET_PRIMARY_ARCH)/kbuild/%.c: $(TOP)/%.c
86 #       $(symlink-source-file)
87
88 #$(OUT)/$(TARGET_PRIMARY_ARCH)/kbuild/generated/$(PVR_ARCH)/%.c: $(bridge_base)/%.c
89 #       $(symlink-source-file)
90
91 #$(OUT)/$(TARGET_PRIMARY_ARCH)/kbuild/external/%.c: $(abspath $(srctree))/%.c
92 #       $(symlink-source-file)
93
94 #ccflags-y += -D__linux__ -include $(OUT)/config_kernel.h \
95 # -include kernel_config_compatibility.h \
96 # -I$(OUT)/include -I$(TOP)/kernel/drivers/staging/imgtec
97 ccflags-y += -D__linux__ -include $(srctree)/$(src)/config_kernel.h \
98  -include $(srctree)/drivers/gpu/drm/img/kernel_config_compatibility.h \
99  -I$(OUT)/include \
100  -I$(srctree)/drivers/gpu/drm/img \
101  -I$(srctree)/$(src)/hwdefs/rogue \
102  -I$(srctree)/$(src)/hwdefs/rogue/km
103
104 include $(srctree)/$(src)/services/server/env/linux/Kbuild.mk
105 include $(srctree)/$(src)/services/system/rogue/sf_7110/Kbuild.mk
106
107 #include $(INTERNAL_KBUILD_MAKEFILES)
108
109 define add-file-cflags
110 CFLAGS_$(notdir $(1)) := $(CFLAGS_$(1))
111 endef
112
113 # Define old style CFLAG_ variables for kernels older than 5.4
114 $(foreach _m,$(INTERNAL_KBUILD_OBJECTS:.o=-y), \
115  $(foreach _f,$($(_m)), \
116   $(if $(CFLAGS_$(_f)), \
117    $(eval $(call add-file-cflags,$(_f))))))
118
119 #ifneq ($(KERNEL_DRIVER_DIR),)
120 # ccflags-y += \
121 #   -I$(abspath $(srctree))/$(KERNEL_DRIVER_DIR)/$(PVR_SYSTEM) \
122 #   -I$(abspath $(srctree))/$(KERNEL_DRIVER_DIR)
123 #endif
124
125 $(if $($(PVRSRVKM_NAME)-y),,$(warning $(PVRSRVKM_NAME)-y was empty, which could mean that srvkm is missing from $$(KERNEL_COMPONENTS)))
126 $(PVRSRVKM_NAME)-y += $(foreach _m,$(INTERNAL_EXTRA_KBUILD_OBJECTS:.o=),$($(_m)-y))
127
128 #obj-m += $(INTERNAL_KBUILD_OBJECTS)
129 obj-$(CONFIG_DRM_IMG_ROGUE) += $(INTERNAL_KBUILD_OBJECTS)