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
>
prev parent 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox