tree: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.4.y head: a33ce4af3470ca75091b7a05ed6259e938186054 commit: 38b2082959efe95b2aa41c38c6a4f2dcdd6c2df1 [8340/8366] media: vb2: Fix videobuf2 to map correct area config: ia64-allmodconfig (attached as .config) compiler: ia64-linux-gcc (GCC) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 38b2082959efe95b2aa41c38c6a4f2dcdd6c2df1 # save the attached .config to linux build tree make.cross ARCH=ia64
All errors (new ones prefixed by >>):
drivers/media//v4l2-core/videobuf2-vmalloc.c: In function
'vb2_vmalloc_get_userptr':
>> drivers/media//v4l2-core/videobuf2-vmalloc.c:103:20: error: implicit
>> declaration of function '__pfn_to_phys'; did you mean 'dma_to_phys'?
>> [-Werror=implicit-function-declaration]
ioremap_nocache(__pfn_to_phys(nums[0]), size + offset);
^~~~~~~~~~~~~
dma_to_phys
cc1: some warnings being treated as errors
vim +103 drivers/media//v4l2-core/videobuf2-vmalloc.c
71
72 static void *vb2_vmalloc_get_userptr(void *alloc_ctx, unsigned long
vaddr,
73 unsigned long size,
74 enum dma_data_direction dma_dir)
75 {
76 struct vb2_vmalloc_buf *buf;
77 struct frame_vector *vec;
78 int n_pages, offset, i;
79
80 buf = kzalloc(sizeof(*buf), GFP_KERNEL);
81 if (!buf)
82 return NULL;
83
84 buf->dma_dir = dma_dir;
85 offset = vaddr & ~PAGE_MASK;
86 buf->size = size;
87 vec = vb2_create_framevec(vaddr, size, dma_dir ==
DMA_FROM_DEVICE);
88 if (IS_ERR(vec))
89 goto fail_pfnvec_create;
90 buf->vec = vec;
91 n_pages = frame_vector_count(vec);
92 if (frame_vector_to_pages(vec) < 0) {
93 unsigned long *nums = frame_vector_pfns(vec);
94
95 /*
96 * We cannot get page pointers for these pfns. Check
memory is
97 * physically contiguous and use direct mapping.
98 */
99 for (i = 1; i < n_pages; i++)
100 if (nums[i-1] + 1 != nums[i])
101 goto fail_map;
102 buf->vaddr = (__force void *)
> 103 ioremap_nocache(__pfn_to_phys(nums[0]), size +
> offset);
104 } else {
105 buf->vaddr = vm_map_ram(frame_vector_pages(vec),
n_pages, -1,
106 PAGE_KERNEL);
107 }
108
109 if (!buf->vaddr)
110 goto fail_map;
111 buf->vaddr += offset;
112 return buf;
113
114 fail_map:
115 vb2_destroy_framevec(vec);
116 fail_pfnvec_create:
117 kfree(buf);
118
119 return NULL;
120 }
121
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
.config.gz
Description: application/gzip
