# SPDX-License-Identifier: MIT
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 || RISCV || SPARC64 || X86_64
	select SND_HDA_COMPONENT if SND_HDA_CORE
	# !CC_IS_CLANG: https://github.com/ClangBuiltLinux/linux/issues/1752
	select DRM_AMD_DC_FP if (X86 || LOONGARCH || (PPC64 && ALTIVEC) || (ARM64 && KERNEL_MODE_NEON && !CC_IS_CLANG))
	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)
	  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
	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 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.

endmenu