mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 01:53:29 +02:00
drm/amd/pm: Use pointer type for typecheck()
typecheck creates local variables based on the type passed. That could result in stack frame size warnings like below in certain configs: 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=] Checking against the pointer type is sufficient for the purpose of getting a diagnostic message during build time. Signed-off-by: Lijo Lazar <lijo.lazar@amd.com> Reviewed-by: Palmer Dabbelt <palmer@dabbelt.com> Tested-by: Palmer Dabbelt <palmer@dabbelt.com> Link: https://lore.kernel.org/r/20250610212141.19445-1-palmer@dabbelt.com Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
594a774dc2
commit
b49e3d7ca7
|
|
@ -40,28 +40,29 @@
|
|||
#define SMU_IH_INTERRUPT_CONTEXT_ID_FAN_ABNORMAL 0x8
|
||||
#define SMU_IH_INTERRUPT_CONTEXT_ID_FAN_RECOVERY 0x9
|
||||
|
||||
#define smu_cmn_init_soft_gpu_metrics(ptr, frev, crev) \
|
||||
do { \
|
||||
typecheck(struct gpu_metrics_v##frev##_##crev, \
|
||||
typeof(*(ptr))); \
|
||||
struct metrics_table_header *header = \
|
||||
(struct metrics_table_header *)(ptr); \
|
||||
memset(header, 0xFF, sizeof(*(ptr))); \
|
||||
header->format_revision = frev; \
|
||||
header->content_revision = crev; \
|
||||
header->structure_size = sizeof(*(ptr)); \
|
||||
#define smu_cmn_init_soft_gpu_metrics(ptr, frev, crev) \
|
||||
do { \
|
||||
typecheck(struct gpu_metrics_v##frev##_##crev *, (ptr)); \
|
||||
struct gpu_metrics_v##frev##_##crev *tmp = (ptr); \
|
||||
struct metrics_table_header *header = \
|
||||
(struct metrics_table_header *)tmp; \
|
||||
memset(header, 0xFF, sizeof(*tmp)); \
|
||||
header->format_revision = frev; \
|
||||
header->content_revision = crev; \
|
||||
header->structure_size = sizeof(*tmp); \
|
||||
} while (0)
|
||||
|
||||
#define smu_cmn_init_partition_metrics(ptr, frev, crev) \
|
||||
do { \
|
||||
typecheck(struct amdgpu_partition_metrics_v##frev##_##crev, \
|
||||
typeof(*(ptr))); \
|
||||
struct metrics_table_header *header = \
|
||||
(struct metrics_table_header *)(ptr); \
|
||||
memset(header, 0xFF, sizeof(*(ptr))); \
|
||||
header->format_revision = frev; \
|
||||
header->content_revision = crev; \
|
||||
header->structure_size = sizeof(*(ptr)); \
|
||||
#define smu_cmn_init_partition_metrics(ptr, fr, cr) \
|
||||
do { \
|
||||
typecheck(struct amdgpu_partition_metrics_v##fr##_##cr *, \
|
||||
(ptr)); \
|
||||
struct amdgpu_partition_metrics_v##fr##_##cr *tmp = (ptr); \
|
||||
struct metrics_table_header *header = \
|
||||
(struct metrics_table_header *)tmp; \
|
||||
memset(header, 0xFF, sizeof(*tmp)); \
|
||||
header->format_revision = fr; \
|
||||
header->content_revision = cr; \
|
||||
header->structure_size = sizeof(*tmp); \
|
||||
} while (0)
|
||||
|
||||
extern const int link_speed[];
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user