From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Sasha Levin <sashal@kernel.org>,
Tomi Valkeinen <tomi.valkeinen@ti.com>,
Sam Ravnborg <sam@ravnborg.org>,
dri-devel@lists.freedesktop.org, Arnd Bergmann <arnd@arndb.de>
Subject: [PATCH AUTOSEL 5.7 138/274] drm/bridge: fix stack usage warning on old gcc
Date: Mon, 8 Jun 2020 19:03:51 -0400 [thread overview]
Message-ID: <20200608230607.3361041-138-sashal@kernel.org> (raw)
In-Reply-To: <20200608230607.3361041-1-sashal@kernel.org>
From: Arnd Bergmann <arnd@arndb.de>
[ Upstream commit 78b0d99a68ecdc84728c99f4fef71942e9ecf35a ]
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 <arnd@arndb.de>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20200428215408.4111675-1-arnd@arndb.de
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
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.25.1
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2020-06-08 23:09 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-08 23:01 [PATCH AUTOSEL 5.7 001/274] drm/amdgpu: fix and cleanup amdgpu_gem_object_close v4 Sasha Levin
2020-06-08 23:01 ` [PATCH AUTOSEL 5.7 006/274] drm: bridge: adv7511: Extend list of audio sample rates Sasha Levin
2020-06-08 23:01 ` [PATCH AUTOSEL 5.7 016/274] drm/amd/display: Force watermark value propagation Sasha Levin
2020-06-08 23:01 ` [PATCH AUTOSEL 5.7 017/274] drm/amd/display: fix virtual signal dsc setup Sasha Levin
2020-06-08 23:01 ` [PATCH AUTOSEL 5.7 019/274] drm/amdgpu: Init data to avoid oops while reading pp_num_states Sasha Levin
2020-06-08 23:01 ` [PATCH AUTOSEL 5.7 020/274] drm/bridge: panel: Return always an error pointer in drm_panel_bridge_add() Sasha Levin
2020-06-08 23:02 ` [PATCH AUTOSEL 5.7 046/274] drm: rcar-du: Set primary plane zpos immutably at initializing Sasha Levin
2020-06-08 23:02 ` [PATCH AUTOSEL 5.7 060/274] drm/dp: Lenovo X13 Yoga OLED panel brightness fix Sasha Levin
2020-06-08 23:03 ` [PATCH AUTOSEL 5.7 087/274] staging: android: ion: use vmap instead of vm_map_ram Sasha Levin
2020-06-08 23:03 ` [PATCH AUTOSEL 5.7 090/274] drm/hisilicon: Enforce 128-byte stride alignment to fix the hardware limitation Sasha Levin
2020-06-08 23:03 ` [PATCH AUTOSEL 5.7 095/274] drm/amd/display: Revert to old formula in set_vtg_params Sasha Levin
2020-06-08 23:03 ` [PATCH AUTOSEL 5.7 104/274] drm/ast: Allocate initial CRTC state of the correct size Sasha Levin
2020-06-08 23:03 ` [PATCH AUTOSEL 5.7 105/274] dt-bindings: display: mediatek: control dpi pins mode to avoid leakage Sasha Levin
2020-06-08 23:03 ` [PATCH AUTOSEL 5.7 106/274] drm/mediatek: set dpi pin mode to gpio low to avoid leakage current Sasha Levin
2020-06-08 23:03 ` [PATCH AUTOSEL 5.7 116/274] drm/amd/display: Correct updating logic of dcn21's pipe VM flags Sasha Levin
2020-06-08 23:03 ` [PATCH AUTOSEL 5.7 117/274] drm/amd/display: dmcu wait loop calculation is incorrect in RV Sasha Levin
2020-06-08 23:03 ` [PATCH AUTOSEL 5.7 127/274] drm/amd/display: Do not disable pipe split if mode is not supported Sasha Levin
2020-06-08 23:03 ` Sasha Levin [this message]
2020-06-08 23:04 ` [PATCH AUTOSEL 5.7 169/274] drm/vkms: Hold gem object while still in-use Sasha Levin
2020-06-08 23:04 ` [PATCH AUTOSEL 5.7 188/274] drm/mcde: dsi: Fix return value check in mcde_dsi_bind() Sasha Levin
2020-06-08 23:05 ` [PATCH AUTOSEL 5.7 223/274] drm/amd/powerpay: Disable gfxoff when setting manual mode on picasso and raven Sasha Levin
2020-06-08 23:05 ` [PATCH AUTOSEL 5.7 224/274] drm/amdgpu: Sync with VM root BO when switching VM to CPU update mode Sasha Levin
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=20200608230607.3361041-138-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=arnd@arndb.de \
--cc=dri-devel@lists.freedesktop.org \
--cc=linux-kernel@vger.kernel.org \
--cc=sam@ravnborg.org \
--cc=stable@vger.kernel.org \
--cc=tomi.valkeinen@ti.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