drm/nouveau/fb: Prevent inlining of ramfuc_reg
authorStéphane Marchesin <marcheu@chromium.org>
Fri, 27 Jun 2014 20:17:25 +0000 (13:17 -0700)
committerBen Skeggs <bskeggs@redhat.com>
Tue, 8 Jul 2014 02:56:53 +0000 (12:56 +1000)
When gcc 4.8 inlines this function, it eats up 16 bytes on the stack
every time. Eventually we hit warnings 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.

Signed-off-by: Stéphane Marchesin <marcheu@chromium.org>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/core/subdev/fb/ramfuc.h

index 0f57fcfe0bbf96799358b72f5261017491e88b72..04e38492e74a93b1204da2a7fe30ff36324f04ef 100644 (file)
@@ -26,7 +26,7 @@ ramfuc_reg2(u32 addr1, u32 addr2)
        };
 }
 
-static inline struct ramfuc_reg
+static noinline struct ramfuc_reg
 ramfuc_reg(u32 addr)
 {
        return ramfuc_reg2(addr, addr);