From: Lee Jones <lee.jones@linaro.org>
To: lee.jones@linaro.org
Cc: "Leo Li" <sunpeng.li@amd.com>,
linux-kernel@vger.kernel.org, amd-gfx@lists.freedesktop.org,
"David Airlie" <airlied@linux.ie>,
dri-devel@lists.freedesktop.org,
"Alex Deucher" <alexander.deucher@amd.com>,
"Colin Ian King" <colin.king@canonical.com>,
"Christian König" <christian.koenig@amd.com>
Subject: [PATCH 06/19] drm/amd/display/dc/calcs/dce_calcs: Move some large variables from the stack to the heap
Date: Fri, 19 Mar 2021 08:24:15 +0000 [thread overview]
Message-ID: <20210319082428.3294591-7-lee.jones@linaro.org> (raw)
In-Reply-To: <20210319082428.3294591-1-lee.jones@linaro.org>
Fixes the following W=1 kernel build warning(s):
drivers/gpu/drm/amd/amdgpu/../display/dc/calcs/dce_calcs.c: In function ‘calculate_bandwidth’:
drivers/gpu/drm/amd/amdgpu/../display/dc/calcs/dce_calcs.c:2016:1: warning: the frame size of 1216 bytes is larger than 1024 bytes [-Wframe-larger-than=]
Cc: Harry Wentland <harry.wentland@amd.com>
Cc: Leo Li <sunpeng.li@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: "Christian König" <christian.koenig@amd.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Colin Ian King <colin.king@canonical.com>
Cc: amd-gfx@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
.../gpu/drm/amd/display/dc/calcs/dce_calcs.c | 32 ++++++++++++++++---
1 file changed, 28 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c b/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c
index e633f8a51edb6..9d8f2505a61c2 100644
--- a/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c
+++ b/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c
@@ -98,16 +98,16 @@ static void calculate_bandwidth(
int32_t num_cursor_lines;
int32_t i, j, k;
- struct bw_fixed yclk[3];
- struct bw_fixed sclk[8];
+ struct bw_fixed *yclk;
+ struct bw_fixed *sclk;
bool d0_underlay_enable;
bool d1_underlay_enable;
bool fbc_enabled;
bool lpt_enabled;
enum bw_defines sclk_message;
enum bw_defines yclk_message;
- enum bw_defines tiling_mode[maximum_number_of_surfaces];
- enum bw_defines surface_type[maximum_number_of_surfaces];
+ enum bw_defines *tiling_mode;
+ enum bw_defines *surface_type;
enum bw_defines voltage;
enum bw_defines pipe_check;
enum bw_defines hsr_check;
@@ -122,6 +122,22 @@ static void calculate_bandwidth(
int32_t number_of_displays_enabled_with_margin = 0;
int32_t number_of_aligned_displays_with_no_margin = 0;
+ yclk = kcalloc(3, sizeof(*yclk), GFP_KERNEL);
+ if (!yclk)
+ return;
+
+ sclk = kcalloc(8, sizeof(*sclk), GFP_KERNEL);
+ if (!sclk)
+ goto free_yclk;
+
+ tiling_mode = kcalloc(maximum_number_of_surfaces, sizeof(*tiling_mode), GFP_KERNEL);
+ if (!tiling_mode)
+ goto free_sclk;
+
+ surface_type = kcalloc(maximum_number_of_surfaces, sizeof(*surface_type), GFP_KERNEL);
+ if (!surface_type)
+ goto free_tiling_mode;
+
yclk[low] = vbios->low_yclk;
yclk[mid] = vbios->mid_yclk;
yclk[high] = vbios->high_yclk;
@@ -2013,6 +2029,14 @@ static void calculate_bandwidth(
}
}
}
+
+ kfree(surface_type);
+free_tiling_mode:
+ kfree(tiling_mode);
+free_yclk:
+ kfree(yclk);
+free_sclk:
+ kfree(sclk);
}
/*******************************************************************************
--
2.27.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2021-03-19 8:24 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-19 8:24 [RESEND 00/19] Rid GPU from W=1 warnings Lee Jones
2021-03-19 8:24 ` [PATCH 01/19] drm/nouveau/nvkm/subdev/bios/init: Demote obvious abuse of kernel-doc Lee Jones
2021-03-19 9:54 ` Karol Herbst
2021-03-19 8:24 ` [PATCH 02/19] drm/nouveau/dispnv50/disp: Remove unused variable 'ret' Lee Jones
2021-03-19 8:24 ` [PATCH 03/19] drm/msm/dp/dp_display: Remove unused variable 'hpd' Lee Jones
2021-03-19 8:24 ` [PATCH 04/19] include: drm: drm_atomic: Make use of 'new_plane_state' Lee Jones
2021-03-19 13:52 ` Ville Syrjälä
2021-03-19 8:24 ` [PATCH 05/19] drm/nouveau/nvkm/subdev/volt/gk20a: Demote non-conformant kernel-doc headers Lee Jones
2021-03-19 9:55 ` Karol Herbst
2021-03-19 8:24 ` Lee Jones [this message]
2021-03-19 18:13 ` [PATCH 06/19] drm/amd/display/dc/calcs/dce_calcs: Move some large variables from the stack to the heap Alex Deucher
2021-03-19 18:26 ` Harry Wentland
2021-03-19 18:31 ` Alex Deucher
2021-03-19 18:46 ` Christian König
2021-03-19 19:31 ` Alex Deucher
2021-03-19 8:24 ` [PATCH 07/19] drm/amd/display/dc/calcs/dce_calcs: Remove some large variables from the stack Lee Jones
2021-03-19 8:24 ` [PATCH 08/19] drm/amd/display/dc/dce80/dce80_resource: Make local functions static Lee Jones
2021-03-19 18:24 ` Alex Deucher
2021-03-19 18:25 ` Harry Wentland
2021-03-19 8:24 ` [PATCH 09/19] drm/nouveau/nvkm/engine/gr/gf100: Demote non-conformant kernel-doc header Lee Jones
2021-03-19 9:55 ` Karol Herbst
2021-03-19 8:24 ` [PATCH 10/19] drm/nouveau/nouveau_bo: Remove unused variables 'dev' Lee Jones
2021-03-19 9:56 ` Karol Herbst
2021-03-19 8:24 ` [PATCH 11/19] drm/nouveau/nouveau_display: Remove set but unused variable 'width' Lee Jones
2021-03-19 8:24 ` [PATCH 12/19] drm/nouveau/dispnv04/crtc: Demote non-conforming kernel-doc headers Lee Jones
2021-03-19 9:57 ` Karol Herbst
2021-03-19 8:24 ` [PATCH 13/19] drm/nouveau/dispnv50/disp: Remove unused variable 'ret' from function returning void Lee Jones
2021-03-19 8:24 ` [PATCH 14/19] drm/nouveau/dispnv50/headc57d: Make local function 'headc57d_olut' static Lee Jones
2021-03-19 9:58 ` Karol Herbst
2021-03-19 17:36 ` Lyude Paul
2021-03-19 8:24 ` [PATCH 15/19] drm/nouveau/nv50_display: Remove superfluous prototype for local static functions Lee Jones
2021-03-19 9:56 ` Karol Herbst
2021-03-19 8:24 ` [PATCH 16/19] drm/nouveau/dispnv50/disp: Include header containing our prototypes Lee Jones
2021-03-19 8:24 ` [PATCH 17/19] drm/nouveau/nouveau_ioc32: File headers are not good candidates for kernel-doc Lee Jones
2021-03-19 9:57 ` Karol Herbst
2021-03-19 8:24 ` [PATCH 18/19] drm/nouveau/nouveau_svm: Remove unused variable 'ret' from void function Lee Jones
2021-03-19 8:24 ` [PATCH 19/19] drm/nouveau/nouveau_ioc32: Demote kernel-doc abuse to standard comment block Lee Jones
2021-03-19 9:57 ` Karol Herbst
2021-03-24 10:36 ` [RESEND 00/19] Rid GPU from W=1 warnings Lee Jones
2021-03-30 15:19 ` Lee Jones
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210319082428.3294591-7-lee.jones@linaro.org \
--to=lee.jones@linaro.org \
--cc=airlied@linux.ie \
--cc=alexander.deucher@amd.com \
--cc=amd-gfx@lists.freedesktop.org \
--cc=christian.koenig@amd.com \
--cc=colin.king@canonical.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=linux-kernel@vger.kernel.org \
--cc=sunpeng.li@amd.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).