[gustavoars:testing/wfamnae-next20250325 38/39] drivers/gpu/drm/nouveau/nvif/fifo.c:64:1: warning: the frame size of 1048 bytes is larger than 1024 bytes

From: kernel test robot
Date: Fri Apr 04 2025 - 00:49:51 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux.git testing/wfamnae-next20250325
head: f9d2e5634b74486b65c885d8ead9b4baf2ada1f7
commit: 34d3d057918f442cd214c7f2c64830b9ee5a43d6 [38/39] drm/nouveau: fifo: Avoid -Wflex-array-member-not-at-end warning
config: arc-allyesconfig (https://download.01.org/0day-ci/archive/20250404/202504041254.6e26LBdj-lkp@xxxxxxxxx/config)
compiler: arc-linux-gcc (GCC) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250404/202504041254.6e26LBdj-lkp@xxxxxxxxx/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
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202504041254.6e26LBdj-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

drivers/gpu/drm/nouveau/nvif/fifo.c: In function 'nvif_fifo_runlists':
>> drivers/gpu/drm/nouveau/nvif/fifo.c:64:1: warning: the frame size of 1048 bytes is larger than 1024 bytes [-Wframe-larger-than=]
64 | }
| ^


vim +64 drivers/gpu/drm/nouveau/nvif/fifo.c

cc36205085bb6e Ben Skeggs 2018-05-08 23
cc36205085bb6e Ben Skeggs 2018-05-08 24 static int
cc36205085bb6e Ben Skeggs 2018-05-08 25 nvif_fifo_runlists(struct nvif_device *device)
cc36205085bb6e Ben Skeggs 2018-05-08 26 {
cc36205085bb6e Ben Skeggs 2018-05-08 27 struct nvif_object *object = &device->object;
34d3d057918f44 Gustavo A. R. Silva 2025-04-03 28 DEFINE_RAW_FLEX(struct nv_device_info_v1, a, data, 65);
34d3d057918f44 Gustavo A. R. Silva 2025-04-03 29 struct nv_device_info_v1_data *runlists = &a->data[0];
34d3d057918f44 Gustavo A. R. Silva 2025-04-03 30 struct nv_device_info_v1_data *runlist = &a->data[1];
34d3d057918f44 Gustavo A. R. Silva 2025-04-03 31 const u8 rl_cnt = (__struct_size(a) - sizeof(*a)) / sizeof(*a->data) - 1;
cc36205085bb6e Ben Skeggs 2018-05-08 32 int ret, i;
cc36205085bb6e Ben Skeggs 2018-05-08 33
cc36205085bb6e Ben Skeggs 2018-05-08 34 if (device->runlist)
cc36205085bb6e Ben Skeggs 2018-05-08 35 return 0;
cc36205085bb6e Ben Skeggs 2018-05-08 36
34d3d057918f44 Gustavo A. R. Silva 2025-04-03 37 a->version = 1;
34d3d057918f44 Gustavo A. R. Silva 2025-04-03 38 a->count = (__struct_size(a) - sizeof(*a)) / sizeof(*a->data);
34d3d057918f44 Gustavo A. R. Silva 2025-04-03 39 runlists->mthd = NV_DEVICE_HOST_RUNLISTS;
34d3d057918f44 Gustavo A. R. Silva 2025-04-03 40 for (i = 0; i < rl_cnt; i++) {
34d3d057918f44 Gustavo A. R. Silva 2025-04-03 41 runlist[i].mthd = NV_DEVICE_HOST_RUNLIST_ENGINES;
34d3d057918f44 Gustavo A. R. Silva 2025-04-03 42 runlist[i].data = i;
f8fabd31fabaa3 Ben Skeggs 2021-02-08 43 }
cc36205085bb6e Ben Skeggs 2018-05-08 44
cc36205085bb6e Ben Skeggs 2018-05-08 45 ret = nvif_object_mthd(object, NV_DEVICE_V0_INFO, a, sizeof(*a));
cc36205085bb6e Ben Skeggs 2018-05-08 46 if (ret)
cc36205085bb6e Ben Skeggs 2018-05-08 47 goto done;
cc36205085bb6e Ben Skeggs 2018-05-08 48
34d3d057918f44 Gustavo A. R. Silva 2025-04-03 49 device->runlists = fls64(runlists->data);
6396bb221514d2 Kees Cook 2018-06-12 50 device->runlist = kcalloc(device->runlists, sizeof(*device->runlist),
6396bb221514d2 Kees Cook 2018-06-12 51 GFP_KERNEL);
cc36205085bb6e Ben Skeggs 2018-05-08 52 if (!device->runlist) {
cc36205085bb6e Ben Skeggs 2018-05-08 53 ret = -ENOMEM;
cc36205085bb6e Ben Skeggs 2018-05-08 54 goto done;
cc36205085bb6e Ben Skeggs 2018-05-08 55 }
cc36205085bb6e Ben Skeggs 2018-05-08 56
cc36205085bb6e Ben Skeggs 2018-05-08 57 for (i = 0; i < device->runlists; i++) {
34d3d057918f44 Gustavo A. R. Silva 2025-04-03 58 if (runlist[i].mthd != NV_DEVICE_INFO_INVALID)
34d3d057918f44 Gustavo A. R. Silva 2025-04-03 59 device->runlist[i].engines = runlist[i].data;
cc36205085bb6e Ben Skeggs 2018-05-08 60 }
cc36205085bb6e Ben Skeggs 2018-05-08 61
cc36205085bb6e Ben Skeggs 2018-05-08 62 done:
cc36205085bb6e Ben Skeggs 2018-05-08 63 return ret;
cc36205085bb6e Ben Skeggs 2018-05-08 @64 }
cc36205085bb6e Ben Skeggs 2018-05-08 65

:::::: The code at line 64 was first introduced by commit
:::::: cc36205085bb6e3a4eed1edbe413fd2235cadb27 drm/nouveau/fifo/gk104-: support querying engines available on each runlist

:::::: TO: Ben Skeggs <bskeggs@xxxxxxxxxx>
:::::: CC: Ben Skeggs <bskeggs@xxxxxxxxxx>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki