aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2860-drm-amd-display-Support-clang-option-for-stack-align.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2860-drm-amd-display-Support-clang-option-for-stack-align.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2860-drm-amd-display-Support-clang-option-for-stack-align.patch73
1 files changed, 73 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2860-drm-amd-display-Support-clang-option-for-stack-align.patch b/meta-amd-bsp/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/meta-amd-bsp/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
+