Lines Matching refs:fileio

103 	WARN_ON(block->fileio && block->state != IIO_BLOCK_STATE_DEAD);  in iio_buffer_block_release()
105 if (block->fileio) { in iio_buffer_block_release()
175 struct iio_dma_buffer_queue *queue, size_t size, bool fileio) in iio_dma_buffer_alloc_block() argument
183 if (fileio) { in iio_dma_buffer_alloc_block()
192 block->fileio = fileio; in iio_dma_buffer_alloc_block()
201 if (!fileio) in iio_dma_buffer_alloc_block()
244 if (!block->fileio) in iio_dma_buffer_block_done()
278 if (!block->fileio) in iio_dma_buffer_block_list_abort()
284 if (queue->fileio.enabled) in iio_dma_buffer_block_list_abort()
285 queue->fileio.enabled = false; in iio_dma_buffer_block_list_abort()
315 return queue->fileio.enabled || !atomic_read(&queue->num_dmabufs); in iio_dma_buffer_can_use_fileio()
344 queue->fileio.enabled = iio_dma_buffer_can_use_fileio(queue); in iio_dma_buffer_request_update()
347 if (!queue->fileio.enabled) in iio_dma_buffer_request_update()
351 if (PAGE_ALIGN(queue->fileio.block_size) == PAGE_ALIGN(size)) in iio_dma_buffer_request_update()
354 queue->fileio.block_size = size; in iio_dma_buffer_request_update()
355 queue->fileio.active_block = NULL; in iio_dma_buffer_request_update()
358 for (i = 0; i < ARRAY_SIZE(queue->fileio.blocks); i++) { in iio_dma_buffer_request_update()
359 block = queue->fileio.blocks[i]; in iio_dma_buffer_request_update()
375 for (i = 0; i < ARRAY_SIZE(queue->fileio.blocks); i++) { in iio_dma_buffer_request_update()
376 if (queue->fileio.blocks[i]) { in iio_dma_buffer_request_update()
377 block = queue->fileio.blocks[i]; in iio_dma_buffer_request_update()
395 queue->fileio.blocks[i] = block; in iio_dma_buffer_request_update()
430 for (i = 0; i < ARRAY_SIZE(queue->fileio.blocks); i++) { in iio_dma_buffer_fileio_free()
431 if (!queue->fileio.blocks[i]) in iio_dma_buffer_fileio_free()
433 queue->fileio.blocks[i]->state = IIO_BLOCK_STATE_DEAD; in iio_dma_buffer_fileio_free()
439 for (i = 0; i < ARRAY_SIZE(queue->fileio.blocks); i++) { in iio_dma_buffer_fileio_free()
440 if (!queue->fileio.blocks[i]) in iio_dma_buffer_fileio_free()
442 iio_buffer_block_put(queue->fileio.blocks[i]); in iio_dma_buffer_fileio_free()
443 queue->fileio.blocks[i] = NULL; in iio_dma_buffer_fileio_free()
445 queue->fileio.active_block = NULL; in iio_dma_buffer_fileio_free()
466 if (!block->fileio) in iio_dma_buffer_submit_block()
556 idx = queue->fileio.next_dequeue; in iio_dma_buffer_dequeue()
557 block = queue->fileio.blocks[idx]; in iio_dma_buffer_dequeue()
560 idx = (idx + 1) % ARRAY_SIZE(queue->fileio.blocks); in iio_dma_buffer_dequeue()
561 queue->fileio.next_dequeue = idx; in iio_dma_buffer_dequeue()
584 if (!queue->fileio.active_block) { in iio_dma_buffer_io()
590 queue->fileio.pos = 0; in iio_dma_buffer_io()
591 queue->fileio.active_block = block; in iio_dma_buffer_io()
593 block = queue->fileio.active_block; in iio_dma_buffer_io()
597 if (n > block->bytes_used - queue->fileio.pos) in iio_dma_buffer_io()
598 n = block->bytes_used - queue->fileio.pos; in iio_dma_buffer_io()
599 addr = block->vaddr + queue->fileio.pos; in iio_dma_buffer_io()
610 queue->fileio.pos += n; in iio_dma_buffer_io()
612 if (queue->fileio.pos == block->bytes_used) { in iio_dma_buffer_io()
613 queue->fileio.active_block = NULL; in iio_dma_buffer_io()
681 if (queue->fileio.active_block) in iio_dma_buffer_usage()
682 data_available += queue->fileio.active_block->size; in iio_dma_buffer_usage()
686 for (i = 0; i < ARRAY_SIZE(queue->fileio.blocks); i++) { in iio_dma_buffer_usage()
687 block = queue->fileio.blocks[i]; in iio_dma_buffer_usage()
689 if (block != queue->fileio.active_block in iio_dma_buffer_usage()
714 if (queue->fileio.enabled) in iio_dma_buffer_attach_dmabuf()
741 if (queue->fileio.enabled) in iio_dma_can_enqueue_block()