mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-26 11:05:11 +07:00
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>
This commit is contained in:
parent
10b3aa5eb1
commit
776c1f569f
@ -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))
|
||||
|
@ -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,
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user