Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp1632515pxf; Fri, 19 Mar 2021 11:33:19 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxQw9CiZYNjUfxw/z0XBCHYn2RuwVjBUgYBHKdWUx/P2lx6S2JVFu8XIu4MTHZPAiLdfIqE X-Received: by 2002:a17:906:4705:: with SMTP id y5mr6040614ejq.119.1616178799165; Fri, 19 Mar 2021 11:33:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1616178799; cv=none; d=google.com; s=arc-20160816; b=PgiKRVVCW4rfhYQLhpBc3PcNVJLW0sgb+royMKOuhGK27cIDOm13FKiCFQfJnZAHYR FpYsaKT+6a5NnyR2k4Vv2tIj/M71qTOtauVEm5IInweydcncvF7ws7oJGUYun8qTmZpx PrD6cjZtZeE9rd6w7jAnyWuzfW2sEG55a7vjEwEQeSUxE8n6v/9dnj9tVgfkzRaIyhfL d6B/NZvZWAixumNJRf2CMsRJuAd47LMVGI9N2E3RjK4RKmjBzxRb+5Kh49O8vk0ARROY nTtOLoLK/LZAFdfpKl5xiFXZiWT8WS8xLoHnFGEJmnoqMM0gxHqjG1WUpujTLH0cq1xK Hpmg== 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=pTtEztAlZlvdcvUPIJRMBRJNUX2fnT4BTRPLkCRFrF0=; b=AuyrZrB6ZQXeuSlJNT+V4pDpinX86Ln78XEVWPKOIu7/VT0xTUWu3Qh9GzVI/HQKIt jDTOVChkNjOLa3Od0rFwfsBLPTmHF0QyePDmaAfSh3W4fkUb6i43rrWzwLJkfnNN3xOA PS1Yt8a0PYr1PoAcqqfO2JVHQuc5pp+a1ATGqwLVI9vbYFE3xVt1T50iAYZ0WUfcMmti ojWhbh6GoL0mq4M/6DbYFS6Jmchl2iRLsaXzwF36pqy7eZ5VWXbOudhrF4TRayxNrtB3 FkEwT+/pDL/zQpicJRoLBLLSBq2rHg9zQEuQEwt7l/IR73PZg7e3B04lTi9bO9xkvDXD eD5A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=LOztUkjI; 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 t18si4728051ejj.437.2021.03.19.11.32.55; Fri, 19 Mar 2021 11:33:19 -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=LOztUkjI; 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 S229974AbhCSSb6 (ORCPT + 99 others); Fri, 19 Mar 2021 14:31:58 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51220 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229912AbhCSSbd (ORCPT ); Fri, 19 Mar 2021 14:31:33 -0400 Received: from mail-ot1-x32b.google.com (mail-ot1-x32b.google.com [IPv6:2607:f8b0:4864:20::32b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 16AE1C06174A for ; Fri, 19 Mar 2021 11:31:33 -0700 (PDT) Received: by mail-ot1-x32b.google.com with SMTP id g8-20020a9d6c480000b02901b65ca2432cso9435319otq.3 for ; Fri, 19 Mar 2021 11:31:33 -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=pTtEztAlZlvdcvUPIJRMBRJNUX2fnT4BTRPLkCRFrF0=; b=LOztUkjI6cqKImroYp9bQSvDB1j8J+tLj6YfIPd3qV+9YqsIJS52+lZaIUy9vl82Js Sz+TsObvYHsMvvX/NRVb7+mTh1BL24KLH9jn7wkyNRKYxSv21Cz+feuuxN+rrbkRDYq4 xh3NUk/CrTXldsQoQWl3LHmu9oNEmkoRguJOryyE5lYEMpdZ9IviKsYWXeksjebPG8X0 gU2VVvKHDOMBAJwyJUQ+DR4uoq1nxdCIS2HS8dn5yfeENEVjHJteT8lWTp1Wcpa3FXAH iQwXbHNoxQ9BVuGTL0LVulIFlPr4cyuzZliIXypQTSO4YzkatOobvgKwZNAoI73lWeVX yVpg== 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=pTtEztAlZlvdcvUPIJRMBRJNUX2fnT4BTRPLkCRFrF0=; b=J8MaDFtWiUS9pYXzJBhCmeRKRC3humXksqIJNuSVH9PaTHXBiOXbrtkQVYvmizAjDx iSDGpNvOkEEvz2uXJ+85zOWo6irBA2GuajEaYKnkYn0axltkf6cYalKm7AR6m1ipFcLf 3h72VCzkFjVaIkY8llngCs/I/JvZvFbaiwxcVhmgMv0ctnv7J7pUDHTjN/jcKaCdDe3Q AqxGEyBjh4oLIPdTnlcyjPiEo5o3AcjLm55vQGB14iIFXqd90fz5ZlFkWLm8UBs7raRc ntdgwpDfdXv9xqMGAmh/CHFv/txMPmjuMpC1pyfna7RTYs1VofdQuPD9c6oGPrUkfaiT cdVQ== X-Gm-Message-State: AOAM530XiXducDSFu/OQyqmIFV7QneWwVMQA+vwI0DUijPhknlzrZhek Dl18UcEZOeliToFmjYl6CZA0bk9RyJeYi6bWMUk= X-Received: by 2002:a9d:750e:: with SMTP id r14mr2142229otk.311.1616178692466; Fri, 19 Mar 2021 11:31:32 -0700 (PDT) MIME-Version: 1.0 References: <20210319082428.3294591-1-lee.jones@linaro.org> <20210319082428.3294591-7-lee.jones@linaro.org> <2ec1225f-4bf1-41b7-0d00-2b11eab90c94@amd.com> In-Reply-To: <2ec1225f-4bf1-41b7-0d00-2b11eab90c94@amd.com> From: Alex Deucher Date: Fri, 19 Mar 2021 14:31:21 -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: Harry Wentland Cc: Lee Jones , 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 On Fri, Mar 19, 2021 at 2:26 PM Harry Wentland wro= te: > > On 2021-03-19 2:13 p.m., Alex Deucher wrote: > > + 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 funct= ion =E2=80=98calculate_bandwidth=E2=80=99: > >> drivers/gpu/drm/amd/amdgpu/../display/dc/calcs/dce_calcs.c:2016:1: w= arning: the frame size of 1216 bytes is larger than 1024 bytes [-Wframe-lar= ger-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/driver= s/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 =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(*ti= ling_mode), GFP_KERNEL); > >> + if (!tiling_mode) > >> + goto free_sclk; > >> + > >> + surface_type =3D kcalloc(maximum_number_of_surfaces, sizeof(*s= urface_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 Thanks. I've applied them. Alex > > Harry > > > 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>