linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Lee Jones <lee.jones@linaro.org>
To: lee.jones@linaro.org
Cc: linux-kernel@vger.kernel.org,
	"Harry Wentland" <harry.wentland@amd.com>,
	"Leo Li" <sunpeng.li@amd.com>,
	"Alex Deucher" <alexander.deucher@amd.com>,
	"Christian König" <christian.koenig@amd.com>,
	"David Airlie" <airlied@linux.ie>,
	"Daniel Vetter" <daniel@ffwll.ch>,
	"Colin Ian King" <colin.king@canonical.com>,
	amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org
Subject: [PATCH 13/40] drm/amd/display/dc/calcs/dce_calcs: Move some large variables from the stack to the heap
Date: Mon, 11 Jan 2021 19:18:59 +0000	[thread overview]
Message-ID: <20210111191926.3688443-14-lee.jones@linaro.org> (raw)
In-Reply-To: <20210111191926.3688443-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  | 21 +++++++++++++++----
 1 file changed, 17 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 158d927c03e55..a0c69fae40ced 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,14 @@ static void calculate_bandwidth(
 	int32_t number_of_displays_enabled_with_margin = 0;
 	int32_t number_of_aligned_displays_with_no_margin = 0;
 
+	yclk = kzalloc(sizeof(*yclk) * 3, GFP_KERNEL);
+	sclk = kzalloc(sizeof(*sclk) * 8, GFP_KERNEL);
+
+	tiling_mode = kzalloc(sizeof(*tiling_mode) *
+			      maximum_number_of_surfaces, GFP_KERNEL);
+	surface_type = kzalloc(sizeof(*surface_type) *
+			       maximum_number_of_surfaces, GFP_KERNEL);
+
 	yclk[low] = vbios->low_yclk;
 	yclk[mid] = vbios->mid_yclk;
 	yclk[high] = vbios->high_yclk;
@@ -2013,6 +2021,11 @@ static void calculate_bandwidth(
 			}
 		}
 	}
+
+	kfree(tiling_mode);
+	kfree(surface_type);
+	kfree(yclk);
+	kfree(sclk);
 }
 
 /*******************************************************************************
-- 
2.25.1


  parent reply	other threads:[~2021-01-11 19:24 UTC|newest]

Thread overview: 79+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-11 19:18 [PATCH 00/40] [Set 12] Rid W=1 warnings from GPU Lee Jones
2021-01-11 19:18 ` [PATCH 01/40] drm/amd/display/dc/dce/dce_aux: Mark 'dce_aux_transfer_raw' as __maybe_unused Lee Jones
2021-01-12 21:57   ` Alex Deucher
2021-01-11 19:18 ` [PATCH 02/40] drm/amd/display/dc/dce/dce_link_encoder: Remove unused variable 'value0' Lee Jones
2021-01-12 21:58   ` Alex Deucher
2021-01-11 19:18 ` [PATCH 03/40] drm/amd/display/dc/gpio/hw_ddc: Remove unused variable 'reg2' Lee Jones
2021-01-11 19:18 ` [PATCH 04/40] drm/amd/display/dc/dce/dce_opp: Demote non-compliant kernel-doc headers Lee Jones
2021-01-12 22:00   ` Alex Deucher
2021-01-11 19:18 ` [PATCH 05/40] drm/amd/display/dc/dce/dce_transform: Demote kernel-doc abuse Lee Jones
2021-01-12 22:01   ` Alex Deucher
2021-01-11 19:18 ` [PATCH 06/40] drm/amd/display/dc/gpio/diagnostics/hw_translate_diag: Include our own header containing prototypes Lee Jones
2021-01-12 22:01   ` Alex Deucher
2021-01-11 19:18 ` [PATCH 07/40] drm/amd/display/dc/irq/irq_service: Make local function static Lee Jones
2021-01-12 22:02   ` Alex Deucher
2021-01-11 19:18 ` [PATCH 08/40] drm/amd/display/dc/gpio/diagnostics/hw_factory_diag: Fix struct declared inside parameter list error Lee Jones
2021-01-12 22:03   ` Alex Deucher
2021-01-11 19:18 ` [PATCH 09/40] drm/amd/display/dc/gpio/diagnostics/hw_factory_diag: Include our own header containing prototypes Lee Jones
2021-01-12 22:04   ` Alex Deucher
2021-01-11 19:18 ` [PATCH 10/40] drm/amd/display/dc/dce120/dce120_hw_sequencer: Encompass defines in same clause as their use Lee Jones
2021-01-12 22:06   ` Alex Deucher
2021-01-11 19:18 ` [PATCH 11/40] drm/amd/display/dc/dce120/dce120_timing_generator: Lee Jones
2021-01-12 22:10   ` Alex Deucher
2021-01-11 19:18 ` [PATCH 12/40] drm/amd/display/dc/dce120/Makefile: Ignore -Woverride-init warning Lee Jones
2021-01-12 22:13   ` Alex Deucher
2021-01-11 19:18 ` Lee Jones [this message]
2021-01-12 13:44   ` [PATCH 13/40] drm/amd/display/dc/calcs/dce_calcs: Move some large variables from the stack to the heap Lee Jones
2021-01-11 19:19 ` [PATCH 14/40] drm/amd/display/dc/calcs/dce_calcs: Remove some large variables from the stack Lee Jones
2021-01-12 13:43   ` Lee Jones
2021-01-11 19:19 ` [PATCH 15/40] drm/amd/display/dc/dce120/dce120_resource: Staticify local functions Lee Jones
2021-01-12 22:13   ` Alex Deucher
2021-01-11 19:19 ` [PATCH 16/40] drm/amd/display/dc/dce120/dce120_timing_generator: Demote non-kerneldoc headers Lee Jones
2021-01-12 22:14   ` Alex Deucher
2021-01-11 19:19 ` [PATCH 17/40] drm/amd/display/dc/dce/dce_aux: Remove duplicate line causing 'field overwritten' issue Lee Jones
2021-01-12 22:15   ` Alex Deucher
2021-01-11 19:19 ` [PATCH 18/40] drm/amd/display/dc/dce112/Makefile: Ignore -Woverride-init warning Lee Jones
2021-01-12 22:16   ` Alex Deucher
2021-01-11 19:19 ` [PATCH 19/40] drm/amd/display/dc/dce/dce_opp: Remove duplicate entries causing 'field overwritten' issues Lee Jones
2021-01-12 22:17   ` Alex Deucher
2021-01-11 19:19 ` [PATCH 20/40] drm/amd/display/dc/dce110/dce110_timing_generator: Remove unused variable 'value_crtc_vtotal' Lee Jones
2021-01-12 22:18   ` Alex Deucher
2021-01-11 19:19 ` [PATCH 21/40] drm/amd/display/dc/dce110/dce110_compressor: Remove unused function 'dce110_get_required_compressed_surfacesize Lee Jones
2021-01-12 22:20   ` Alex Deucher
2021-01-11 19:19 ` [PATCH 22/40] drm/amd/display/dc/dce110/dce110_hw_sequencer: Demote non-conformant kernel-doc header Lee Jones
2021-01-12 22:21   ` Alex Deucher
2021-01-11 19:19 ` [PATCH 23/40] drm/amd/display/dc/dce110/dce110_mem_input_v: Make local functions static Lee Jones
2021-01-12 22:25   ` Alex Deucher
2021-01-11 19:19 ` [PATCH 24/40] drm/amd/pm/swsmu/smu11/vangogh_ppt: Make local function 'vangogh_clk_dpm_is_enabled' static Lee Jones
2021-01-12 22:25   ` Alex Deucher
2021-01-11 19:19 ` [PATCH 25/40] drm/amd/display/dc/dce120/dce120_timing_generator: Remove unused function 'dce120_timing_generator_get_position' Lee Jones
2021-01-12 22:26   ` Alex Deucher
2021-01-11 19:19 ` [PATCH 26/40] drm/amd/display/dc/dce110/dce110_timing_generator: Demote kernel-doc abuses to standard function headers Lee Jones
2021-01-12 22:29   ` Alex Deucher
2021-01-11 19:19 ` [PATCH 27/40] drm/amd/display/dc/dce110/dce110_compressor: Strip out unused function 'controller_id_to_index' Lee Jones
2021-01-12 22:30   ` Alex Deucher
2021-01-11 19:19 ` [PATCH 28/40] drm/amd/display/dc/calcs/dce_calcs: Demote non-conformant kernel-doc function headers Lee Jones
2021-01-14 17:00   ` Alex Deucher
2021-01-11 19:19 ` [PATCH 29/40] drm/amd/display/dc/dce112/dce112_resource: Make local functions and ones called by reference static Lee Jones
2021-01-12 22:32   ` Alex Deucher
2021-01-11 19:19 ` [PATCH 30/40] drm/amd/display/dc/dce110/dce110_timing_generator_v: Demote kernel-doc abuse and line up comments Lee Jones
2021-01-12 22:33   ` Alex Deucher
2021-01-11 19:19 ` [PATCH 31/40] drm/amd/display/dc/dce110/dce110_mem_input_v: Include our own header, containing prototypes Lee Jones
2021-01-12 22:34   ` Alex Deucher
2021-01-11 19:19 ` [PATCH 32/40] drm/amd/display/dc/dce110/Makefile: Ignore -Woverride-init warning Lee Jones
2021-01-12 22:35   ` Alex Deucher
2021-01-11 19:19 ` [PATCH 33/40] drm/amd/display/dc/dce110/dce110_resource: Make local functions invoked by reference static Lee Jones
2021-01-12 22:36   ` Alex Deucher
2021-01-11 19:19 ` [PATCH 34/40] drm/amd/display/dc/dce110/dce110_transform_v: Demote kernel-doc abuse Lee Jones
2021-01-12 22:37   ` Alex Deucher
2021-01-11 19:19 ` [PATCH 35/40] drm/amd/display/dc/dce60/dce60_timing_generator: Make 'dce60_configure_crc' invoked by reference static Lee Jones
2021-01-12 22:37   ` Alex Deucher
2021-01-11 19:19 ` [PATCH 36/40] drm/amd/display/dc/dce100/dce100_resource: Make local functions and ones called " Lee Jones
2021-01-12 22:38   ` Alex Deucher
2021-01-11 19:19 ` [PATCH 37/40] drm/amd/display/dc/dce60/dce60_resource: Make local functions static Lee Jones
2021-01-12 22:39   ` Alex Deucher
2021-01-11 19:19 ` [PATCH 38/40] drm/amd/display/dc/dce80/dce80_resource: " Lee Jones
2021-01-11 19:19 ` [PATCH 39/40] drm/amd/display/dc/core/dc_surface: Demote kernel-doc abuse Lee Jones
2021-01-12 22:41   ` Alex Deucher
2021-01-11 19:19 ` [PATCH 40/40] drm/amd/display/dc/core/dc_stream: Demote non-conformant kernel-doc headers Lee Jones
2021-01-12 22:42   ` Alex Deucher

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=20210111191926.3688443-14-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=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=harry.wentland@amd.com \
    --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).