Hi John,
FYI, the error/warning still remains.
tree:
https://github.com/intel/linux-intel-lts.git 5.10/yocto
head: 5c7b701be7dead87f48760244e31cf0e1597542b
commit: f853204a169c95e2c5cb469c4528aeec6b1b59a2 [1743/7336] dma-buf: heaps: Move
heap-helper logic into the cma_heap implementation
config: mips-allyesconfig (attached as .config)
compiler: mips-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
#
https://github.com/intel/linux-intel-lts/commit/f853204a169c95e2c5cb469c4...
git remote add intel-linux-intel-lts
https://github.com/intel/linux-intel-lts.git
git fetch --no-tags intel-linux-intel-lts 5.10/yocto
git checkout f853204a169c95e2c5cb469c4528aeec6b1b59a2
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=mips
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/dma-buf/heaps/cma_heap.c: In function 'cma_heap_do_vmap':
> drivers/dma-buf/heaps/cma_heap.c:185:10: error: implicit
declaration of function 'vmap'; did you mean 'kmap'?
[-Werror=implicit-function-declaration]
185 | vaddr = vmap(buffer->pages,
buffer->pagecount, VM_MAP, PAGE_KERNEL);
| ^~~~
| kmap
> drivers/dma-buf/heaps/cma_heap.c:185:49: error: 'VM_MAP'
undeclared (first use in this function); did you mean 'VM_MTE'?
185 |
vaddr = vmap(buffer->pages, buffer->pagecount, VM_MAP, PAGE_KERNEL);
| ^~~~~~
| VM_MTE
drivers/dma-buf/heaps/cma_heap.c:185:49: note: each undeclared identifier is reported
only once for each function it appears in
drivers/dma-buf/heaps/cma_heap.c: In function 'cma_heap_vunmap':
> drivers/dma-buf/heaps/cma_heap.c:225:3: error: implicit
declaration of function 'vunmap'; did you mean 'kunmap'?
[-Werror=implicit-function-declaration]
225 | vunmap(buffer->vaddr);
| ^~~~~~
| kunmap
cc1: some warnings being treated as errors
vim +185 drivers/dma-buf/heaps/cma_heap.c
180
181 static void *cma_heap_do_vmap(struct cma_heap_buffer *buffer)
182 {
183 void *vaddr;
184
185 vaddr = vmap(buffer->pages, buffer->pagecount, VM_MAP,
PAGE_KERNEL);
186 if (!vaddr)
187 return ERR_PTR(-ENOMEM);
188
189 return vaddr;
190 }
191
192 static int cma_heap_vmap(struct dma_buf *dmabuf, struct dma_buf_map *map)
193 {
194 struct cma_heap_buffer *buffer = dmabuf->priv;
195 void *vaddr;
196 int ret = 0;
197
198 mutex_lock(&buffer->lock);
199 if (buffer->vmap_cnt) {
200 buffer->vmap_cnt++;
201 dma_buf_map_set_vaddr(map, buffer->vaddr);
202 goto out;
203 }
204
205 vaddr = cma_heap_do_vmap(buffer);
206 if (IS_ERR(vaddr)) {
207 ret = PTR_ERR(vaddr);
208 goto out;
209 }
210 buffer->vaddr = vaddr;
211 buffer->vmap_cnt++;
212 dma_buf_map_set_vaddr(map, buffer->vaddr);
213 out:
214 mutex_unlock(&buffer->lock);
215
216 return ret;
217 }
218
219 static void cma_heap_vunmap(struct dma_buf *dmabuf, struct dma_buf_map *map)
220 {
221 struct cma_heap_buffer *buffer = dmabuf->priv;
222
223 mutex_lock(&buffer->lock);
224 if (!--buffer->vmap_cnt) {
225 vunmap(buffer->vaddr);
226 buffer->vaddr =
NULL;
227 }
228 mutex_unlock(&buffer->lock);
229 dma_buf_map_clear(map);
230 }
231
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org