Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp1622288pxf; Fri, 19 Mar 2021 11:16:06 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwTSQXXuiS0F9Fb0Jxa63kFh5lMfjqSrBNu3GFsRb5AOuTFHIIGy61nrQmfz2SVnbOqQlFM X-Received: by 2002:a17:906:b2d6:: with SMTP id cf22mr5824214ejb.321.1616177766352; Fri, 19 Mar 2021 11:16:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1616177766; cv=none; d=google.com; s=arc-20160816; b=tF46SD1gXejNIE2aEInhKUBtg3x9WzUG5u4zvJgkPVrm82WJ9cwLCvvtuUCsuL5LE0 nlmnSh8tuD/3DXrOkcQN7ltHm1IyxGWZ7fKeZD8MQLSl1XmaMfWujfsF/ckldVn4T7N5 H/zJ8ESuCf2lx+JU3EozCYuVcB1MtwBJelklXjQO4qs6JD0sw6QIN5F638jhAc+pVIk7 UgvqZteCugZUXUuZB+IhO83Sv8fG3AMpCjMSxB08g/6nFlFHp8Ls611aJcqkl5Qi3w2+ +ko+jIUL2FTPrsxAQsb4vyAybQJPxt4h9mwZE6IRdAyDqdU3KCdJS1kxDH1GRzWLt7ne qR2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=t7kii8i5MvpTK371d7gij4/ROdmy9ZS9dtdrdIgpERw=; b=NNsl3NrLu2+L7EShOXwquMqs4+ytR1wx2YN8iTsVYA+C+ApHf5g5BEPsJqGyO41kki ZxnU235wjF87yFRq4Nat2sSJIiCy9vWSqFZ8RCRCstgC+rKMPXWuj2hyykYbLkRGgMGA 5yPwj6ykN/YJbd9S0LUA4ssmaCSYBgTVDD1emI/7exyTruzZtqD75BFu6OJiPcQWYLSb ySis6VPEM46K5V8uNx7ds4JgNt8w5PJfD29PrTESyvjNpnzR/06KctiOj9eTPApUgquJ bG+Q5aqn0v21+htBFGOdmH10KbLrGWIKn+24R13kUZ2J/pGXk1ZBMNoTTbYvI4jYnTCl WvRg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=tH30REVX; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id de53si4840499ejc.358.2021.03.19.11.15.42; Fri, 19 Mar 2021 11:16:06 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=tH30REVX; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230092AbhCSSOS (ORCPT + 99 others); Fri, 19 Mar 2021 14:14:18 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47456 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230281AbhCSSOL (ORCPT ); Fri, 19 Mar 2021 14:14:11 -0400 Received: from mail-ot1-x331.google.com (mail-ot1-x331.google.com [IPv6:2607:f8b0:4864:20::331]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 26211C06174A for ; Fri, 19 Mar 2021 11:14:11 -0700 (PDT) Received: by mail-ot1-x331.google.com with SMTP id l23-20020a05683004b7b02901b529d1a2fdso9369761otd.8 for ; Fri, 19 Mar 2021 11:14:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=t7kii8i5MvpTK371d7gij4/ROdmy9ZS9dtdrdIgpERw=; b=tH30REVX7GFAAVKCT2DKJGA3jKve8kd/s5uEfAZozZFPLTDcg8nCiuJuMDhw8EylBz QTY8aFlMFr1cjP4EJE5murjfj8zTcEzijciI7ZZOfHavd4iF1idyHTjhYqkksJHjf5R5 GnYxH2DWML8qBdOOsqgfLm0mfUNKxVwB5zVeyAOfX3FEOXCFxS7ewqF72Dn3IAix0eoT w3ZbfvphE8BbUbB+lW4GrE+Wr/vrsx3RVr170DEcrK1VH9/yVs6SqPf9Ti/D3LnmOD6p bDazwTrFeYkd0AHhkDx6BYOPq5QcLofhxVyMEPEYfwtTHJX5+De0oNUTWJ7LSTxFnss3 TmbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=t7kii8i5MvpTK371d7gij4/ROdmy9ZS9dtdrdIgpERw=; b=pL3dY4W50YxEJdYQTWSk7ECDEZZE2aAeUiHlAmUr1K4HMK+HCn5PAC7L8rE5AggAai N271b2TBMYgoUu8zlmrJC7P/1VrPbPeOFDOJtpRquuLD7uDTY3vLe5zIjzyORU5/YSIU 2S3VGy2lqjOs1hS0qVK/ANW43BJV5qaI3+mSx4elotxPfNl2yySpCIjg2C8XoH/M6F+S 73+6sWhAt0y971KMXggoUN4eUkcxek5aFYUR4UCXFOQYYZ6UmM+h+7az3zjno6rkey4i uOMH8WVcPYn9fzgIXZDGpIsFYP0jYwZDFZJXH3lnHfddXY8PXz19aXGsojhAdT1phVkq OPyQ== X-Gm-Message-State: AOAM533EVKgxN8tLxEyDPm/2XEo559ez07iZsgurR7kgZ91kwEwc3lKN 7IIPwUHopWbBRzwBM7me0kUzQ1sGoTK/yWnPh7q03K0Q5E8= X-Received: by 2002:a9d:d89:: with SMTP id 9mr2110488ots.23.1616177650625; Fri, 19 Mar 2021 11:14:10 -0700 (PDT) MIME-Version: 1.0 References: <20210319082428.3294591-1-lee.jones@linaro.org> <20210319082428.3294591-7-lee.jones@linaro.org> In-Reply-To: <20210319082428.3294591-7-lee.jones@linaro.org> From: Alex Deucher Date: Fri, 19 Mar 2021 14:13:59 -0400 Message-ID: Subject: Re: [PATCH 06/19] drm/amd/display/dc/calcs/dce_calcs: Move some large variables from the stack to the heap To: Lee Jones Cc: Leo Li , LKML , amd-gfx list , David Airlie , Maling list - DRI developers , Alex Deucher , Colin Ian King , =?UTF-8?Q?Christian_K=C3=B6nig?= , Harry Wentland , "Kazlauskas, Nicholas" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org + Harry, Nick On Fri, Mar 19, 2021 at 4:24 AM Lee Jones wrote: > > Fixes the following W=3D1 kernel build warning(s): > > drivers/gpu/drm/amd/amdgpu/../display/dc/calcs/dce_calcs.c: In function = =E2=80=98calculate_bandwidth=E2=80=99: > drivers/gpu/drm/amd/amdgpu/../display/dc/calcs/dce_calcs.c:2016:1: warni= ng: the frame size of 1216 bytes is larger than 1024 bytes [-Wframe-larger-= than=3D] > > Cc: Harry Wentland > Cc: Leo Li > Cc: Alex Deucher > Cc: "Christian K=C3=B6nig" > Cc: David Airlie > Cc: Daniel Vetter > Cc: Colin Ian King > Cc: amd-gfx@lists.freedesktop.org > Cc: dri-devel@lists.freedesktop.org > Signed-off-by: Lee Jones > --- > .../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/g= pu/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 =3D 0; > int32_t number_of_aligned_displays_with_no_margin =3D 0; > > + yclk =3D kcalloc(3, sizeof(*yclk), GFP_KERNEL); > + if (!yclk) > + return; > + > + sclk =3D kcalloc(8, sizeof(*sclk), GFP_KERNEL); > + if (!sclk) > + goto free_yclk; > + > + tiling_mode =3D kcalloc(maximum_number_of_surfaces, sizeof(*tilin= g_mode), GFP_KERNEL); > + if (!tiling_mode) > + goto free_sclk; > + > + surface_type =3D kcalloc(maximum_number_of_surfaces, sizeof(*surf= ace_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. Alex > yclk[low] =3D vbios->low_yclk; > yclk[mid] =3D vbios->mid_yclk; > yclk[high] =3D 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