diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.19.8/2860-drm-amd-display-Support-clang-option-for-stack-align.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.19.8/2860-drm-amd-display-Support-clang-option-for-stack-align.patch | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/2860-drm-amd-display-Support-clang-option-for-stack-align.patch b/common/recipes-kernel/linux/linux-yocto-4.19.8/2860-drm-amd-display-Support-clang-option-for-stack-align.patch new file mode 100644 index 00000000..c05e40a4 --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.19.8/2860-drm-amd-display-Support-clang-option-for-stack-align.patch @@ -0,0 +1,73 @@ +From a38929eb0cf246dc2002f8ed68b83020729b7c37 Mon Sep 17 00:00:00 2001 +From: Arnd Bergmann <arnd@arndb.de> +Date: Fri, 12 Jul 2019 11:37:00 +0200 +Subject: [PATCH 2860/2940] drm/amd/display: Support clang option for stack + alignment + +As previously fixed for dml in commit 4769278e5c7f ("amdgpu/dc/dml: +Support clang option for stack alignment") and calcs in commit +cc32ad8f559c ("amdgpu/dc/calcs: Support clang option for stack +alignment"), dcn20 uses an option that is not available with clang: + +clang: error: unknown argument: '-mpreferred-stack-boundary=4' +scripts/Makefile.build:281: recipe for target 'drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_resource.o' failed + +Use the same trick that we have in the other two files. + +Fixes: 7ed4e6352c16 ("drm/amd/display: Add DCN2 HW Sequencer and Resource") +Signed-off-by: Arnd Bergmann <arnd@arndb.de> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +--- + drivers/gpu/drm/amd/display/dc/dcn20/Makefile | 8 +++++++- + drivers/gpu/drm/amd/display/dc/dsc/Makefile | 16 ++++++++++++---- + 2 files changed, 19 insertions(+), 5 deletions(-) + +diff --git a/drivers/gpu/drm/amd/display/dc/dcn20/Makefile b/drivers/gpu/drm/amd/display/dc/dcn20/Makefile +index 1b68de27ba74..e9721a906592 100644 +--- a/drivers/gpu/drm/amd/display/dc/dcn20/Makefile ++++ b/drivers/gpu/drm/amd/display/dc/dcn20/Makefile +@@ -10,7 +10,13 @@ ifdef CONFIG_DRM_AMD_DC_DSC_SUPPORT + DCN20 += dcn20_dsc.o + endif + +-CFLAGS_dcn20_resource.o := -mhard-float -msse -mpreferred-stack-boundary=4 ++ifneq ($(call cc-option, -mpreferred-stack-boundary=4),) ++ cc_stack_align := -mpreferred-stack-boundary=4 ++else ifneq ($(call cc-option, -mstack-alignment=16),) ++ cc_stack_align := -mstack-alignment=16 ++endif ++ ++CFLAGS_dcn20_resource.o := -mhard-float -msse $(cc_stack_align) + + AMD_DAL_DCN20 = $(addprefix $(AMDDALPATH)/dc/dcn20/,$(DCN20)) + +diff --git a/drivers/gpu/drm/amd/display/dc/dsc/Makefile b/drivers/gpu/drm/amd/display/dc/dsc/Makefile +index c5d5b94e2604..e019cd9447e8 100644 +--- a/drivers/gpu/drm/amd/display/dc/dsc/Makefile ++++ b/drivers/gpu/drm/amd/display/dc/dsc/Makefile +@@ -1,10 +1,18 @@ + # + # Makefile for the 'dsc' sub-component of DAL. + +-CFLAGS_rc_calc.o := -mhard-float -msse -mpreferred-stack-boundary=4 +-CFLAGS_rc_calc_dpi.o := -mhard-float -msse -mpreferred-stack-boundary=4 +-CFLAGS_codec_main_amd.o := -mhard-float -msse -mpreferred-stack-boundary=4 +-CFLAGS_dc_dsc.o := -mhard-float -msse -mpreferred-stack-boundary=4 ++ifneq ($(call cc-option, -mpreferred-stack-boundary=4),) ++ cc_stack_align := -mpreferred-stack-boundary=4 ++else ifneq ($(call cc-option, -mstack-alignment=16),) ++ cc_stack_align := -mstack-alignment=16 ++endif ++ ++dsc_ccflags := -mhard-float -msse $(cc_stack_align) ++ ++CFLAGS_rc_calc.o := $(dsc_ccflags) ++CFLAGS_rc_calc_dpi.o := $(dsc_ccflags) ++CFLAGS_codec_main_amd.o := $(dsc_ccflags) ++CFLAGS_dc_dsc.o := $(dsc_ccflags) + + DSC = dc_dsc.o rc_calc.o rc_calc_dpi.o + +-- +2.17.1 + |