#include <media/v4l2-common.h>
#include <media/v4l2-event.h>
#include <media/v4l2-ioctl.h>
#include <media/videobuf2-core.h>
#include <media/videobuf2-vmalloc.h>
#include "rkisp1-common.h"
#define RKISP1_PARAMS_DEV_NAME …
#define RKISP1_ISP_PARAMS_REQ_BUFS_MIN …
#define RKISP1_ISP_PARAMS_REQ_BUFS_MAX …
#define RKISP1_ISP_DPCC_METHODS_SET(n) …
#define RKISP1_ISP_DPCC_LINE_THRESH(n) …
#define RKISP1_ISP_DPCC_LINE_MAD_FAC(n) …
#define RKISP1_ISP_DPCC_PG_FAC(n) …
#define RKISP1_ISP_DPCC_RND_THRESH(n) …
#define RKISP1_ISP_DPCC_RG_FAC(n) …
#define RKISP1_ISP_CC_COEFF(n) …
static inline void
rkisp1_param_set_bits(struct rkisp1_params *params, u32 reg, u32 bit_mask)
{ … }
static inline void
rkisp1_param_clear_bits(struct rkisp1_params *params, u32 reg, u32 bit_mask)
{ … }
static void rkisp1_dpcc_config(struct rkisp1_params *params,
const struct rkisp1_cif_isp_dpcc_config *arg)
{ … }
static void rkisp1_bls_config(struct rkisp1_params *params,
const struct rkisp1_cif_isp_bls_config *arg)
{ … }
static void
rkisp1_lsc_matrix_config_v10(struct rkisp1_params *params,
const struct rkisp1_cif_isp_lsc_config *pconfig)
{ … }
static void
rkisp1_lsc_matrix_config_v12(struct rkisp1_params *params,
const struct rkisp1_cif_isp_lsc_config *pconfig)
{ … }
static void rkisp1_lsc_config(struct rkisp1_params *params,
const struct rkisp1_cif_isp_lsc_config *arg)
{ … }
static void rkisp1_flt_config(struct rkisp1_params *params,
const struct rkisp1_cif_isp_flt_config *arg)
{ … }
static int rkisp1_bdm_config(struct rkisp1_params *params,
const struct rkisp1_cif_isp_bdm_config *arg)
{ … }
static void rkisp1_sdg_config(struct rkisp1_params *params,
const struct rkisp1_cif_isp_sdg_config *arg)
{ … }
static void rkisp1_goc_config_v10(struct rkisp1_params *params,
const struct rkisp1_cif_isp_goc_config *arg)
{ … }
static void rkisp1_goc_config_v12(struct rkisp1_params *params,
const struct rkisp1_cif_isp_goc_config *arg)
{ … }
static void rkisp1_ctk_config(struct rkisp1_params *params,
const struct rkisp1_cif_isp_ctk_config *arg)
{ … }
static void rkisp1_ctk_enable(struct rkisp1_params *params, bool en)
{ … }
static void rkisp1_awb_meas_config_v10(struct rkisp1_params *params,
const struct rkisp1_cif_isp_awb_meas_config *arg)
{ … }
static void rkisp1_awb_meas_config_v12(struct rkisp1_params *params,
const struct rkisp1_cif_isp_awb_meas_config *arg)
{ … }
static void
rkisp1_awb_meas_enable_v10(struct rkisp1_params *params,
const struct rkisp1_cif_isp_awb_meas_config *arg,
bool en)
{ … }
static void
rkisp1_awb_meas_enable_v12(struct rkisp1_params *params,
const struct rkisp1_cif_isp_awb_meas_config *arg,
bool en)
{ … }
static void
rkisp1_awb_gain_config_v10(struct rkisp1_params *params,
const struct rkisp1_cif_isp_awb_gain_config *arg)
{ … }
static void
rkisp1_awb_gain_config_v12(struct rkisp1_params *params,
const struct rkisp1_cif_isp_awb_gain_config *arg)
{ … }
static void rkisp1_aec_config_v10(struct rkisp1_params *params,
const struct rkisp1_cif_isp_aec_config *arg)
{ … }
static void rkisp1_aec_config_v12(struct rkisp1_params *params,
const struct rkisp1_cif_isp_aec_config *arg)
{ … }
static void rkisp1_cproc_config(struct rkisp1_params *params,
const struct rkisp1_cif_isp_cproc_config *arg)
{ … }
static void rkisp1_hst_config_v10(struct rkisp1_params *params,
const struct rkisp1_cif_isp_hst_config *arg)
{ … }
static void rkisp1_hst_config_v12(struct rkisp1_params *params,
const struct rkisp1_cif_isp_hst_config *arg)
{ … }
static void
rkisp1_hst_enable_v10(struct rkisp1_params *params,
const struct rkisp1_cif_isp_hst_config *arg, bool en)
{ … }
static void
rkisp1_hst_enable_v12(struct rkisp1_params *params,
const struct rkisp1_cif_isp_hst_config *arg, bool en)
{ … }
static void rkisp1_afm_config_v10(struct rkisp1_params *params,
const struct rkisp1_cif_isp_afc_config *arg)
{ … }
static void rkisp1_afm_config_v12(struct rkisp1_params *params,
const struct rkisp1_cif_isp_afc_config *arg)
{ … }
static void rkisp1_ie_config(struct rkisp1_params *params,
const struct rkisp1_cif_isp_ie_config *arg)
{ … }
static void rkisp1_ie_enable(struct rkisp1_params *params, bool en)
{ … }
static void rkisp1_csm_config(struct rkisp1_params *params)
{ … }
static void rkisp1_dpf_config(struct rkisp1_params *params,
const struct rkisp1_cif_isp_dpf_config *arg)
{ … }
static void
rkisp1_dpf_strength_config(struct rkisp1_params *params,
const struct rkisp1_cif_isp_dpf_strength_config *arg)
{ … }
static void
rkisp1_isp_isr_other_config(struct rkisp1_params *params,
const struct rkisp1_params_cfg *new_params)
{ … }
static void
rkisp1_isp_isr_lsc_config(struct rkisp1_params *params,
const struct rkisp1_params_cfg *new_params)
{ … }
static void rkisp1_isp_isr_meas_config(struct rkisp1_params *params,
struct rkisp1_params_cfg *new_params)
{ … }
static bool rkisp1_params_get_buffer(struct rkisp1_params *params,
struct rkisp1_buffer **buf,
struct rkisp1_params_cfg **cfg)
{ … }
static void rkisp1_params_complete_buffer(struct rkisp1_params *params,
struct rkisp1_buffer *buf,
unsigned int frame_sequence)
{ … }
void rkisp1_params_isr(struct rkisp1_device *rkisp1)
{ … }
static const struct rkisp1_cif_isp_awb_meas_config rkisp1_awb_params_default_config = …;
static const struct rkisp1_cif_isp_aec_config rkisp1_aec_params_default_config = …;
static const struct rkisp1_cif_isp_hst_config rkisp1_hst_params_default_config = …;
static const struct rkisp1_cif_isp_afc_config rkisp1_afc_params_default_config = …;
void rkisp1_params_pre_configure(struct rkisp1_params *params,
enum rkisp1_fmt_raw_pat_type bayer_pat,
enum v4l2_quantization quantization,
enum v4l2_ycbcr_encoding ycbcr_encoding)
{ … }
void rkisp1_params_post_configure(struct rkisp1_params *params)
{ … }
void rkisp1_params_disable(struct rkisp1_params *params)
{ … }
static const struct rkisp1_params_ops rkisp1_v10_params_ops = …;
static const struct rkisp1_params_ops rkisp1_v12_params_ops = …;
static int rkisp1_params_enum_fmt_meta_out(struct file *file, void *priv,
struct v4l2_fmtdesc *f)
{ … }
static int rkisp1_params_g_fmt_meta_out(struct file *file, void *fh,
struct v4l2_format *f)
{ … }
static int rkisp1_params_querycap(struct file *file,
void *priv, struct v4l2_capability *cap)
{ … }
static const struct v4l2_ioctl_ops rkisp1_params_ioctl = …;
static int rkisp1_params_vb2_queue_setup(struct vb2_queue *vq,
unsigned int *num_buffers,
unsigned int *num_planes,
unsigned int sizes[],
struct device *alloc_devs[])
{ … }
static void rkisp1_params_vb2_buf_queue(struct vb2_buffer *vb)
{ … }
static int rkisp1_params_vb2_buf_prepare(struct vb2_buffer *vb)
{ … }
static void rkisp1_params_vb2_stop_streaming(struct vb2_queue *vq)
{ … }
static const struct vb2_ops rkisp1_params_vb2_ops = …;
static const struct v4l2_file_operations rkisp1_params_fops = …;
static int rkisp1_params_init_vb2_queue(struct vb2_queue *q,
struct rkisp1_params *params)
{ … }
static void rkisp1_init_params(struct rkisp1_params *params)
{ … }
int rkisp1_params_register(struct rkisp1_device *rkisp1)
{ … }
void rkisp1_params_unregister(struct rkisp1_device *rkisp1)
{ … }