| 1 | # SPDX-License-Identifier: MIT |
| 2 | # Copyright © 2019-2024 Advanced Micro Devices, Inc. All rights reserved. |
| 3 | |
| 4 | menu "Display Engine Configuration" |
| 5 | depends on DRM && DRM_AMDGPU |
| 6 | |
| 7 | config DRM_AMD_DC |
| 8 | bool "AMD DC - Enable new display engine" |
| 9 | default y |
| 10 | depends on BROKEN || !CC_IS_CLANG || ARM64 || LOONGARCH || RISCV || SPARC64 || X86_64 |
| 11 | select CEC_CORE |
| 12 | select CEC_NOTIFIER |
| 13 | select SND_HDA_COMPONENT if SND_HDA_CORE |
| 14 | # !CC_IS_CLANG: https://github.com/ClangBuiltLinux/linux/issues/1752 |
| 15 | select DRM_AMD_DC_FP if ARCH_HAS_KERNEL_FPU_SUPPORT && !(CC_IS_CLANG && (ARM64 || LOONGARCH || RISCV)) |
| 16 | help |
| 17 | Choose this option if you want to use the new display engine |
| 18 | support for AMDGPU. This adds required support for Vega and |
| 19 | Raven ASICs. |
| 20 | |
| 21 | calculate_bandwidth() is presently broken on all !(X86_64 || SPARC64 || |
| 22 | ARM64 || LOONGARCH || RISCV) architectures built with Clang (all released |
| 23 | versions), whereby the stack frame gets blown up to well over 5k. This |
| 24 | would cause an immediate kernel panic on most architectures. We'll revert |
| 25 | this when the following bug report has been resolved: |
| 26 | https://github.com/llvm/llvm-project/issues/41896. |
| 27 | |
| 28 | config DRM_AMD_DC_FP |
| 29 | def_bool n |
| 30 | help |
| 31 | Floating point support, required for DCN-based SoCs |
| 32 | |
| 33 | config DRM_AMD_DC_SI |
| 34 | bool "AMD DC support for Southern Islands ASICs" |
| 35 | depends on DRM_AMDGPU_SI |
| 36 | depends on DRM_AMD_DC |
| 37 | help |
| 38 | Choose this option to enable new AMD DC support for SI asics |
| 39 | by default. This includes Tahiti, Pitcairn, Cape Verde, Oland. |
| 40 | Hainan is not supported by AMD DC and it has no physical DCE6. |
| 41 | |
| 42 | config DEBUG_KERNEL_DC |
| 43 | bool "Enable kgdb break in DC" |
| 44 | depends on DRM_AMD_DC |
| 45 | depends on KGDB |
| 46 | help |
| 47 | Choose this option if you want to hit kdgb_break in assert. |
| 48 | |
| 49 | config DRM_AMD_SECURE_DISPLAY |
| 50 | bool "Enable secure display support" |
| 51 | depends on DEBUG_FS |
| 52 | depends on DRM_AMD_DC_FP |
| 53 | help |
| 54 | Choose this option if you want to support secure display |
| 55 | |
| 56 | This option enables the calculation of crc of specific region via |
| 57 | debugfs. Cooperate with specific DMCU FW. |
| 58 | |
| 59 | config DRM_AMD_DC_KUNIT_TEST |
| 60 | tristate "KUnit tests for the AMD DC display driver" if !KUNIT_ALL_TESTS |
| 61 | depends on DRM_AMD_DC && KUNIT && DEBUG_FS && DRM_KUNIT_TEST_HELPERS |
| 62 | default KUNIT_ALL_TESTS |
| 63 | help |
| 64 | This option enables KUnit tests for the AMD Display Core driver. |
| 65 | These tests validate core functionality like CRC source parsing, |
| 66 | color management, and other utility functions. |
| 67 | |
| 68 | For more information on KUnit and unit tests in general, please |
| 69 | refer to the KUnit documentation in Documentation/dev-tools/kunit/. |
| 70 | |
| 71 | endmenu |