* drivers/gpu/drm/panel/panel-samsung-ld9040.c:240:12: warning: stack frame size of 8312 bytes in function 'ld9040_prepare'
@ 2020-06-20 18:21 kernel test robot
2020-06-20 22:08 ` Vladimir Oltean
0 siblings, 1 reply; 6+ messages in thread
From: kernel test robot @ 2020-06-20 18:21 UTC (permalink / raw)
To: Vladimir Oltean; +Cc: kbuild-all, clang-built-linux, linux-kernel, Mark Brown
[-- Attachment #1: Type: text/plain, Size: 3708 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 4333a9b0b67bb4e8bcd91bdd80da80b0ec151162
commit: 79591b7db21d255db158afaa48c557dcab631a1c spi: Add a PTP system timestamp to the transfer structure
date: 9 months ago
config: x86_64-randconfig-a014-20200620 (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project f5bbe390d23d7da0ffb110cdb24b583c2dc87eba)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
git checkout 79591b7db21d255db158afaa48c557dcab631a1c
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>, old ones prefixed by <<):
>> drivers/gpu/drm/panel/panel-samsung-ld9040.c:240:12: warning: stack frame size of 8312 bytes in function 'ld9040_prepare' [-Wframe-larger-than=]
static int ld9040_prepare(struct drm_panel *panel)
^
1 warning generated.
vim +/ld9040_prepare +240 drivers/gpu/drm/panel/panel-samsung-ld9040.c
ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 239
099b3e8699322e drivers/gpu/drm/panel/panel-ld9040.c Ajay Kumar 2014-07-31 @240 static int ld9040_prepare(struct drm_panel *panel)
ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 241 {
ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 242 struct ld9040 *ctx = panel_to_ld9040(panel);
ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 243 int ret;
ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 244
ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 245 ret = ld9040_power_on(ctx);
ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 246 if (ret < 0)
ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 247 return ret;
ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 248
ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 249 ld9040_init(ctx);
ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 250
ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 251 ret = ld9040_clear_error(ctx);
ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 252
ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 253 if (ret < 0)
8141028278c2ea drivers/gpu/drm/panel/panel-ld9040.c Ajay Kumar 2014-07-31 254 ld9040_unprepare(panel);
ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 255
ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 256 return ret;
ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 257 }
ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 258
:::::: The code at line 240 was first introduced by commit
:::::: 099b3e8699322efb7229913d2c1651588205f182 drm/panel: ld9040: Add dummy prepare and unprepare routines
:::::: TO: Ajay Kumar <ajaykumar.rs@samsung.com>
:::::: CC: Thierry Reding <treding@nvidia.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 40043 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: drivers/gpu/drm/panel/panel-samsung-ld9040.c:240:12: warning: stack frame size of 8312 bytes in function 'ld9040_prepare' 2020-06-20 18:21 drivers/gpu/drm/panel/panel-samsung-ld9040.c:240:12: warning: stack frame size of 8312 bytes in function 'ld9040_prepare' kernel test robot @ 2020-06-20 22:08 ` Vladimir Oltean 2020-06-22 16:50 ` Nick Desaulniers 2020-06-22 17:35 ` Sam Ravnborg 0 siblings, 2 replies; 6+ messages in thread From: Vladimir Oltean @ 2020-06-20 22:08 UTC (permalink / raw) To: kernel test robot, thierry.reding, sam, airlied, daniel, dri-devel Cc: kbuild-all, clang-built-linux, lkml, Mark Brown On Sat, 20 Jun 2020 at 21:22, kernel test robot <lkp@intel.com> wrote: > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master > head: 4333a9b0b67bb4e8bcd91bdd80da80b0ec151162 > commit: 79591b7db21d255db158afaa48c557dcab631a1c spi: Add a PTP system timestamp to the transfer structure > date: 9 months ago > config: x86_64-randconfig-a014-20200620 (attached as .config) > compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project f5bbe390d23d7da0ffb110cdb24b583c2dc87eba) > reproduce (this is a W=1 build): > wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross > chmod +x ~/bin/make.cross > # install x86_64 cross compiling tool for clang build > # apt-get install binutils-x86-64-linux-gnu > git checkout 79591b7db21d255db158afaa48c557dcab631a1c > # save the attached .config to linux build tree > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 > > If you fix the issue, kindly add following tag as appropriate > Reported-by: kernel test robot <lkp@intel.com> > > All warnings (new ones prefixed by >>, old ones prefixed by <<): > > >> drivers/gpu/drm/panel/panel-samsung-ld9040.c:240:12: warning: stack frame size of 8312 bytes in function 'ld9040_prepare' [-Wframe-larger-than=] > static int ld9040_prepare(struct drm_panel *panel) > ^ > 1 warning generated. > > vim +/ld9040_prepare +240 drivers/gpu/drm/panel/panel-samsung-ld9040.c > > ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 239 > 099b3e8699322e drivers/gpu/drm/panel/panel-ld9040.c Ajay Kumar 2014-07-31 @240 static int ld9040_prepare(struct drm_panel *panel) > ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 241 { > ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 242 struct ld9040 *ctx = panel_to_ld9040(panel); > ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 243 int ret; > ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 244 > ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 245 ret = ld9040_power_on(ctx); > ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 246 if (ret < 0) > ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 247 return ret; > ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 248 > ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 249 ld9040_init(ctx); > ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 250 > ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 251 ret = ld9040_clear_error(ctx); > ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 252 > ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 253 if (ret < 0) > 8141028278c2ea drivers/gpu/drm/panel/panel-ld9040.c Ajay Kumar 2014-07-31 254 ld9040_unprepare(panel); > ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 255 > ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 256 return ret; > ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 257 } > ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 258 > > :::::: The code at line 240 was first introduced by commit > :::::: 099b3e8699322efb7229913d2c1651588205f182 drm/panel: ld9040: Add dummy prepare and unprepare routines > > :::::: TO: Ajay Kumar <ajaykumar.rs@samsung.com> > :::::: CC: Thierry Reding <treding@nvidia.com> > > --- > 0-DAY CI Kernel Test Service, Intel Corporation > https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org I really don't get what's the problem here. The listing of ld9040_prepare at the given commit and with the given .config is: 0000000000000630 <ld9040_prepare>: { 630: f3 0f 1e fa endbr64 634: e8 00 00 00 00 callq 639 <ld9040_prepare+0x9> 635: R_X86_64_PLT32 __fentry__-0x4 639: 41 56 push %r14 ret = regulator_bulk_enable(ARRAY_SIZE(ctx->supplies), ctx->supplies); 63b: 48 8d 77 30 lea 0x30(%rdi),%rsi { 63f: 41 55 push %r13 641: 41 54 push %r12 ret = regulator_bulk_enable(ARRAY_SIZE(ctx->supplies), ctx->supplies); 643: 4c 8d 67 f8 lea -0x8(%rdi),%r12 { 647: 55 push %rbp 648: 48 89 fd mov %rdi,%rbp ret = regulator_bulk_enable(ARRAY_SIZE(ctx->supplies), ctx->supplies); 64b: bf 02 00 00 00 mov $0x2,%edi 650: e8 00 00 00 00 callq 655 <ld9040_prepare+0x25> 651: R_X86_64_PLT32 regulator_bulk_enable-0x4 655: 41 89 c5 mov %eax,%r13d if (ret < 0) 658: 85 c0 test %eax,%eax 65a: 0f 88 3f 02 00 00 js 89f <ld9040_prepare+0x26f> msleep(ctx->power_on_delay); 660: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax 667: fc ff df 66a: 48 8d 7d 68 lea 0x68(%rbp),%rdi 66e: 48 89 fa mov %rdi,%rdx 671: 48 c1 ea 03 shr $0x3,%rdx 675: 0f b6 04 02 movzbl (%rdx,%rax,1),%eax 679: 84 c0 test %al,%al 67b: 74 08 je 685 <ld9040_prepare+0x55> 67d: 3c 03 cmp $0x3,%al 67f: 0f 8e 38 02 00 00 jle 8bd <ld9040_prepare+0x28d> 685: 8b 7d 68 mov 0x68(%rbp),%edi gpiod_set_value(ctx->reset_gpio, 0); 688: 4c 8d 75 60 lea 0x60(%rbp),%r14 msleep(ctx->power_on_delay); 68c: e8 00 00 00 00 callq 691 <ld9040_prepare+0x61> 68d: R_X86_64_PLT32 msleep-0x4 gpiod_set_value(ctx->reset_gpio, 0); 691: 4c 89 f2 mov %r14,%rdx 694: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax 69b: fc ff df 69e: 48 c1 ea 03 shr $0x3,%rdx 6a2: 80 3c 02 00 cmpb $0x0,(%rdx,%rax,1) 6a6: 0f 85 53 02 00 00 jne 8ff <ld9040_prepare+0x2cf> 6ac: 48 8b 7d 60 mov 0x60(%rbp),%rdi msleep(ctx->reset_delay); 6b0: 4c 8d 6d 6c lea 0x6c(%rbp),%r13 gpiod_set_value(ctx->reset_gpio, 0); 6b4: 31 f6 xor %esi,%esi 6b6: e8 00 00 00 00 callq 6bb <ld9040_prepare+0x8b> 6b7: R_X86_64_PLT32 gpiod_set_value-0x4 msleep(ctx->reset_delay); 6bb: 4c 89 ea mov %r13,%rdx 6be: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax 6c5: fc ff df 6c8: 48 c1 ea 03 shr $0x3,%rdx 6cc: 0f b6 14 02 movzbl (%rdx,%rax,1),%edx 6d0: 4c 89 e8 mov %r13,%rax 6d3: 83 e0 07 and $0x7,%eax 6d6: 83 c0 03 add $0x3,%eax 6d9: 38 d0 cmp %dl,%al 6db: 7c 08 jl 6e5 <ld9040_prepare+0xb5> 6dd: 84 d2 test %dl,%dl 6df: 0f 85 00 02 00 00 jne 8e5 <ld9040_prepare+0x2b5> 6e5: 8b 7d 6c mov 0x6c(%rbp),%edi 6e8: e8 00 00 00 00 callq 6ed <ld9040_prepare+0xbd> 6e9: R_X86_64_PLT32 msleep-0x4 gpiod_set_value(ctx->reset_gpio, 1); 6ed: 4c 89 f2 mov %r14,%rdx 6f0: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax 6f7: fc ff df 6fa: 48 c1 ea 03 shr $0x3,%rdx 6fe: 80 3c 02 00 cmpb $0x0,(%rdx,%rax,1) 702: 0f 85 ea 01 00 00 jne 8f2 <ld9040_prepare+0x2c2> 708: 48 8b 7d 60 mov 0x60(%rbp),%rdi 70c: be 01 00 00 00 mov $0x1,%esi 711: e8 00 00 00 00 callq 716 <ld9040_prepare+0xe6> 712: R_X86_64_PLT32 gpiod_set_value-0x4 msleep(ctx->reset_delay); 716: 4c 89 ea mov %r13,%rdx 719: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax 720: fc ff df 723: 48 c1 ea 03 shr $0x3,%rdx 727: 0f b6 14 02 movzbl (%rdx,%rax,1),%edx 72b: 4c 89 e8 mov %r13,%rax 72e: 83 e0 07 and $0x7,%eax 731: 83 c0 03 add $0x3,%eax 734: 38 d0 cmp %dl,%al 736: 7c 08 jl 740 <ld9040_prepare+0x110> 738: 84 d2 test %dl,%dl 73a: 0f 85 98 01 00 00 jne 8d8 <ld9040_prepare+0x2a8> 740: 8b 7d 6c mov 0x6c(%rbp),%edi 743: e8 00 00 00 00 callq 748 <ld9040_prepare+0x118> 744: R_X86_64_PLT32 msleep-0x4 ld9040_dcs_write_seq_static(ctx, MCS_USER_SETTING, 0x5a, 0x5a); 748: ba 03 00 00 00 mov $0x3,%edx 74d: 48 c7 c6 00 00 00 00 mov $0x0,%rsi 750: R_X86_64_32S .rodata+0x520 754: 4c 89 e7 mov %r12,%rdi 757: e8 f4 fc ff ff callq 450 <ld9040_dcs_write> ld9040_dcs_write_seq_static(ctx, MCS_PANEL_CONDITION, 75c: ba 18 00 00 00 mov $0x18,%edx 761: 48 c7 c6 00 00 00 00 mov $0x0,%rsi 764: R_X86_64_32S .rodata+0x4e0 768: 4c 89 e7 mov %r12,%rdi 76b: e8 e0 fc ff ff callq 450 <ld9040_dcs_write> ld9040_dcs_write_seq_static(ctx, MCS_DISPCTL, 770: ba 06 00 00 00 mov $0x6,%edx 775: 48 c7 c6 00 00 00 00 mov $0x0,%rsi 778: R_X86_64_32S .rodata+0x4a0 77c: 4c 89 e7 mov %r12,%rdi 77f: e8 cc fc ff ff callq 450 <ld9040_dcs_write> ld9040_dcs_write_seq_static(ctx, MCS_MANPWR, 0x04); 784: ba 02 00 00 00 mov $0x2,%edx 789: 48 c7 c6 00 00 00 00 mov $0x0,%rsi 78c: R_X86_64_32S .rodata+0x460 790: 4c 89 e7 mov %r12,%rdi 793: e8 b8 fc ff ff callq 450 <ld9040_dcs_write> ld9040_dcs_write_seq_static(ctx, MCS_POWER_CTRL, 798: ba 08 00 00 00 mov $0x8,%edx 79d: 48 c7 c6 00 00 00 00 mov $0x0,%rsi 7a0: R_X86_64_32S .rodata+0x420 7a4: 4c 89 e7 mov %r12,%rdi 7a7: e8 a4 fc ff ff callq 450 <ld9040_dcs_write> ld9040_dcs_write_seq_static(ctx, MCS_ELVSS_ON, 0x0d, 0x00, 0x16); 7ac: ba 04 00 00 00 mov $0x4,%edx 7b1: 48 c7 c6 00 00 00 00 mov $0x0,%rsi 7b4: R_X86_64_32S .rodata+0x3e0 7b8: 4c 89 e7 mov %r12,%rdi 7bb: e8 90 fc ff ff callq 450 <ld9040_dcs_write> ld9040_dcs_write_seq_static(ctx, MCS_GTCON, 0x09, 0x00, 0x00); 7c0: ba 04 00 00 00 mov $0x4,%edx 7c5: 4c 89 e7 mov %r12,%rdi 7c8: 48 c7 c6 00 00 00 00 mov $0x0,%rsi 7cb: R_X86_64_32S .rodata+0x3a0 7cf: e8 7c fc ff ff callq 450 <ld9040_dcs_write> ld9040_dcs_write(ctx, ld9040_gammas[ctx->brightness], 7d4: 48 8d bd a8 00 00 00 lea 0xa8(%rbp),%rdi 7db: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax 7e2: fc ff df 7e5: 48 89 fa mov %rdi,%rdx 7e8: 48 c1 ea 03 shr $0x3,%rdx 7ec: 0f b6 04 02 movzbl (%rdx,%rax,1),%eax 7f0: 84 c0 test %al,%al 7f2: 74 08 je 7fc <ld9040_prepare+0x1cc> 7f4: 3c 03 cmp $0x3,%al 7f6: 0f 8e d2 00 00 00 jle 8ce <ld9040_prepare+0x29e> 7fc: 48 63 85 a8 00 00 00 movslq 0xa8(%rbp),%rax 803: 4c 89 e7 mov %r12,%rdi 806: 48 8d 14 80 lea (%rax,%rax,4),%rdx 80a: 48 8d 04 50 lea (%rax,%rdx,2),%rax 80e: ba 16 00 00 00 mov $0x16,%edx 813: 48 8d b4 00 00 00 00 lea 0x0(%rax,%rax,1),%rsi 81a: 00 817: R_X86_64_32S .rodata+0x840 81b: e8 30 fc ff ff callq 450 <ld9040_dcs_write> ld9040_dcs_write_seq_static(ctx, MCS_GAMMA_CTRL, 0x02, 0x5a); 820: ba 03 00 00 00 mov $0x3,%edx 825: 48 c7 c6 00 00 00 00 mov $0x0,%rsi 828: R_X86_64_32S .rodata+0x2e0 82c: 4c 89 e7 mov %r12,%rdi 82f: e8 1c fc ff ff callq 450 <ld9040_dcs_write> ld9040_dcs_write_seq_static(ctx, MIPI_DCS_EXIT_SLEEP_MODE); 834: ba 01 00 00 00 mov $0x1,%edx 839: 48 c7 c6 00 00 00 00 mov $0x0,%rsi 83c: R_X86_64_32S .rodata+0x360 840: 4c 89 e7 mov %r12,%rdi 843: e8 08 fc ff ff callq 450 <ld9040_dcs_write> ld9040_dcs_write_seq_static(ctx, MIPI_DCS_SET_DISPLAY_ON); 848: ba 01 00 00 00 mov $0x1,%edx 84d: 4c 89 e7 mov %r12,%rdi 850: 48 c7 c6 00 00 00 00 mov $0x0,%rsi 853: R_X86_64_32S .rodata+0x320 857: e8 f4 fb ff ff callq 450 <ld9040_dcs_write> int ret = ctx->error; 85c: 48 8d bd ac 00 00 00 lea 0xac(%rbp),%rdi 863: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax 86a: fc ff df 86d: 48 89 fa mov %rdi,%rdx 870: 48 c1 ea 03 shr $0x3,%rdx 874: 0f b6 14 02 movzbl (%rdx,%rax,1),%edx 878: 48 89 f8 mov %rdi,%rax 87b: 83 e0 07 and $0x7,%eax 87e: 83 c0 03 add $0x3,%eax 881: 38 d0 cmp %dl,%al 883: 7c 04 jl 889 <ld9040_prepare+0x259> 885: 84 d2 test %dl,%dl 887: 75 3e jne 8c7 <ld9040_prepare+0x297> 889: 44 8b ad ac 00 00 00 mov 0xac(%rbp),%r13d ctx->error = 0; 890: c7 85 ac 00 00 00 00 movl $0x0,0xac(%rbp) 897: 00 00 00 if (ret < 0) 89a: 45 85 ed test %r13d,%r13d 89d: 78 0b js 8aa <ld9040_prepare+0x27a> } 89f: 5d pop %rbp 8a0: 44 89 e8 mov %r13d,%eax 8a3: 41 5c pop %r12 8a5: 41 5d pop %r13 8a7: 41 5e pop %r14 8a9: c3 retq I don't see it having a stack frame of 8312 bytes? Thanks, -Vladimir ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: drivers/gpu/drm/panel/panel-samsung-ld9040.c:240:12: warning: stack frame size of 8312 bytes in function 'ld9040_prepare' 2020-06-20 22:08 ` Vladimir Oltean @ 2020-06-22 16:50 ` Nick Desaulniers 2020-06-27 19:43 ` Vladimir Oltean 2020-06-22 17:35 ` Sam Ravnborg 1 sibling, 1 reply; 6+ messages in thread From: Nick Desaulniers @ 2020-06-22 16:50 UTC (permalink / raw) To: Vladimir Oltean Cc: kernel test robot, Thierry Reding, sam, David Airlie, Daniel Vetter, dri-devel, kbuild-all, clang-built-linux, lkml, Mark Brown On Sat, Jun 20, 2020 at 3:09 PM Vladimir Oltean <olteanv@gmail.com> wrote: > > On Sat, 20 Jun 2020 at 21:22, kernel test robot <lkp@intel.com> wrote: > > > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master > > head: 4333a9b0b67bb4e8bcd91bdd80da80b0ec151162 > > commit: 79591b7db21d255db158afaa48c557dcab631a1c spi: Add a PTP system timestamp to the transfer structure > > date: 9 months ago > > config: x86_64-randconfig-a014-20200620 (attached as .config) > > compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project f5bbe390d23d7da0ffb110cdb24b583c2dc87eba) > > reproduce (this is a W=1 build): > > wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross > > chmod +x ~/bin/make.cross > > # install x86_64 cross compiling tool for clang build > > # apt-get install binutils-x86-64-linux-gnu > > git checkout 79591b7db21d255db158afaa48c557dcab631a1c > > # save the attached .config to linux build tree > > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 > > > > If you fix the issue, kindly add following tag as appropriate > > Reported-by: kernel test robot <lkp@intel.com> > > > > All warnings (new ones prefixed by >>, old ones prefixed by <<): > > > > >> drivers/gpu/drm/panel/panel-samsung-ld9040.c:240:12: warning: stack frame size of 8312 bytes in function 'ld9040_prepare' [-Wframe-larger-than=] > > static int ld9040_prepare(struct drm_panel *panel) > > ^ > > 1 warning generated. > > > > vim +/ld9040_prepare +240 drivers/gpu/drm/panel/panel-samsung-ld9040.c > > > > ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 239 > > 099b3e8699322e drivers/gpu/drm/panel/panel-ld9040.c Ajay Kumar 2014-07-31 @240 static int ld9040_prepare(struct drm_panel *panel) > > ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 241 { > > ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 242 struct ld9040 *ctx = panel_to_ld9040(panel); > > ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 243 int ret; > > ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 244 > > ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 245 ret = ld9040_power_on(ctx); > > ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 246 if (ret < 0) > > ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 247 return ret; > > ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 248 > > ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 249 ld9040_init(ctx); > > ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 250 > > ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 251 ret = ld9040_clear_error(ctx); > > ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 252 > > ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 253 if (ret < 0) > > 8141028278c2ea drivers/gpu/drm/panel/panel-ld9040.c Ajay Kumar 2014-07-31 254 ld9040_unprepare(panel); > > ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 255 > > ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 256 return ret; > > ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 257 } > > ff219937763253 drivers/gpu/drm/panel/panel-ld9040.c Andrzej Hajda 2014-03-26 258 > > > > :::::: The code at line 240 was first introduced by commit > > :::::: 099b3e8699322efb7229913d2c1651588205f182 drm/panel: ld9040: Add dummy prepare and unprepare routines > > > > :::::: TO: Ajay Kumar <ajaykumar.rs@samsung.com> > > :::::: CC: Thierry Reding <treding@nvidia.com> > > > > --- > > 0-DAY CI Kernel Test Service, Intel Corporation > > https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org > > I really don't get what's the problem here. The listing of > ld9040_prepare at the given commit and with the given .config is: I wrote a tool to help debug these. https://github.com/ClangBuiltLinux/frame-larger-than If you fetch the randconfig and rebuild with debug info, that tool will help show you which variables are used in which stack frames and what their sizes are. Also note that strange things get dug up from randconfigs. > > 0000000000000630 <ld9040_prepare>: > { > 630: f3 0f 1e fa endbr64 > 634: e8 00 00 00 00 callq 639 <ld9040_prepare+0x9> > 635: R_X86_64_PLT32 __fentry__-0x4 > 639: 41 56 push %r14 > ret = regulator_bulk_enable(ARRAY_SIZE(ctx->supplies), ctx->supplies); > 63b: 48 8d 77 30 lea 0x30(%rdi),%rsi > { > 63f: 41 55 push %r13 > 641: 41 54 push %r12 > ret = regulator_bulk_enable(ARRAY_SIZE(ctx->supplies), ctx->supplies); > 643: 4c 8d 67 f8 lea -0x8(%rdi),%r12 > { > 647: 55 push %rbp > 648: 48 89 fd mov %rdi,%rbp > ret = regulator_bulk_enable(ARRAY_SIZE(ctx->supplies), ctx->supplies); > 64b: bf 02 00 00 00 mov $0x2,%edi > 650: e8 00 00 00 00 callq 655 <ld9040_prepare+0x25> > 651: R_X86_64_PLT32 regulator_bulk_enable-0x4 > 655: 41 89 c5 mov %eax,%r13d > if (ret < 0) > 658: 85 c0 test %eax,%eax > 65a: 0f 88 3f 02 00 00 js 89f <ld9040_prepare+0x26f> > msleep(ctx->power_on_delay); > 660: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax > 667: fc ff df > 66a: 48 8d 7d 68 lea 0x68(%rbp),%rdi > 66e: 48 89 fa mov %rdi,%rdx > 671: 48 c1 ea 03 shr $0x3,%rdx > 675: 0f b6 04 02 movzbl (%rdx,%rax,1),%eax > 679: 84 c0 test %al,%al > 67b: 74 08 je 685 <ld9040_prepare+0x55> > 67d: 3c 03 cmp $0x3,%al > 67f: 0f 8e 38 02 00 00 jle 8bd <ld9040_prepare+0x28d> > 685: 8b 7d 68 mov 0x68(%rbp),%edi > gpiod_set_value(ctx->reset_gpio, 0); > 688: 4c 8d 75 60 lea 0x60(%rbp),%r14 > msleep(ctx->power_on_delay); > 68c: e8 00 00 00 00 callq 691 <ld9040_prepare+0x61> > 68d: R_X86_64_PLT32 msleep-0x4 > gpiod_set_value(ctx->reset_gpio, 0); > 691: 4c 89 f2 mov %r14,%rdx > 694: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax > 69b: fc ff df > 69e: 48 c1 ea 03 shr $0x3,%rdx > 6a2: 80 3c 02 00 cmpb $0x0,(%rdx,%rax,1) > 6a6: 0f 85 53 02 00 00 jne 8ff <ld9040_prepare+0x2cf> > 6ac: 48 8b 7d 60 mov 0x60(%rbp),%rdi > msleep(ctx->reset_delay); > 6b0: 4c 8d 6d 6c lea 0x6c(%rbp),%r13 > gpiod_set_value(ctx->reset_gpio, 0); > 6b4: 31 f6 xor %esi,%esi > 6b6: e8 00 00 00 00 callq 6bb <ld9040_prepare+0x8b> > 6b7: R_X86_64_PLT32 gpiod_set_value-0x4 > msleep(ctx->reset_delay); > 6bb: 4c 89 ea mov %r13,%rdx > 6be: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax > 6c5: fc ff df > 6c8: 48 c1 ea 03 shr $0x3,%rdx > 6cc: 0f b6 14 02 movzbl (%rdx,%rax,1),%edx > 6d0: 4c 89 e8 mov %r13,%rax > 6d3: 83 e0 07 and $0x7,%eax > 6d6: 83 c0 03 add $0x3,%eax > 6d9: 38 d0 cmp %dl,%al > 6db: 7c 08 jl 6e5 <ld9040_prepare+0xb5> > 6dd: 84 d2 test %dl,%dl > 6df: 0f 85 00 02 00 00 jne 8e5 <ld9040_prepare+0x2b5> > 6e5: 8b 7d 6c mov 0x6c(%rbp),%edi > 6e8: e8 00 00 00 00 callq 6ed <ld9040_prepare+0xbd> > 6e9: R_X86_64_PLT32 msleep-0x4 > gpiod_set_value(ctx->reset_gpio, 1); > 6ed: 4c 89 f2 mov %r14,%rdx > 6f0: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax > 6f7: fc ff df > 6fa: 48 c1 ea 03 shr $0x3,%rdx > 6fe: 80 3c 02 00 cmpb $0x0,(%rdx,%rax,1) > 702: 0f 85 ea 01 00 00 jne 8f2 <ld9040_prepare+0x2c2> > 708: 48 8b 7d 60 mov 0x60(%rbp),%rdi > 70c: be 01 00 00 00 mov $0x1,%esi > 711: e8 00 00 00 00 callq 716 <ld9040_prepare+0xe6> > 712: R_X86_64_PLT32 gpiod_set_value-0x4 > msleep(ctx->reset_delay); > 716: 4c 89 ea mov %r13,%rdx > 719: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax > 720: fc ff df > 723: 48 c1 ea 03 shr $0x3,%rdx > 727: 0f b6 14 02 movzbl (%rdx,%rax,1),%edx > 72b: 4c 89 e8 mov %r13,%rax > 72e: 83 e0 07 and $0x7,%eax > 731: 83 c0 03 add $0x3,%eax > 734: 38 d0 cmp %dl,%al > 736: 7c 08 jl 740 <ld9040_prepare+0x110> > 738: 84 d2 test %dl,%dl > 73a: 0f 85 98 01 00 00 jne 8d8 <ld9040_prepare+0x2a8> > 740: 8b 7d 6c mov 0x6c(%rbp),%edi > 743: e8 00 00 00 00 callq 748 <ld9040_prepare+0x118> > 744: R_X86_64_PLT32 msleep-0x4 > ld9040_dcs_write_seq_static(ctx, MCS_USER_SETTING, 0x5a, 0x5a); > 748: ba 03 00 00 00 mov $0x3,%edx > 74d: 48 c7 c6 00 00 00 00 mov $0x0,%rsi > 750: R_X86_64_32S .rodata+0x520 > 754: 4c 89 e7 mov %r12,%rdi > 757: e8 f4 fc ff ff callq 450 <ld9040_dcs_write> > ld9040_dcs_write_seq_static(ctx, MCS_PANEL_CONDITION, > 75c: ba 18 00 00 00 mov $0x18,%edx > 761: 48 c7 c6 00 00 00 00 mov $0x0,%rsi > 764: R_X86_64_32S .rodata+0x4e0 > 768: 4c 89 e7 mov %r12,%rdi > 76b: e8 e0 fc ff ff callq 450 <ld9040_dcs_write> > ld9040_dcs_write_seq_static(ctx, MCS_DISPCTL, > 770: ba 06 00 00 00 mov $0x6,%edx > 775: 48 c7 c6 00 00 00 00 mov $0x0,%rsi > 778: R_X86_64_32S .rodata+0x4a0 > 77c: 4c 89 e7 mov %r12,%rdi > 77f: e8 cc fc ff ff callq 450 <ld9040_dcs_write> > ld9040_dcs_write_seq_static(ctx, MCS_MANPWR, 0x04); > 784: ba 02 00 00 00 mov $0x2,%edx > 789: 48 c7 c6 00 00 00 00 mov $0x0,%rsi > 78c: R_X86_64_32S .rodata+0x460 > 790: 4c 89 e7 mov %r12,%rdi > 793: e8 b8 fc ff ff callq 450 <ld9040_dcs_write> > ld9040_dcs_write_seq_static(ctx, MCS_POWER_CTRL, > 798: ba 08 00 00 00 mov $0x8,%edx > 79d: 48 c7 c6 00 00 00 00 mov $0x0,%rsi > 7a0: R_X86_64_32S .rodata+0x420 > 7a4: 4c 89 e7 mov %r12,%rdi > 7a7: e8 a4 fc ff ff callq 450 <ld9040_dcs_write> > ld9040_dcs_write_seq_static(ctx, MCS_ELVSS_ON, 0x0d, 0x00, 0x16); > 7ac: ba 04 00 00 00 mov $0x4,%edx > 7b1: 48 c7 c6 00 00 00 00 mov $0x0,%rsi > 7b4: R_X86_64_32S .rodata+0x3e0 > 7b8: 4c 89 e7 mov %r12,%rdi > 7bb: e8 90 fc ff ff callq 450 <ld9040_dcs_write> > ld9040_dcs_write_seq_static(ctx, MCS_GTCON, 0x09, 0x00, 0x00); > 7c0: ba 04 00 00 00 mov $0x4,%edx > 7c5: 4c 89 e7 mov %r12,%rdi > 7c8: 48 c7 c6 00 00 00 00 mov $0x0,%rsi > 7cb: R_X86_64_32S .rodata+0x3a0 > 7cf: e8 7c fc ff ff callq 450 <ld9040_dcs_write> > ld9040_dcs_write(ctx, ld9040_gammas[ctx->brightness], > 7d4: 48 8d bd a8 00 00 00 lea 0xa8(%rbp),%rdi > 7db: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax > 7e2: fc ff df > 7e5: 48 89 fa mov %rdi,%rdx > 7e8: 48 c1 ea 03 shr $0x3,%rdx > 7ec: 0f b6 04 02 movzbl (%rdx,%rax,1),%eax > 7f0: 84 c0 test %al,%al > 7f2: 74 08 je 7fc <ld9040_prepare+0x1cc> > 7f4: 3c 03 cmp $0x3,%al > 7f6: 0f 8e d2 00 00 00 jle 8ce <ld9040_prepare+0x29e> > 7fc: 48 63 85 a8 00 00 00 movslq 0xa8(%rbp),%rax > 803: 4c 89 e7 mov %r12,%rdi > 806: 48 8d 14 80 lea (%rax,%rax,4),%rdx > 80a: 48 8d 04 50 lea (%rax,%rdx,2),%rax > 80e: ba 16 00 00 00 mov $0x16,%edx > 813: 48 8d b4 00 00 00 00 lea 0x0(%rax,%rax,1),%rsi > 81a: 00 > 817: R_X86_64_32S .rodata+0x840 > 81b: e8 30 fc ff ff callq 450 <ld9040_dcs_write> > ld9040_dcs_write_seq_static(ctx, MCS_GAMMA_CTRL, 0x02, 0x5a); > 820: ba 03 00 00 00 mov $0x3,%edx > 825: 48 c7 c6 00 00 00 00 mov $0x0,%rsi > 828: R_X86_64_32S .rodata+0x2e0 > 82c: 4c 89 e7 mov %r12,%rdi > 82f: e8 1c fc ff ff callq 450 <ld9040_dcs_write> > ld9040_dcs_write_seq_static(ctx, MIPI_DCS_EXIT_SLEEP_MODE); > 834: ba 01 00 00 00 mov $0x1,%edx > 839: 48 c7 c6 00 00 00 00 mov $0x0,%rsi > 83c: R_X86_64_32S .rodata+0x360 > 840: 4c 89 e7 mov %r12,%rdi > 843: e8 08 fc ff ff callq 450 <ld9040_dcs_write> > ld9040_dcs_write_seq_static(ctx, MIPI_DCS_SET_DISPLAY_ON); > 848: ba 01 00 00 00 mov $0x1,%edx > 84d: 4c 89 e7 mov %r12,%rdi > 850: 48 c7 c6 00 00 00 00 mov $0x0,%rsi > 853: R_X86_64_32S .rodata+0x320 > 857: e8 f4 fb ff ff callq 450 <ld9040_dcs_write> > int ret = ctx->error; > 85c: 48 8d bd ac 00 00 00 lea 0xac(%rbp),%rdi > 863: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax > 86a: fc ff df > 86d: 48 89 fa mov %rdi,%rdx > 870: 48 c1 ea 03 shr $0x3,%rdx > 874: 0f b6 14 02 movzbl (%rdx,%rax,1),%edx > 878: 48 89 f8 mov %rdi,%rax > 87b: 83 e0 07 and $0x7,%eax > 87e: 83 c0 03 add $0x3,%eax > 881: 38 d0 cmp %dl,%al > 883: 7c 04 jl 889 <ld9040_prepare+0x259> > 885: 84 d2 test %dl,%dl > 887: 75 3e jne 8c7 <ld9040_prepare+0x297> > 889: 44 8b ad ac 00 00 00 mov 0xac(%rbp),%r13d > ctx->error = 0; > 890: c7 85 ac 00 00 00 00 movl $0x0,0xac(%rbp) > 897: 00 00 00 > if (ret < 0) > 89a: 45 85 ed test %r13d,%r13d > 89d: 78 0b js 8aa <ld9040_prepare+0x27a> > } > 89f: 5d pop %rbp > 8a0: 44 89 e8 mov %r13d,%eax > 8a3: 41 5c pop %r12 > 8a5: 41 5d pop %r13 > 8a7: 41 5e pop %r14 > 8a9: c3 retq > > I don't see it having a stack frame of 8312 bytes? > > Thanks, > -Vladimir > > -- > You received this message because you are subscribed to the Google Groups "Clang Built Linux" group. > To unsubscribe from this group and stop receiving emails from it, send an email to clang-built-linux+unsubscribe@googlegroups.com. > To view this discussion on the web visit https://groups.google.com/d/msgid/clang-built-linux/CA%2Bh21hpABfDvthiwq_JwWGpqZ68VJxu5TOBVbw_Gaxpq8j%2BXQg%40mail.gmail.com. -- Thanks, ~Nick Desaulniers ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: drivers/gpu/drm/panel/panel-samsung-ld9040.c:240:12: warning: stack frame size of 8312 bytes in function 'ld9040_prepare' 2020-06-22 16:50 ` Nick Desaulniers @ 2020-06-27 19:43 ` Vladimir Oltean 2020-06-29 18:18 ` Nick Desaulniers 0 siblings, 1 reply; 6+ messages in thread From: Vladimir Oltean @ 2020-06-27 19:43 UTC (permalink / raw) To: Nick Desaulniers Cc: kernel test robot, Thierry Reding, sam, David Airlie, Daniel Vetter, dri-devel, kbuild-all, clang-built-linux, lkml, Mark Brown Hi Nick, On Mon, 22 Jun 2020 at 19:50, Nick Desaulniers <ndesaulniers@google.com> wrote: > > > I really don't get what's the problem here. The listing of > > ld9040_prepare at the given commit and with the given .config is: > > I wrote a tool to help debug these. > https://github.com/ClangBuiltLinux/frame-larger-than > If you fetch the randconfig and rebuild with debug info, that tool > will help show you which variables are used in which stack frames and > what their sizes are. Also note that strange things get dug up from > randconfigs. > > > -- > Thanks, > ~Nick Desaulniers I ran your tool and it basically told me that all 11 calls to ld9040_dcs_write from within ld9040_init are inlined by the compiler. Each of these ld9040_dcs_write functions calls ld9040_spi_write_word twice, so 22 inline calls to that. Now, sizeof(struct spi_transfer)=136 and sizeof(struct spi_message)=104, so, no wonder we run out of stack pretty quickly. But my question is: what's wrong with the code, if anything at all? Why does the compiler try to inline it, and then complain that it's using too much stack when basically nobody appears to have asked it to inline it? Thanks, -Vladimir ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: drivers/gpu/drm/panel/panel-samsung-ld9040.c:240:12: warning: stack frame size of 8312 bytes in function 'ld9040_prepare' 2020-06-27 19:43 ` Vladimir Oltean @ 2020-06-29 18:18 ` Nick Desaulniers 0 siblings, 0 replies; 6+ messages in thread From: Nick Desaulniers @ 2020-06-29 18:18 UTC (permalink / raw) To: Vladimir Oltean Cc: kernel test robot, Thierry Reding, Sam Ravnborg, David Airlie, Daniel Vetter, dri-devel, kbuild-all, clang-built-linux, lkml, Mark Brown On Sat, Jun 27, 2020 at 12:43 PM Vladimir Oltean <olteanv@gmail.com> wrote: > > Hi Nick, > > On Mon, 22 Jun 2020 at 19:50, Nick Desaulniers <ndesaulniers@google.com> wrote: > > > > > > I really don't get what's the problem here. The listing of > > > ld9040_prepare at the given commit and with the given .config is: > > > > I wrote a tool to help debug these. > > https://github.com/ClangBuiltLinux/frame-larger-than > > If you fetch the randconfig and rebuild with debug info, that tool > > will help show you which variables are used in which stack frames and > > what their sizes are. Also note that strange things get dug up from > > randconfigs. > > > > > > -- > > Thanks, > > ~Nick Desaulniers > > I ran your tool and it basically told me that all 11 calls to Cool? No bugs running it? (I still need to extend support for many architectures) > ld9040_dcs_write from within ld9040_init are inlined by the compiler. > Each of these ld9040_dcs_write functions calls ld9040_spi_write_word > twice, so 22 inline calls to that. Now, sizeof(struct > spi_transfer)=136 and sizeof(struct spi_message)=104, so, no wonder we > run out of stack pretty quickly. I'd expect these to have distinct lifetimes resulting in stack slot reuse. When the compiler inlines functions, it introduces a lexical scope. You can imagine it inlining the body, but within a new `{}` delineated compound statement. Then the compiler knows that the variables local to those scopes can't outlive each other, and can reuse their stack slots in the containing function. Escape analysis comes into play, too, but I'm not sure that's an issue here. > > But my question is: what's wrong with the code, if anything at all? The general case we try to find+fix with this warning is excessively large stack allocations that probably should be heap allocated, percpu, or static. Also, the `noinline_for_stack` function annotation is used frequently for this. One known case of issues are the sanitizers, which can generally prevent the reuse of stack slots. Were any of those set in this config, since this was a randconfig? I'd check this first, then consider if `noinline_for_stack` is appropriate on any of the related functions. > Why does the compiler try to inline it, and then complain that it's > using too much stack The flag -Wframe-larger-than= is a warning on semantics, not really an optimization flag controlling the maximum stack depth of the function being inlined into. > when basically nobody appears to have asked it to > inline it? That's not really how inlining works. If you don't specify compiler attributes, then the compiler can decide to inline or not at its discretion. The `inline` keyword or its absence doesn't really affect this. __attribute__((always_inline)) and __attribute__((noinline)) can give you more control, but there are hyper obscure edge cases where even those don't work as advertised. -- Thanks, ~Nick Desaulniers ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: drivers/gpu/drm/panel/panel-samsung-ld9040.c:240:12: warning: stack frame size of 8312 bytes in function 'ld9040_prepare' 2020-06-20 22:08 ` Vladimir Oltean 2020-06-22 16:50 ` Nick Desaulniers @ 2020-06-22 17:35 ` Sam Ravnborg 1 sibling, 0 replies; 6+ messages in thread From: Sam Ravnborg @ 2020-06-22 17:35 UTC (permalink / raw) To: Vladimir Oltean Cc: kernel test robot, thierry.reding, airlied, daniel, dri-devel, kbuild-all, clang-built-linux, lkml, Mark Brown Hi Vladimir > I really don't get what's the problem here. The listing of > ld9040_prepare at the given commit and with the given .config is: The culprint is likely ld9040_brightness_set() that is inlined. I think we have troubles with static u8 const ld9040_gammas[25][22] I did not look closely but if you can reproduce this is where I think you should look. Sam ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2020-06-29 21:43 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-06-20 18:21 drivers/gpu/drm/panel/panel-samsung-ld9040.c:240:12: warning: stack frame size of 8312 bytes in function 'ld9040_prepare' kernel test robot 2020-06-20 22:08 ` Vladimir Oltean 2020-06-22 16:50 ` Nick Desaulniers 2020-06-27 19:43 ` Vladimir Oltean 2020-06-29 18:18 ` Nick Desaulniers 2020-06-22 17:35 ` Sam Ravnborg
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).