All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Laight <david.laight.linux@gmail.com>
To: kernel test robot <lkp@intel.com>
Cc: LiangCheng Wang <zaq14760@gmail.com>,
	llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
	linux-kernel@vger.kernel.org,
	Thomas Zimmermann <tzimmermann@suse.de>
Subject: Re: drivers/gpu/drm/tiny/pixpaper.c:579:12: warning: stack frame size (19288) exceeds limit (8192) in 'pixpaper_panel_hw_init'
Date: Thu, 23 Apr 2026 09:24:58 +0100	[thread overview]
Message-ID: <20260423092458.15743768@pumpkin> (raw)
In-Reply-To: <202604230813.tiodR4pT-lkp@intel.com>

On Thu, 23 Apr 2026 08:20:01 +0800
kernel test robot <lkp@intel.com> wrote:

> Hi LiangCheng,
> 
> FYI, the error/warning still remains.
> 
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head:   2e68039281932e6dc37718a1ea7cbb8e2cda42e6
> commit: c9e70639f5915f2d084a0126e62fe53a52c29cea drm: tiny: Add support for Mayqueen Pixpaper e-ink panel
> date:   8 months ago
> config: x86_64-randconfig-075-20260423 (https://download.01.org/0day-ci/archive/20260423/202604230813.tiodR4pT-lkp@intel.com/config)
> compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
> rustc: rustc 1.88.0 (6b00bc388 2025-06-23)
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260423/202604230813.tiodR4pT-lkp@intel.com/reproduce)
> 
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Fixes: c9e70639f591 ("drm: tiny: Add support for Mayqueen Pixpaper e-ink panel")
> | Reported-by: kernel test robot <lkp@intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202604230813.tiodR4pT-lkp@intel.com/
> 
> All warnings (new ones prefixed by >>):
> 
> >> drivers/gpu/drm/tiny/pixpaper.c:579:12: warning: stack frame size (19288) exceeds limit (8192) in 'pixpaper_panel_hw_init' [-Wframe-larger-than]  
>      579 | static int pixpaper_panel_hw_init(struct pixpaper_panel *panel)
>          |            ^
>    1 warning generated.
> 
> 
> vim +/pixpaper_panel_hw_init +579 drivers/gpu/drm/tiny/pixpaper.c
> 
>    578	
>  > 579	static int pixpaper_panel_hw_init(struct pixpaper_panel *panel)  
>    580	{
>    581		struct pixpaper_error_ctx err = { .errno_code = 0 };
>    582	
>    583		gpiod_set_value_cansleep(panel->reset, 0);
>    584		msleep(50);
>    585		gpiod_set_value_cansleep(panel->reset, 1);
>    586		msleep(50);
>    587	
>    588		pixpaper_wait_for_panel(panel);
>    589	
>    590		pixpaper_send_cmd(panel, PIXPAPER_CMD_UNKNOWN_4D, &err);
>    591		pixpaper_send_data(panel, PIXPAPER_UNKNOWN_4D_CONFIG, &err);

Both the above functions need marking unconditionally 'noinline'.
They both contain usleep_range(1, 5) so the performance can't matter.
So inlining just bloats the object file and clang+kasan tends to allocate
the per-function on-stack data separately for each inlined call.

	David

>    592		if (err.errno_code)
>    593			goto init_fail;
>    594		pixpaper_wait_for_panel(panel);
>    595	
>    596		pixpaper_send_cmd(panel, PIXPAPER_CMD_PANEL_SETTING, &err);
>    597		pixpaper_send_data(panel, PIXPAPER_PSR_CONFIG, &err);
>    598		pixpaper_send_data(panel, PIXPAPER_PSR_CONFIG2, &err);
>    599		if (err.errno_code)
>    600			goto init_fail;
>    601		pixpaper_wait_for_panel(panel);
>    602	
>    603		pixpaper_send_cmd(panel, PIXPAPER_CMD_POWER_SETTING, &err);
>    604		pixpaper_send_data(panel, PIXPAPER_PWR_CONFIG1, &err);
>    605		pixpaper_send_data(panel, PIXPAPER_PWR_CONFIG2, &err);
>    606		pixpaper_send_data(panel, PIXPAPER_PWR_VSP_8_2V, &err);
>    607		pixpaper_send_data(panel, PIXPAPER_PWR_VSPL_15V, &err);
>    608		pixpaper_send_data(panel, PIXPAPER_PWR_VSN_4V, &err);
>    609		pixpaper_send_data(panel, PIXPAPER_PWR_VSP_8_2V, &err);
>    610		if (err.errno_code)
>    611			goto init_fail;
>    612		pixpaper_wait_for_panel(panel);
>    613	
>    614		pixpaper_send_cmd(panel, PIXPAPER_CMD_POWER_OFF_SEQUENCE, &err);
>    615		pixpaper_send_data(panel, PIXPAPER_PFS_CONFIG1, &err);
>    616		pixpaper_send_data(panel, PIXPAPER_PFS_CONFIG2, &err);
>    617		pixpaper_send_data(panel, PIXPAPER_PFS_CONFIG3, &err);
>    618		if (err.errno_code)
>    619			goto init_fail;
>    620		pixpaper_wait_for_panel(panel);
>    621	
>    622		pixpaper_send_cmd(panel, PIXPAPER_CMD_BOOSTER_SOFT_START, &err);
>    623		pixpaper_send_data(panel, PIXPAPER_BTST_CONFIG1, &err);
>    624		pixpaper_send_data(panel, PIXPAPER_BTST_CONFIG2, &err);
>    625		pixpaper_send_data(panel, PIXPAPER_BTST_CONFIG3, &err);
>    626		pixpaper_send_data(panel, PIXPAPER_BTST_CONFIG4, &err);
>    627		pixpaper_send_data(panel, PIXPAPER_BTST_CONFIG5, &err);
>    628		pixpaper_send_data(panel, PIXPAPER_BTST_CONFIG6, &err);
>    629		pixpaper_send_data(panel, PIXPAPER_BTST_CONFIG7, &err);
>    630		if (err.errno_code)
>    631			goto init_fail;
>    632		pixpaper_wait_for_panel(panel);
>    633	
>    634		pixpaper_send_cmd(panel, PIXPAPER_CMD_PLL_CONTROL, &err);
>    635		pixpaper_send_data(panel, PIXPAPER_PLL_CONFIG, &err);
>    636		if (err.errno_code)
>    637			goto init_fail;
>    638		pixpaper_wait_for_panel(panel);
>    639	
>    640		pixpaper_send_cmd(panel, PIXPAPER_CMD_TEMP_SENSOR_CALIB, &err);
>    641		pixpaper_send_data(panel, PIXPAPER_TSE_CONFIG, &err);
>    642		if (err.errno_code)
>    643			goto init_fail;
>    644		pixpaper_wait_for_panel(panel);
>    645	
>    646		pixpaper_send_cmd(panel, PIXPAPER_CMD_VCOM_INTERVAL, &err);
>    647		pixpaper_send_data(panel, PIXPAPER_CDI_CONFIG, &err);
>    648		if (err.errno_code)
>    649			goto init_fail;
>    650		pixpaper_wait_for_panel(panel);
>    651	
>    652		pixpaper_send_cmd(panel, PIXPAPER_CMD_UNKNOWN_60, &err);
>    653		pixpaper_send_data(panel, PIXPAPER_UNKNOWN_60_CONFIG1, &err);
>    654		pixpaper_send_data(panel, PIXPAPER_UNKNOWN_60_CONFIG2, &err);
>    655		if (err.errno_code)
>    656			goto init_fail;
>    657		pixpaper_wait_for_panel(panel);
>    658	
>    659		pixpaper_send_cmd(panel, PIXPAPER_CMD_RESOLUTION_SETTING, &err);
>    660		pixpaper_send_data(panel, PIXPAPER_TRES_HRES_H, &err);
>    661		pixpaper_send_data(panel, PIXPAPER_TRES_HRES_L, &err);
>    662		pixpaper_send_data(panel, PIXPAPER_TRES_VRES_H, &err);
>    663		pixpaper_send_data(panel, PIXPAPER_TRES_VRES_L, &err);
>    664		if (err.errno_code)
>    665			goto init_fail;
>    666		pixpaper_wait_for_panel(panel);
>    667	
>    668		pixpaper_send_cmd(panel, PIXPAPER_CMD_GATE_SOURCE_START, &err);
>    669		pixpaper_send_data(panel, PIXPAPER_GSST_S_START, &err);
>    670		pixpaper_send_data(panel, PIXPAPER_GSST_RESERVED, &err);
>    671		pixpaper_send_data(panel, PIXPAPER_GSST_G_START_H, &err);
>    672		pixpaper_send_data(panel, PIXPAPER_GSST_G_START_L, &err);
>    673		if (err.errno_code)
>    674			goto init_fail;
>    675		pixpaper_wait_for_panel(panel);
>    676	
>    677		pixpaper_send_cmd(panel, PIXPAPER_CMD_UNKNOWN_E7, &err);
>    678		pixpaper_send_data(panel, PIXPAPER_UNKNOWN_E7_CONFIG, &err);
>    679		if (err.errno_code)
>    680			goto init_fail;
>    681		pixpaper_wait_for_panel(panel);
>    682	
>    683		pixpaper_send_cmd(panel, PIXPAPER_CMD_POWER_SAVING, &err);
>    684		pixpaper_send_data(panel, PIXPAPER_PWS_CONFIG, &err);
>    685		if (err.errno_code)
>    686			goto init_fail;
>    687		pixpaper_wait_for_panel(panel);
>    688	
>    689		pixpaper_send_cmd(panel, PIXPAPER_CMD_UNKNOWN_E0, &err);
>    690		pixpaper_send_data(panel, PIXPAPER_UNKNOWN_E0_CONFIG, &err);
>    691		if (err.errno_code)
>    692			goto init_fail;
>    693		pixpaper_wait_for_panel(panel);
>    694	
>    695		pixpaper_send_cmd(panel, PIXPAPER_CMD_UNKNOWN_B4, &err);
>    696		pixpaper_send_data(panel, PIXPAPER_UNKNOWN_B4_CONFIG, &err);
>    697		if (err.errno_code)
>    698			goto init_fail;
>    699		pixpaper_wait_for_panel(panel);
>    700	
>    701		pixpaper_send_cmd(panel, PIXPAPER_CMD_UNKNOWN_B5, &err);
>    702		pixpaper_send_data(panel, PIXPAPER_UNKNOWN_B5_CONFIG, &err);
>    703		if (err.errno_code)
>    704			goto init_fail;
>    705		pixpaper_wait_for_panel(panel);
>    706	
>    707		pixpaper_send_cmd(panel, PIXPAPER_CMD_UNKNOWN_E9, &err);
>    708		pixpaper_send_data(panel, PIXPAPER_UNKNOWN_E9_CONFIG, &err);
>    709		if (err.errno_code)
>    710			goto init_fail;
>    711		pixpaper_wait_for_panel(panel);
>    712	
>    713		return 0;
>    714	
>    715	init_fail:
>    716		drm_err(&panel->drm, "Hardware initialization failed (err=%d)\n",
>    717			err.errno_code);
>    718		return err.errno_code;
>    719	}
>    720	
> 


      reply	other threads:[~2026-04-23  8:25 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-23  0:20 drivers/gpu/drm/tiny/pixpaper.c:579:12: warning: stack frame size (19288) exceeds limit (8192) in 'pixpaper_panel_hw_init' kernel test robot
2026-04-23  8:24 ` David Laight [this message]

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=20260423092458.15743768@pumpkin \
    --to=david.laight.linux@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lkp@intel.com \
    --cc=llvm@lists.linux.dev \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=tzimmermann@suse.de \
    --cc=zaq14760@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.