.. | .. |
---|
1 | 1 | # |
---|
2 | 2 | # Copyright 2017 Advanced Micro Devices, Inc. |
---|
| 3 | +# Copyright 2019 Raptor Engineering, LLC |
---|
3 | 4 | # |
---|
4 | 5 | # Permission is hereby granted, free of charge, to any person obtaining a |
---|
5 | 6 | # copy of this software and associated documentation files (the "Software"), |
---|
.. | .. |
---|
24 | 25 | # It provides the general basic services required by other DAL |
---|
25 | 26 | # subcomponents. |
---|
26 | 27 | |
---|
27 | | -ifneq ($(call cc-option, -mpreferred-stack-boundary=4),) |
---|
28 | | - cc_stack_align := -mpreferred-stack-boundary=4 |
---|
29 | | -else ifneq ($(call cc-option, -mstack-alignment=16),) |
---|
30 | | - cc_stack_align := -mstack-alignment=16 |
---|
| 28 | +ifdef CONFIG_X86 |
---|
| 29 | +dml_ccflags := -mhard-float -msse |
---|
31 | 30 | endif |
---|
32 | 31 | |
---|
33 | | -dml_ccflags := -mhard-float -msse $(cc_stack_align) |
---|
| 32 | +ifdef CONFIG_PPC64 |
---|
| 33 | +dml_ccflags := -mhard-float -maltivec |
---|
| 34 | +endif |
---|
34 | 35 | |
---|
35 | | -ifdef CONFIG_CC_IS_CLANG |
---|
| 36 | +ifdef CONFIG_CC_IS_GCC |
---|
| 37 | +ifeq ($(call cc-ifversion, -lt, 0701, y), y) |
---|
| 38 | +IS_OLD_GCC = 1 |
---|
| 39 | +endif |
---|
| 40 | +endif |
---|
| 41 | + |
---|
| 42 | +ifdef CONFIG_X86 |
---|
| 43 | +ifdef IS_OLD_GCC |
---|
| 44 | +# Stack alignment mismatch, proceed with caution. |
---|
| 45 | +# GCC < 7.1 cannot compile code using `double` and -mpreferred-stack-boundary=3 |
---|
| 46 | +# (8B stack alignment). |
---|
| 47 | +dml_ccflags += -mpreferred-stack-boundary=4 |
---|
| 48 | +else |
---|
36 | 49 | dml_ccflags += -msse2 |
---|
37 | 50 | endif |
---|
| 51 | +endif |
---|
38 | 52 | |
---|
39 | | -CFLAGS_display_mode_lib.o := $(dml_ccflags) |
---|
40 | | -CFLAGS_display_pipe_clocks.o := $(dml_ccflags) |
---|
41 | | -CFLAGS_dml1_display_rq_dlg_calc.o := $(dml_ccflags) |
---|
42 | | -CFLAGS_display_rq_dlg_helpers.o := $(dml_ccflags) |
---|
43 | | -CFLAGS_dml_common_defs.o := $(dml_ccflags) |
---|
| 53 | +CFLAGS_$(AMDDALPATH)/dc/dml/display_mode_lib.o := $(dml_ccflags) |
---|
| 54 | + |
---|
| 55 | +ifdef CONFIG_DRM_AMD_DC_DCN |
---|
| 56 | +CFLAGS_$(AMDDALPATH)/dc/dml/display_mode_vba.o := $(dml_ccflags) |
---|
| 57 | +CFLAGS_$(AMDDALPATH)/dc/dml/dcn20/display_mode_vba_20.o := $(dml_ccflags) |
---|
| 58 | +CFLAGS_$(AMDDALPATH)/dc/dml/dcn20/display_rq_dlg_calc_20.o := $(dml_ccflags) |
---|
| 59 | +CFLAGS_$(AMDDALPATH)/dc/dml/dcn20/display_mode_vba_20v2.o := $(dml_ccflags) |
---|
| 60 | +CFLAGS_$(AMDDALPATH)/dc/dml/dcn20/display_rq_dlg_calc_20v2.o := $(dml_ccflags) |
---|
| 61 | +CFLAGS_$(AMDDALPATH)/dc/dml/dcn21/display_mode_vba_21.o := $(dml_ccflags) |
---|
| 62 | +CFLAGS_$(AMDDALPATH)/dc/dml/dcn21/display_rq_dlg_calc_21.o := $(dml_ccflags) |
---|
| 63 | +endif |
---|
| 64 | +ifdef CONFIG_DRM_AMD_DC_DCN3_0 |
---|
| 65 | +CFLAGS_$(AMDDALPATH)/dc/dml/dcn30/display_mode_vba_30.o := $(dml_ccflags) -Wframe-larger-than=2048 |
---|
| 66 | +CFLAGS_$(AMDDALPATH)/dc/dml/dcn30/display_rq_dlg_calc_30.o := $(dml_ccflags) |
---|
| 67 | +endif |
---|
| 68 | +CFLAGS_$(AMDDALPATH)/dc/dml/dml1_display_rq_dlg_calc.o := $(dml_ccflags) |
---|
| 69 | +CFLAGS_$(AMDDALPATH)/dc/dml/display_rq_dlg_helpers.o := $(dml_ccflags) |
---|
44 | 70 | |
---|
45 | 71 | DML = display_mode_lib.o display_rq_dlg_helpers.o dml1_display_rq_dlg_calc.o \ |
---|
46 | | - dml_common_defs.o |
---|
| 72 | + |
---|
| 73 | +ifdef CONFIG_DRM_AMD_DC_DCN |
---|
| 74 | +DML += display_mode_vba.o dcn20/display_rq_dlg_calc_20.o dcn20/display_mode_vba_20.o |
---|
| 75 | +DML += dcn20/display_rq_dlg_calc_20v2.o dcn20/display_mode_vba_20v2.o |
---|
| 76 | +DML += dcn21/display_rq_dlg_calc_21.o dcn21/display_mode_vba_21.o |
---|
| 77 | +endif |
---|
| 78 | + |
---|
| 79 | +ifdef CONFIG_DRM_AMD_DC_DCN3_0 |
---|
| 80 | +DML += dcn30/display_mode_vba_30.o dcn30/display_rq_dlg_calc_30.o |
---|
| 81 | +endif |
---|
47 | 82 | |
---|
48 | 83 | AMD_DAL_DML = $(addprefix $(AMDDALPATH)/dc/dml/,$(DML)) |
---|
49 | 84 | |
---|