Commit 4217ef9a authored by Huacai Chen's avatar Huacai Chen Committed by Alex Deucher
Browse files

drm/amd/display: Allow building DC with clang on LoongArch



Clang on LoongArch (18+) appears to be unaffected by the bug causing
excessive stack usage in calculate_bandwidth(). But when building DC_FP
support the stack frame size can be as large as 2816 bytes, which causes
the FRAME_WARN build warnings. So on LoongArch we allow building DC with
clang, but disable DC_FP by default.

The help message is also updated.

Tested-by: default avatarRui Wang <wangrui@loongson.cn>
Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 2bc96c95
Loading
Loading
Loading
Loading
+8 −7
Original line number Diff line number Diff line
@@ -7,20 +7,21 @@ menu "Display Engine Configuration"
config DRM_AMD_DC
	bool "AMD DC - Enable new display engine"
	default y
	depends on BROKEN || !CC_IS_CLANG || ARM64 || RISCV || SPARC64 || X86_64
	depends on BROKEN || !CC_IS_CLANG || ARM64 || LOONGARCH || 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 ARCH_HAS_KERNEL_FPU_SUPPORT && !(CC_IS_CLANG && (ARM64 || RISCV))
	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)
	  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.
	  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