DCN requires floating point support to operate. Add the appropriate x86/ppc64 guards and FPU / AltiVec / VSX context switches to DCN. Note that the current DC20 code doesn't contain all required FPU wrappers on x86 or POWER, so this patch is insufficient to fully enable DC20 on POWER. v2: s/X86_64/X86/g to retain previous behavior. Signed-off-by: Timothy Pearson <tpearson@raptorengineering.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
40 lines
1.1 KiB
Makefile
40 lines
1.1 KiB
Makefile
# SPDX-License-Identifier: MIT
|
|
#
|
|
# Makefile for DCN.
|
|
|
|
DCN20 = dcn20_resource.o dcn20_init.o dcn20_hwseq.o dcn20_dpp.o dcn20_dpp_cm.o dcn20_hubp.o \
|
|
dcn20_mpc.o dcn20_opp.o dcn20_hubbub.o dcn20_optc.o dcn20_mmhubbub.o \
|
|
dcn20_stream_encoder.o dcn20_link_encoder.o dcn20_dccg.o \
|
|
dcn20_vmid.o dcn20_dwb.o dcn20_dwb_scl.o
|
|
|
|
DCN20 += dcn20_dsc.o
|
|
|
|
ifdef CONFIG_X86
|
|
CFLAGS_$(AMDDALPATH)/dc/dcn20/dcn20_resource.o := -mhard-float -msse
|
|
endif
|
|
|
|
ifdef CONFIG_PPC64
|
|
CFLAGS_$(AMDDALPATH)/dc/dcn20/dcn20_resource.o := -mhard-float -maltivec
|
|
endif
|
|
|
|
ifdef CONFIG_CC_IS_GCC
|
|
ifeq ($(call cc-ifversion, -lt, 0701, y), y)
|
|
IS_OLD_GCC = 1
|
|
endif
|
|
endif
|
|
|
|
ifdef CONFIG_X86
|
|
ifdef IS_OLD_GCC
|
|
# Stack alignment mismatch, proceed with caution.
|
|
# GCC < 7.1 cannot compile code using `double` and -mpreferred-stack-boundary=3
|
|
# (8B stack alignment).
|
|
CFLAGS_$(AMDDALPATH)/dc/dcn20/dcn20_resource.o += -mpreferred-stack-boundary=4
|
|
else
|
|
CFLAGS_$(AMDDALPATH)/dc/dcn20/dcn20_resource.o += -msse2
|
|
endif
|
|
endif
|
|
|
|
AMD_DAL_DCN20 = $(addprefix $(AMDDALPATH)/dc/dcn20/,$(DCN20))
|
|
|
|
AMD_DISPLAY_FILES += $(AMD_DAL_DCN20)
|