Message ID | 20241115150225.2812054-1-chenhuacai@loongson.cn (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/amd/display: Allow building DC with clang on LoongArch | expand |
Applied. Thanks. Alex On Fri, Nov 15, 2024 at 8:19 PM Huacai Chen <chenhuacai@loongson.cn> wrote: > > 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: Rui Wang <wangrui@loongson.cn> > Signed-off-by: Huacai Chen <chenhuacai@loongson.cn> > --- > drivers/gpu/drm/amd/display/Kconfig | 15 ++++++++------- > 1 file changed, 8 insertions(+), 7 deletions(-) > > diff --git a/drivers/gpu/drm/amd/display/Kconfig b/drivers/gpu/drm/amd/display/Kconfig > index df17e79c45c7..11e3f2f3b174 100644 > --- a/drivers/gpu/drm/amd/display/Kconfig > +++ b/drivers/gpu/drm/amd/display/Kconfig > @@ -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 > -- > 2.43.5 >
diff --git a/drivers/gpu/drm/amd/display/Kconfig b/drivers/gpu/drm/amd/display/Kconfig index df17e79c45c7..11e3f2f3b174 100644 --- a/drivers/gpu/drm/amd/display/Kconfig +++ b/drivers/gpu/drm/amd/display/Kconfig @@ -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