diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2498-drm-amd-display-Properly-guard-display_mode_vba-with.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2498-drm-amd-display-Properly-guard-display_mode_vba-with.patch | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2498-drm-amd-display-Properly-guard-display_mode_vba-with.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2498-drm-amd-display-Properly-guard-display_mode_vba-with.patch new file mode 100644 index 00000000..e606eac6 --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2498-drm-amd-display-Properly-guard-display_mode_vba-with.patch @@ -0,0 +1,111 @@ +From 544832fb1443e964b187d1484aebdbb1bb30a4be Mon Sep 17 00:00:00 2001 +From: Leo Li <sunpeng.li@amd.com> +Date: Mon, 25 Mar 2019 21:11:07 -0400 +Subject: [PATCH 2498/2940] drm/amd/display: Properly guard display_mode_vba + with DCN2 + +[Why] + +display_mode_vba is for DCN2 and up. When building for upstream (DCN1 +enabled only), there will be a build error, since display_mode_vba.c/h +is stripped out. + +Note that building DCN1 only with internal dal-dev is still fine, since +display_mode_vba.h is not stripped out internally - only in upstream. +The make directives therefore stll work, and so will any #include's. + +[How] + +Since subsequent generations require DCN2 enabled anyways, guard the +makefile directive for display_mode_vba.o with DCN2. Guard any includes +with DCN2. In addition, guard the entire contents of display_mode_vba.h +with DCN2, to simulate the file being stripped out in upstream. + +A forward declaration for 'struct display_mode_lib' also needs to be +added in display_mode_lib.h. Previously, display_mode_vba.h contained +the forward declaration, and display_mode_lib.h in turn included it. +This won't work if mode_vba.h is stripped out, requring mode_lib.h to do +so itself. + +Signed-off-by: Leo Li <sunpeng.li@amd.com> +Reviewed-by: Harry Wentland <Harry.Wentland@amd.com> +Acked-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +--- + drivers/gpu/drm/amd/display/dc/dml/Makefile | 7 ++++--- + drivers/gpu/drm/amd/display/dc/dml/display_mode_lib.h | 4 ++++ + drivers/gpu/drm/amd/display/dc/dml/display_mode_vba.h | 3 +++ + 3 files changed, 11 insertions(+), 3 deletions(-) + +diff --git a/drivers/gpu/drm/amd/display/dc/dml/Makefile b/drivers/gpu/drm/amd/display/dc/dml/Makefile +index 744fefb67789..0bb7a20675c4 100644 +--- a/drivers/gpu/drm/amd/display/dc/dml/Makefile ++++ b/drivers/gpu/drm/amd/display/dc/dml/Makefile +@@ -33,8 +33,9 @@ endif + dml_ccflags := -mhard-float -msse $(cc_stack_align) + + CFLAGS_display_mode_lib.o := $(dml_ccflags) +-CFLAGS_display_mode_vba.o := $(dml_ccflags) ++ + ifdef CONFIG_DRM_AMD_DC_DCN2_0 ++CFLAGS_display_mode_vba.o := $(dml_ccflags) + CFLAGS_display_mode_vba_20.o := $(dml_ccflags) + CFLAGS_display_rq_dlg_calc_20.o := $(dml_ccflags) + endif +@@ -46,10 +47,10 @@ CFLAGS_display_rq_dlg_helpers.o := $(dml_ccflags) + CFLAGS_dml_common_defs.o := $(dml_ccflags) + + DML = display_mode_lib.o display_rq_dlg_helpers.o dml1_display_rq_dlg_calc.o \ +- dml_common_defs.o display_mode_vba.o ++ dml_common_defs.o + + ifdef CONFIG_DRM_AMD_DC_DCN2_0 +-DML += dcn20/display_rq_dlg_calc_20.o dcn20/display_mode_vba_20.o ++DML += display_mode_vba.o dcn20/display_rq_dlg_calc_20.o dcn20/display_mode_vba_20.o + endif + + AMD_DAL_DML = $(addprefix $(AMDDALPATH)/dc/dml/,$(DML)) +diff --git a/drivers/gpu/drm/amd/display/dc/dml/display_mode_lib.h b/drivers/gpu/drm/amd/display/dc/dml/display_mode_lib.h +index f2331c09fad8..61541c431110 100644 +--- a/drivers/gpu/drm/amd/display/dc/dml/display_mode_lib.h ++++ b/drivers/gpu/drm/amd/display/dc/dml/display_mode_lib.h +@@ -27,7 +27,9 @@ + + + #include "dml_common_defs.h" ++#ifdef CONFIG_DRM_AMD_DC_DCN2_0 + #include "display_mode_vba.h" ++#endif + + enum dml_project { + DML_PROJECT_UNDEFINED, +@@ -37,6 +39,8 @@ enum dml_project { + #endif + }; + ++struct display_mode_lib; ++ + struct dml_funcs { + void (*rq_dlg_get_dlg_reg)( + struct display_mode_lib *mode_lib, +diff --git a/drivers/gpu/drm/amd/display/dc/dml/display_mode_vba.h b/drivers/gpu/drm/amd/display/dc/dml/display_mode_vba.h +index 38fc0ab32d7b..4e0183dd634a 100644 +--- a/drivers/gpu/drm/amd/display/dc/dml/display_mode_vba.h ++++ b/drivers/gpu/drm/amd/display/dc/dml/display_mode_vba.h +@@ -23,6 +23,8 @@ + * + */ + ++#ifdef CONFIG_DRM_AMD_DC_DCN2_0 ++ + #ifndef __DML2_DISPLAY_MODE_VBA_H__ + #define __DML2_DISPLAY_MODE_VBA_H__ + +@@ -847,3 +849,4 @@ double CalculateWriteBackDISPCLK( + unsigned int WritebackChromaLineBufferWidth); + + #endif /* _DML2_DISPLAY_MODE_VBA_H_ */ ++#endif +-- +2.17.1 + |