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

Alex Deucher alexdeucher at gmail.com
Mon Nov 18 15:24:09 UTC 2024


Applied.  Thanks.

Alex

On Fri, Nov 15, 2024 at 8:19 PM Huacai Chen <chenhuacai at 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 at loongson.cn>
> Signed-off-by: Huacai Chen <chenhuacai at 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
>


More information about the dri-devel mailing list