Lines Matching full:planes
222 * Allocate memory for all planes in this buffer in __vb2_buf_mem_alloc()
227 unsigned long size = PAGE_ALIGN(vb->planes[plane].length); in __vb2_buf_mem_alloc()
230 if (size < vb->planes[plane].length) in __vb2_buf_mem_alloc()
243 vb->planes[plane].mem_priv = mem_priv; in __vb2_buf_mem_alloc()
250 call_void_memop(vb, put, vb->planes[plane - 1].mem_priv); in __vb2_buf_mem_alloc()
251 vb->planes[plane - 1].mem_priv = NULL; in __vb2_buf_mem_alloc()
265 call_void_memop(vb, put, vb->planes[plane].mem_priv); in __vb2_buf_mem_free()
266 vb->planes[plane].mem_priv = NULL; in __vb2_buf_mem_free()
281 if (vb->planes[plane].mem_priv) in __vb2_buf_userptr_put()
282 call_void_memop(vb, put_userptr, vb->planes[plane].mem_priv); in __vb2_buf_userptr_put()
283 vb->planes[plane].mem_priv = NULL; in __vb2_buf_userptr_put()
315 __vb2_plane_dmabuf_put(vb, &vb->planes[plane]); in __vb2_buf_dmabuf_put()
332 vb->planes[plane].mem_priv); in __vb2_buf_mem_prepare()
351 vb->planes[plane].mem_priv); in __vb2_buf_mem_finish()
368 struct vb2_plane *p = &prev->planes[prev->num_planes - 1]; in __setup_offsets()
374 vb->planes[plane].m.offset = off; in __setup_offsets()
379 off += vb->planes[plane].length; in __setup_offsets()
386 * video buffer memory for all buffers/planes on the queue and initializes the
429 vb->planes[plane].length = plane_sizes[plane]; in __vb2_queue_alloc()
430 vb->planes[plane].min_length = plane_sizes[plane]; in __vb2_queue_alloc()
526 if (vb && vb->planes[0].mem_priv) in __vb2_queue_free()
615 void *mem_priv = vb->planes[plane].mem_priv; in vb2_buffer_in_use()
793 * Ask the driver how many buffers and planes per buffer it requires. in vb2_core_reqbufs()
911 * Ask the driver, whether the requested number of buffers, planes per in vb2_core_create_bufs()
975 if (plane_no >= vb->num_planes || !vb->planes[plane_no].mem_priv) in vb2_plane_vaddr()
978 return call_ptr_memop(vb, vaddr, vb->planes[plane_no].mem_priv); in vb2_plane_vaddr()
985 if (plane_no >= vb->num_planes || !vb->planes[plane_no].mem_priv) in vb2_plane_cookie()
988 return call_ptr_memop(vb, cookie, vb->planes[plane_no].mem_priv); in vb2_plane_cookie()
1068 vb, vb->planes); in __prepare_mmap()
1077 struct vb2_plane planes[VB2_MAX_PLANES]; in __prepare_userptr() local
1082 bool reacquired = vb->planes[0].mem_priv == NULL; in __prepare_userptr()
1084 memset(planes, 0, sizeof(planes[0]) * vb->num_planes); in __prepare_userptr()
1087 vb, planes); in __prepare_userptr()
1093 if (vb->planes[plane].m.userptr && in __prepare_userptr()
1094 vb->planes[plane].m.userptr == planes[plane].m.userptr in __prepare_userptr()
1095 && vb->planes[plane].length == planes[plane].length) in __prepare_userptr()
1102 if (planes[plane].length < vb->planes[plane].min_length) { in __prepare_userptr()
1104 planes[plane].length, in __prepare_userptr()
1105 vb->planes[plane].min_length, in __prepare_userptr()
1112 if (vb->planes[plane].mem_priv) { in __prepare_userptr()
1118 call_void_memop(vb, put_userptr, vb->planes[plane].mem_priv); in __prepare_userptr()
1121 vb->planes[plane].mem_priv = NULL; in __prepare_userptr()
1122 vb->planes[plane].bytesused = 0; in __prepare_userptr()
1123 vb->planes[plane].length = 0; in __prepare_userptr()
1124 vb->planes[plane].m.userptr = 0; in __prepare_userptr()
1125 vb->planes[plane].data_offset = 0; in __prepare_userptr()
1130 planes[plane].m.userptr, in __prepare_userptr()
1131 planes[plane].length, q->dma_dir); in __prepare_userptr()
1138 vb->planes[plane].mem_priv = mem_priv; in __prepare_userptr()
1146 vb->planes[plane].bytesused = planes[plane].bytesused; in __prepare_userptr()
1147 vb->planes[plane].length = planes[plane].length; in __prepare_userptr()
1148 vb->planes[plane].m.userptr = planes[plane].m.userptr; in __prepare_userptr()
1149 vb->planes[plane].data_offset = planes[plane].data_offset; in __prepare_userptr()
1154 * One or more planes changed, so we must call buf_init to do in __prepare_userptr()
1174 /* In case of errors, release planes that were already acquired */ in __prepare_userptr()
1176 if (vb->planes[plane].mem_priv) in __prepare_userptr()
1178 vb->planes[plane].mem_priv); in __prepare_userptr()
1179 vb->planes[plane].mem_priv = NULL; in __prepare_userptr()
1180 vb->planes[plane].m.userptr = 0; in __prepare_userptr()
1181 vb->planes[plane].length = 0; in __prepare_userptr()
1192 struct vb2_plane planes[VB2_MAX_PLANES]; in __prepare_dmabuf() local
1197 bool reacquired = vb->planes[0].mem_priv == NULL; in __prepare_dmabuf()
1199 memset(planes, 0, sizeof(planes[0]) * vb->num_planes); in __prepare_dmabuf()
1202 vb, planes); in __prepare_dmabuf()
1207 struct dma_buf *dbuf = dma_buf_get(planes[plane].m.fd); in __prepare_dmabuf()
1217 if (planes[plane].length == 0) in __prepare_dmabuf()
1218 planes[plane].length = dbuf->size; in __prepare_dmabuf()
1220 if (planes[plane].length < vb->planes[plane].min_length) { in __prepare_dmabuf()
1222 planes[plane].length, plane, in __prepare_dmabuf()
1223 vb->planes[plane].min_length); in __prepare_dmabuf()
1230 if (dbuf == vb->planes[plane].dbuf && in __prepare_dmabuf()
1231 vb->planes[plane].length == planes[plane].length) { in __prepare_dmabuf()
1245 __vb2_plane_dmabuf_put(vb, &vb->planes[plane]); in __prepare_dmabuf()
1246 vb->planes[plane].bytesused = 0; in __prepare_dmabuf()
1247 vb->planes[plane].length = 0; in __prepare_dmabuf()
1248 vb->planes[plane].m.fd = 0; in __prepare_dmabuf()
1249 vb->planes[plane].data_offset = 0; in __prepare_dmabuf()
1254 dbuf, planes[plane].length, q->dma_dir); in __prepare_dmabuf()
1262 vb->planes[plane].dbuf = dbuf; in __prepare_dmabuf()
1263 vb->planes[plane].mem_priv = mem_priv; in __prepare_dmabuf()
1272 if (vb->planes[plane].dbuf_mapped) in __prepare_dmabuf()
1275 ret = call_memop(vb, map_dmabuf, vb->planes[plane].mem_priv); in __prepare_dmabuf()
1281 vb->planes[plane].dbuf_mapped = 1; in __prepare_dmabuf()
1289 vb->planes[plane].bytesused = planes[plane].bytesused; in __prepare_dmabuf()
1290 vb->planes[plane].length = planes[plane].length; in __prepare_dmabuf()
1291 vb->planes[plane].m.fd = planes[plane].m.fd; in __prepare_dmabuf()
1292 vb->planes[plane].data_offset = planes[plane].data_offset; in __prepare_dmabuf()
1316 /* In case of errors, release planes that were already acquired */ in __prepare_dmabuf()
1833 * Only remove the buffer from done_list if all planes can be in __vb2_get_done_vb()
2124 * Go over all buffers and their planes, comparing the given offset in __find_plane_by_offset()
2132 if (vb->planes[plane].m.offset == off) { in __find_plane_by_offset()
2188 vb_plane = &vb->planes[plane]; in vb2_core_expbuf()
2268 length = PAGE_ALIGN(vb->planes[plane].length); in vb2_mmap()
2283 ret = call_memop(vb, mmap, vb->planes[plane].mem_priv, vma); in vb2_mmap()
2740 b->planes[0].data_offset < buf->size) { in __vb2_perform_fileio()
2741 buf->pos = b->planes[0].data_offset; in __vb2_perform_fileio()
2793 b->planes[0].bytesused = buf->pos; in __vb2_perform_fileio()