Hi Arnd, Thank you for the patch. On Tue, Jan 07, 2020 at 10:27:33PM +0100, Arnd Bergmann wrote: > With gcc -O3, the compiler can inline very aggressively, > leading to rather large stack usage: > > drivers/gpu/drm/panel/panel-tpo-td028ttec1.c: In function 'td028ttec1_prepare': > drivers/gpu/drm/panel/panel-tpo-td028ttec1.c:233:1: error: the frame size of 2768 bytes is larger than 2048 bytes [-Werror=frame-larger-than=] > } > > Marking jbt_reg_write_1() as noinline avoids the case where > multiple instances of this function get inlined into the same > stack frame and each one adds a copy of 'tx_buf'. > > Fixes: mmtom ("init/Kconfig: enable -O3 for all arches") > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Isn't this something that should be fixed at the compiler level ? > --- > drivers/gpu/drm/panel/panel-tpo-td028ttec1.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/panel/panel-tpo-td028ttec1.c b/drivers/gpu/drm/panel/panel-tpo-td028ttec1.c > index cf29405a2dbe..17ee5e87141f 100644 > --- a/drivers/gpu/drm/panel/panel-tpo-td028ttec1.c > +++ b/drivers/gpu/drm/panel/panel-tpo-td028ttec1.c > @@ -105,7 +105,7 @@ static int jbt_ret_write_0(struct td028ttec1_panel *lcd, u8 reg, int *err) > return ret; > } > > -static int jbt_reg_write_1(struct td028ttec1_panel *lcd, > +static int noinline_for_stack jbt_reg_write_1(struct td028ttec1_panel *lcd, > u8 reg, u8 data, int *err) > { > struct spi_device *spi = lcd->spi; -- Regards, Laurent Pinchart _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel