#include <media/v4l2-device.h>
#include <media/v4l2-event.h>
#include <media/v4l2-ioctl.h>
#include <media/v4l2-mc.h>
#include <media/videobuf2-vmalloc.h>
#include <media/videobuf2-v4l2.h>
#include "sun6i_isp.h"
#include "sun6i_isp_params.h"
#include "sun6i_isp_reg.h"
#include "uapi/sun6i-isp-config.h"
static const struct sun6i_isp_params_config sun6i_isp_params_config_default = …;
static void sun6i_isp_params_configure_ob(struct sun6i_isp_device *isp_dev)
{ … }
static void sun6i_isp_params_configure_ae(struct sun6i_isp_device *isp_dev)
{ … }
static void
sun6i_isp_params_configure_bayer(struct sun6i_isp_device *isp_dev,
const struct sun6i_isp_params_config *config)
{ … }
static void sun6i_isp_params_configure_wb(struct sun6i_isp_device *isp_dev)
{ … }
static void sun6i_isp_params_configure_base(struct sun6i_isp_device *isp_dev)
{ … }
static void
sun6i_isp_params_configure_bdnf(struct sun6i_isp_device *isp_dev,
const struct sun6i_isp_params_config *config)
{ … }
static void
sun6i_isp_params_configure_modules(struct sun6i_isp_device *isp_dev,
const struct sun6i_isp_params_config *config)
{ … }
void sun6i_isp_params_configure(struct sun6i_isp_device *isp_dev)
{ … }
static void sun6i_isp_params_state_cleanup(struct sun6i_isp_device *isp_dev,
bool error)
{ … }
void sun6i_isp_params_state_update(struct sun6i_isp_device *isp_dev,
bool *update)
{ … }
void sun6i_isp_params_state_complete(struct sun6i_isp_device *isp_dev)
{ … }
static int sun6i_isp_params_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_params_buffer_prepare(struct vb2_buffer *vb2_buffer)
{ … }
static void sun6i_isp_params_buffer_queue(struct vb2_buffer *vb2_buffer)
{ … }
static int sun6i_isp_params_start_streaming(struct vb2_queue *queue,
unsigned int count)
{ … }
static void sun6i_isp_params_stop_streaming(struct vb2_queue *queue)
{ … }
static const struct vb2_ops sun6i_isp_params_queue_ops = …;
static int sun6i_isp_params_querycap(struct file *file, void *private,
struct v4l2_capability *capability)
{ … }
static int sun6i_isp_params_enum_fmt(struct file *file, void *private,
struct v4l2_fmtdesc *fmtdesc)
{ … }
static int sun6i_isp_params_g_fmt(struct file *file, void *private,
struct v4l2_format *format)
{ … }
static const struct v4l2_ioctl_ops sun6i_isp_params_ioctl_ops = …;
static const struct v4l2_file_operations sun6i_isp_params_fops = …;
int sun6i_isp_params_setup(struct sun6i_isp_device *isp_dev)
{ … }
void sun6i_isp_params_cleanup(struct sun6i_isp_device *isp_dev)
{ … }