blob: b34961565db5dd8f38e25f721bd111939957bcfd [file] [log] [blame]
From fd4bdedf9d34c9a7b25ae325f9d93088018760f1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Marchesin?= <marcheu@chromium.org>
Date: Fri, 20 Jun 2014 17:07:27 -0700
Subject: [PATCH 2/3] drm/nouveau: Prevent inlining of ramfuc_reg
Apparently when gcc inlines it, it eats up 16 bytes on the stack every
time. Eventually we hit errors because our stack grew too much:
ramnve0.c:1383:1: error: the frame size of 1496 bytes is larger than 1024 bytes
We fix this by preventing inlining for this function.
BUG=chromium:387296
TEST=nouveau compiles on ARM
Change-Id: Ie5d58727c7f9dd6bfd7da89606bd89809dd127b3
---
drivers/gpu/drm/nouveau/core/subdev/fb/ramfuc.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/ramfuc.h b/drivers/gpu/drm/nouveau/core/subdev/fb/ramfuc.h
index 04e3849..ddd23c0 100644
--- a/drivers/gpu/drm/nouveau/core/subdev/fb/ramfuc.h
+++ b/drivers/gpu/drm/nouveau/core/subdev/fb/ramfuc.h
@@ -16,7 +16,7 @@ struct ramfuc_reg {
u32 data;
};
-static inline struct ramfuc_reg
+static noinline struct ramfuc_reg
ramfuc_reg2(u32 addr1, u32 addr2)
{
return (struct ramfuc_reg) {
--
2.1.2