drivers/gpu/drm/nouveau/nvkm/engine/gr/gk20a.c:87:1: warning: no previous prototype for 'gk20a_gr_aiv_to_init'

From: kbuild test robot
Date: Thu May 28 2020 - 06:36:19 EST


Hi Ben,

FYI, the error/warning still remains.

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: b0c3ba31be3e45a130e13b278cf3b90f69bda6f6
commit: a2bfb50e72aeb139801109e3b4eb73ac53bde314 drm/nouveau/gr/gk20a,gm200-: use nvkm_firmware_load_blob for sw init
date: 4 months ago
config: arm64-sof-customedconfig-xrun-debug-defconfig (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0
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
git checkout a2bfb50e72aeb139801109e3b4eb73ac53bde314
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm64

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>, old ones prefixed by <<):

drivers/gpu/drm/nouveau/nvkm/engine/gr/gk20a.c:37:1: warning: no previous prototype for 'gk20a_gr_av_to_init' [-Wmissing-prototypes]
37 | gk20a_gr_av_to_init(struct gf100_gr *gr, const char *path, const char *name,
| ^~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/nouveau/nvkm/engine/gr/gk20a.c:87:1: warning: no previous prototype for 'gk20a_gr_aiv_to_init' [-Wmissing-prototypes]
87 | gk20a_gr_aiv_to_init(struct gf100_gr *gr, const char *path, const char *name,
| ^~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/nouveau/nvkm/engine/gr/gk20a.c:130:1: warning: no previous prototype for 'gk20a_gr_av_to_method' [-Wmissing-prototypes]
130 | gk20a_gr_av_to_method(struct gf100_gr *gr, const char *path, const char *name,
| ^~~~~~~~~~~~~~~~~~~~~

vim +/gk20a_gr_aiv_to_init +87 drivers/gpu/drm/nouveau/nvkm/engine/gr/gk20a.c

85
86 int
> 87 gk20a_gr_aiv_to_init(struct gf100_gr *gr, const char *path, const char *name,
88 int ver, struct gf100_gr_pack **ppack)
89 {
90 struct nvkm_subdev *subdev = &gr->base.engine.subdev;
91 struct nvkm_blob blob;
92 struct gf100_gr_init *init;
93 struct gf100_gr_pack *pack;
94 int nent;
95 int ret;
96 int i;
97
98 ret = nvkm_firmware_load_blob(subdev, path, name, ver, &blob);
99 if (ret)
100 return ret;
101
102 nent = (blob.size / sizeof(struct gk20a_fw_aiv));
103 pack = vzalloc((sizeof(*pack) * 2) + (sizeof(*init) * (nent + 1)));
104 if (!pack) {
105 ret = -ENOMEM;
106 goto end;
107 }
108
109 init = (void *)(pack + 2);
110 pack[0].init = init;
111
112 for (i = 0; i < nent; i++) {
113 struct gf100_gr_init *ent = &init[i];
114 struct gk20a_fw_aiv *av = &((struct gk20a_fw_aiv *)blob.data)[i];
115
116 ent->addr = av->addr;
117 ent->data = av->data;
118 ent->count = 1;
119 ent->pitch = 1;
120 }
121
122 *ppack = pack;
123
124 end:
125 nvkm_blob_dtor(&blob);
126 return ret;
127 }
128

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip