#include <media/v4l2-device.h>
#include <media/v4l2-event.h>
#include <media/v4l2-ioctl.h>
#include <media/v4l2-mc.h>
#include <media/videobuf2-dma-contig.h>
#include <media/videobuf2-v4l2.h>
#include "sun6i_isp.h"
#include "sun6i_isp_capture.h"
#include "sun6i_isp_proc.h"
#include "sun6i_isp_reg.h"
void sun6i_isp_capture_dimensions(struct sun6i_isp_device *isp_dev,
unsigned int *width, unsigned int *height)
{ … }
void sun6i_isp_capture_format(struct sun6i_isp_device *isp_dev,
u32 *pixelformat)
{ … }
static const struct sun6i_isp_capture_format sun6i_isp_capture_formats[] = …;
const struct sun6i_isp_capture_format *
sun6i_isp_capture_format_find(u32 pixelformat)
{ … }
static void
sun6i_isp_capture_buffer_configure(struct sun6i_isp_device *isp_dev,
struct sun6i_isp_buffer *isp_buffer)
{ … }
void sun6i_isp_capture_configure(struct sun6i_isp_device *isp_dev)
{ … }
static void sun6i_isp_capture_state_cleanup(struct sun6i_isp_device *isp_dev,
bool error)
{ … }
void sun6i_isp_capture_state_update(struct sun6i_isp_device *isp_dev,
bool *update)
{ … }
void sun6i_isp_capture_state_complete(struct sun6i_isp_device *isp_dev)
{ … }
void sun6i_isp_capture_finish(struct sun6i_isp_device *isp_dev)
{ … }
static int sun6i_isp_capture_queue_setup(struct vb2_queue *queue,
unsigned int *buffers_count,
unsigned int *planes_count,
unsigned int sizes[],
struct device *alloc_devs[])
{ … }
static int sun6i_isp_capture_buffer_prepare(struct vb2_buffer *vb2_buffer)
{ … }
static void sun6i_isp_capture_buffer_queue(struct vb2_buffer *vb2_buffer)
{ … }
static int sun6i_isp_capture_start_streaming(struct vb2_queue *queue,
unsigned int count)
{ … }
static void sun6i_isp_capture_stop_streaming(struct vb2_queue *queue)
{ … }
static const struct vb2_ops sun6i_isp_capture_queue_ops = …;
static void sun6i_isp_capture_format_prepare(struct v4l2_format *format)
{ … }
static int sun6i_isp_capture_querycap(struct file *file, void *private,
struct v4l2_capability *capability)
{ … }
static int sun6i_isp_capture_enum_fmt(struct file *file, void *private,
struct v4l2_fmtdesc *fmtdesc)
{ … }
static int sun6i_isp_capture_g_fmt(struct file *file, void *private,
struct v4l2_format *format)
{ … }
static int sun6i_isp_capture_s_fmt(struct file *file, void *private,
struct v4l2_format *format)
{ … }
static int sun6i_isp_capture_try_fmt(struct file *file, void *private,
struct v4l2_format *format)
{ … }
static int sun6i_isp_capture_enum_input(struct file *file, void *private,
struct v4l2_input *input)
{ … }
static int sun6i_isp_capture_g_input(struct file *file, void *private,
unsigned int *index)
{ … }
static int sun6i_isp_capture_s_input(struct file *file, void *private,
unsigned int index)
{ … }
static const struct v4l2_ioctl_ops sun6i_isp_capture_ioctl_ops = …;
static int sun6i_isp_capture_open(struct file *file)
{ … }
static int sun6i_isp_capture_release(struct file *file)
{ … }
static const struct v4l2_file_operations sun6i_isp_capture_fops = …;
static int sun6i_isp_capture_link_validate(struct media_link *link)
{ … }
static const struct media_entity_operations sun6i_isp_capture_entity_ops = …;
int sun6i_isp_capture_setup(struct sun6i_isp_device *isp_dev)
{ … }
void sun6i_isp_capture_cleanup(struct sun6i_isp_device *isp_dev)
{ … }