On Thu, 12 Jun 2025 05:29:55 PDT (-0700), lijo.la...@amd.com wrote:


On 6/11/2025 10:30 AM, Lazar, Lijo wrote:


On 6/11/2025 2:51 AM, Palmer Dabbelt wrote:
From: Palmer Dabbelt <pal...@dabbelt.com>

9KiB frames seem pretty big, but without this I'm getting some warnings
as of 6.16-rc1

      CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu13/smu_v13_0_6_ppt.o
    drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu13/smu_v13_0_6_ppt.c: In function 
'smu_v13_0_6_get_gpu_metrics':
    drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu13/smu_v13_0_6_ppt.c:2885:1: 
error: the frame size of 8304 bytes is larger than 2048 bytes 
[-Werror=frame-larger-than=]
     2885 | }
          | ^
    cc1: all warnings being treated as errors


Could you also provide your build environment details?

With below in Makefile + gcc 11.4.0, stack frame size is 168 bytes.

I'm on GCC 12 on RISC-V (though looks like it showed up somewhere else, too).


ccflags-y += -fstack-usage

smu_v13_0_6_ppt.c:2667:16:smu_v13_0_6_get_gpu_metrics   168     static

Thanks,
Lijo


Was able to see this issue in one of our systems. This patch fixed that
-  https://patchwork.freedesktop.org/patch/658216/

Please try and let me know if it works for your config.

Thanks, I just threw it at the tester. I'll go post a Reviewed-by at https://lore.kernel.org/all/20250612122321.801690-1-lijo.la...@amd.com/ if it works...


Thanks,
Lijo

Signed-off-by: Palmer Dabbelt <pal...@dabbelt.com>
---
 drivers/gpu/drm/amd/pm/swsmu/smu13/Makefile | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu13/Makefile 
b/drivers/gpu/drm/amd/pm/swsmu/smu13/Makefile
index 51f1fa9789ab..9824b7f4827f 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/smu13/Makefile
+++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/Makefile
@@ -23,9 +23,19 @@
 # Makefile for the 'smu manager' sub-component of powerplay.
 # It provides the smu management services for the driver.

+ifneq ($(CONFIG_FRAME_WARN),0)
+    frame_warn_limit := 9216
+    ifeq ($(call test-lt, $(CONFIG_FRAME_WARN), $(frame_warn_limit)),y)
+        frame_warn_flag := -Wframe-larger-than=$(frame_warn_limit)
+    endif
+endif
+
 SMU13_MGR = smu_v13_0.o aldebaran_ppt.o yellow_carp_ppt.o smu_v13_0_0_ppt.o 
smu_v13_0_4_ppt.o \
            smu_v13_0_5_ppt.o smu_v13_0_7_ppt.o smu_v13_0_6_ppt.o 
smu_v13_0_12_ppt.o

 AMD_SWSMU_SMU13MGR = $(addprefix $(AMD_SWSMU_PATH)/smu13/,$(SMU13_MGR))

 AMD_POWERPLAY_FILES += $(AMD_SWSMU_SMU13MGR)
+
+CFLAGS_$(AMD_SWSMU_PATH)/smu13/smu_v13_0_12_ppt.o := $(frame_warn_flag)
+CFLAGS_$(AMD_SWSMU_PATH)/smu13/smu_v13_0_6_ppt.o := $(frame_warn_flag)

Reply via email to