Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp1034028ybz; Wed, 29 Apr 2020 13:48:09 -0700 (PDT) X-Google-Smtp-Source: APiQypJg4hc2g81+OoT/aCm1jn2UOod1s6mFIwre3Y1LlRoHUF8FdU+5wXCvVkRPGC6QGJTc6Ilu X-Received: by 2002:aa7:c5d1:: with SMTP id h17mr4229795eds.109.1588193289038; Wed, 29 Apr 2020 13:48:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588193289; cv=none; d=google.com; s=arc-20160816; b=Y6P6CI4Fwo5NG1w+SoQNjml6wGXRqIU67Rkf3pk0wGcOShug9hEnl2qEtst8yXgtf4 ++QL212Rw+jECO0HJIH9eGnzk8fNrmQWlyOUvFZU3SdZYuZ09A/nglUDfemDdDk3/y2/ 5XG/dfD5xyJOxjS9vfp3Ka2ylhhKalsYxlnvuvP+sNUuWXB/wF3XeUlBffu88Kkz1d0q fl2uIEfYT6jdjxqGOakLY4UrsFarY2wdbbRw5nESrIkSyJSOOSBi4SUZ+vwFROqovVuy xUbA8tp1VwiQhL3aEMLCJkdf5QN5l6Tq7kW1OzwvYLnGxJP9F2JgjCo6fIkmMG4Pxpsm Jeyg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=bC5mJnyGWSF56CENMBADDEZerDqYiFKpZJxmyDU+Iyw=; b=c2HGzRAjeo/mJ5de5431pN/zuWdzDhk3YXriBH1SbgixoIkDvTVnRiSmyZ3ULSmUCW jMui3tvbdtn+seyx0m3kY8vgc6SlsD+edx6fkmUFLaGkoSJswt3EfS31HIdqVG4xW4DU rgNQkBgTYFJ8xVYieYOY2Kebe9Qu9Cj9rfwOGaF10b5m+DhJ9RA07zmUhaDUinWvqkUa IVKc8iWEeCmECyvHSCPZW9jLwrVS9WcaNd6UxAepeol2AITd1hmOuKkUIJeInrdDJpIq aFyBRLNizbiGSDtOhwOYG8qWiDqfLhLMOFCJxfE6s26/k4ZFIDZcWn4rtz40nRd1D3I7 dyaQ== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id f10si4887022ejx.59.2020.04.29.13.47.44; Wed, 29 Apr 2020 13:48:09 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726926AbgD2UqV (ORCPT + 99 others); Wed, 29 Apr 2020 16:46:21 -0400 Received: from asavdk3.altibox.net ([109.247.116.14]:32928 "EHLO asavdk3.altibox.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726456AbgD2UqV (ORCPT ); Wed, 29 Apr 2020 16:46:21 -0400 Received: from ravnborg.org (unknown [158.248.194.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by asavdk3.altibox.net (Postfix) with ESMTPS id 333BE20025; Wed, 29 Apr 2020 22:46:15 +0200 (CEST) Date: Wed, 29 Apr 2020 22:46:13 +0200 From: Sam Ravnborg To: Arnd Bergmann Cc: Andrzej Hajda , Neil Armstrong , David Airlie , Daniel Vetter , Peter Ujfalusi , Jernej Skrabec , Jonas Karlman , Sebastian Reichel , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Tomi Valkeinen , Laurent Pinchart , Boris Brezillon Subject: Re: [PATCH] drm/bridge: fix stack usage warning on old gcc Message-ID: <20200429204613.GA24103@ravnborg.org> References: <20200428215408.4111675-1-arnd@arndb.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200428215408.4111675-1-arnd@arndb.de> User-Agent: Mutt/1.10.1 (2018-07-13) X-CMAE-Score: 0 X-CMAE-Analysis: v=2.3 cv=ULXz4hXy c=1 sm=1 tr=0 a=UWs3HLbX/2nnQ3s7vZ42gw==:117 a=UWs3HLbX/2nnQ3s7vZ42gw==:17 a=kj9zAlcOel0A:10 a=mDV3o1hIAAAA:8 a=e5mUnYsNAAAA:8 a=ZNoC2qXWVDHt2F1EEv0A:9 a=CjuIK1q_8ugA:10 a=_FVE-zBwftR9WsbkzFJk:22 a=Vxmtnl_E_bksehYqCbjh:22 a=pHzHmUro8NiASowvMSCR:22 a=nt3jZW36AmriUCFCBwmW:22 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Arnd. On Tue, Apr 28, 2020 at 11:53:54PM +0200, Arnd Bergmann wrote: > Some older versions of gcc badly optimize code that passes > an inline function argument into another function by reference, > causing huge stack usage: > > drivers/gpu/drm/bridge/tc358768.c: In function 'tc358768_bridge_pre_enable': > drivers/gpu/drm/bridge/tc358768.c:840:1: error: the frame size of 2256 bytes is larger than 2048 bytes [-Werror=frame-larger-than=] > > Use a temporary variable as a workaround and add a comment pointing > to the gcc bug. > > Fixes: ff1ca6397b1d ("drm/bridge: Add tc358768 driver") > Signed-off-by: Arnd Bergmann Thanks, pushed to drm-misc-next with Tomi's r-b. Sam > --- > drivers/gpu/drm/bridge/tc358768.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/bridge/tc358768.c b/drivers/gpu/drm/bridge/tc358768.c > index 1b39e8d37834..6650fe4cfc20 100644 > --- a/drivers/gpu/drm/bridge/tc358768.c > +++ b/drivers/gpu/drm/bridge/tc358768.c > @@ -178,6 +178,8 @@ static int tc358768_clear_error(struct tc358768_priv *priv) > > static void tc358768_write(struct tc358768_priv *priv, u32 reg, u32 val) > { > + /* work around https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81715 */ > + int tmpval = val; > size_t count = 2; > > if (priv->error) > @@ -187,7 +189,7 @@ static void tc358768_write(struct tc358768_priv *priv, u32 reg, u32 val) > if (reg < 0x100 || reg >= 0x600) > count = 1; > > - priv->error = regmap_bulk_write(priv->regmap, reg, &val, count); > + priv->error = regmap_bulk_write(priv->regmap, reg, &tmpval, count); > } > > static void tc358768_read(struct tc358768_priv *priv, u32 reg, u32 *val) > -- > 2.26.0 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel