| # SPDX-License-Identifier: MIT | |
| # Copyright © 2019-2024 Advanced Micro Devices, Inc. All rights reserved. | |
| menu "Display Engine Configuration" | |
| depends on DRM && DRM_AMDGPU | |
| config DRM_AMD_DC | |
| bool "AMD DC - Enable new display engine" | |
| default y | |
| depends on BROKEN || !CC_IS_CLANG || ARM64 || LOONGARCH || RISCV || SPARC64 || X86_64 | |
| select CEC_CORE | |
| select CEC_NOTIFIER | |
| select SND_HDA_COMPONENT if SND_HDA_CORE | |
| # !CC_IS_CLANG: https://github.com/ClangBuiltLinux/linux/issues/1752 | |
| select DRM_AMD_DC_FP if ARCH_HAS_KERNEL_FPU_SUPPORT && !(CC_IS_CLANG && (ARM64 || LOONGARCH || RISCV)) | |
| help | |
| Choose this option if you want to use the new display engine | |
| support for AMDGPU. This adds required support for Vega and | |
| Raven ASICs. | |
| calculate_bandwidth() is presently broken on all !(X86_64 || SPARC64 || | |
| ARM64 || LOONGARCH || RISCV) architectures built with Clang (all released | |
| versions), whereby the stack frame gets blown up to well over 5k. This | |
| would cause an immediate kernel panic on most architectures. We'll revert | |
| this when the following bug report has been resolved: | |
| https://github.com/llvm/llvm-project/issues/41896. | |
| config DRM_AMD_DC_FP | |
| def_bool n | |
| help | |
| Floating point support, required for DCN-based SoCs | |
| config DRM_AMD_DC_SI | |
| bool "AMD DC support for Southern Islands ASICs" | |
| depends on DRM_AMDGPU_SI | |
| depends on DRM_AMD_DC | |
| depends on DRM_AMD_DC_DCE | |
| help | |
| Choose this option to enable new AMD DC support for SI asics | |
| by default. This includes Tahiti, Pitcairn, Cape Verde, Oland. | |
| Hainan is not supported by AMD DC and it has no physical DCE6. | |
| config DRM_AMD_DC_DCE | |
| bool "AMD DC support for legacy DCE ASICs" | |
| default y | |
| depends on DRM_AMD_DC | |
| help | |
| Enable support for the legacy DCE (DCE 8/10/11/12) display engines. | |
| Enabled by default so DC keeps support for these older ASICs. | |
| config DEBUG_KERNEL_DC | |
| bool "Enable kgdb break in DC" | |
| depends on DRM_AMD_DC | |
| depends on KGDB | |
| help | |
| Choose this option if you want to hit kdgb_break in assert. | |
| config DRM_AMD_SECURE_DISPLAY | |
| bool "Enable secure display support" | |
| depends on DEBUG_FS | |
| depends on DRM_AMD_DC_FP | |
| help | |
| Choose this option if you want to support secure display | |
| This option enables the calculation of crc of specific region via | |
| debugfs. Cooperate with specific DMCU FW. | |
| config DRM_AMD_DC_KUNIT_TEST | |
| tristate "KUnit tests for the AMD DC display driver" if !KUNIT_ALL_TESTS | |
| depends on DRM_AMD_DC && KUNIT && DEBUG_FS | |
| select DRM_KUNIT_TEST_HELPERS | |
| default KUNIT_ALL_TESTS | |
| help | |
| This option enables KUnit tests for the AMD Display Core driver. | |
| These tests validate core functionality like CRC source parsing, | |
| color management, and other utility functions. | |
| For more information on KUnit and unit tests in general, please | |
| refer to the KUnit documentation in Documentation/dev-tools/kunit/. | |
| endmenu |