dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
From: Alex Deucher <alexdeucher@gmail.com>
To: Harry Wentland <harry.wentland@amd.com>
Cc: "Leo Li" <sunpeng.li@amd.com>,
	"Harry Wentland" <hwentlan@amd.com>,
	LKML <linux-kernel@vger.kernel.org>,
	"Maling list - DRI developers" <dri-devel@lists.freedesktop.org>,
	"Kazlauskas, Nicholas" <nicholas.kazlauskas@amd.com>,
	"David Airlie" <airlied@linux.ie>,
	"amd-gfx list" <amd-gfx@lists.freedesktop.org>,
	"Alex Deucher" <alexander.deucher@amd.com>,
	"Colin Ian King" <colin.king@canonical.com>,
	"Lee Jones" <lee.jones@linaro.org>,
	"Christian König" <christian.koenig@amd.com>
Subject: Re: [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 14:31:21 -0400	[thread overview]
Message-ID: <CADnq5_OrwEo0uoFhXyRRtf9cxN6z++fFVrniW8421Rbu8ZjfjQ@mail.gmail.com> (raw)
In-Reply-To: <2ec1225f-4bf1-41b7-0d00-2b11eab90c94@amd.com>

On Fri, Mar 19, 2021 at 2:26 PM Harry Wentland <harry.wentland@amd.com> wrote:
>
> On 2021-03-19 2:13 p.m., Alex Deucher wrote:
> > + Harry, Nick
> >
> > On Fri, Mar 19, 2021 at 4:24 AM Lee Jones <lee.jones@linaro.org> wrote:
> >>
> >> 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;
> >> +
> >
> >
> > Harry or Nick can correct me if I'm wrong, but for this patch and the
> > next one, I think this can be called from an atomic context.
> >
>
>  From what I can see this doesn't seem the case. If I'm missing
> something someone please correct me.
>
> This and the next (06/19) patch are both
> Reviewed-by: Harry Wentland <harry.wentland@amd.com>

Thanks.  I've applied them.

Alex


>
> Harry
>
> > Alex
> >
> >>          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>
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2021-03-19 18:31 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 ` [PATCH 06/19] drm/amd/display/dc/calcs/dce_calcs: Move some large variables from the stack to the heap Lee Jones
2021-03-19 18:13   ` Alex Deucher
2021-03-19 18:26     ` Harry Wentland
2021-03-19 18:31       ` Alex Deucher [this message]
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=CADnq5_OrwEo0uoFhXyRRtf9cxN6z++fFVrniW8421Rbu8ZjfjQ@mail.gmail.com \
    --to=alexdeucher@gmail.com \
    --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=harry.wentland@amd.com \
    --cc=hwentlan@amd.com \
    --cc=lee.jones@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nicholas.kazlauskas@amd.com \
    --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).