mirror of https://gitee.com/openkylin/linux.git
media: atomisp: partially get rid of one abstraction layer
The very same macros are defined as CSS_foo and IA_CSS_foo. Remove this abstraction, as it just make things confusing, for no good reason. Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
parent
bdfdd9e7df
commit
c01d554677
|
@ -34,13 +34,13 @@
|
|||
|
||||
static const struct {
|
||||
unsigned int flag;
|
||||
enum atomisp_css_pipe_id pipe_id;
|
||||
enum ia_css_pipe_id pipe_id;
|
||||
} acc_flag_to_pipe[] = {
|
||||
{ ATOMISP_ACC_FW_LOAD_FL_PREVIEW, CSS_PIPE_ID_PREVIEW },
|
||||
{ ATOMISP_ACC_FW_LOAD_FL_COPY, CSS_PIPE_ID_COPY },
|
||||
{ ATOMISP_ACC_FW_LOAD_FL_VIDEO, CSS_PIPE_ID_VIDEO },
|
||||
{ ATOMISP_ACC_FW_LOAD_FL_CAPTURE, CSS_PIPE_ID_CAPTURE },
|
||||
{ ATOMISP_ACC_FW_LOAD_FL_ACC, CSS_PIPE_ID_ACC }
|
||||
{ ATOMISP_ACC_FW_LOAD_FL_PREVIEW, IA_CSS_PIPE_ID_PREVIEW },
|
||||
{ ATOMISP_ACC_FW_LOAD_FL_COPY, IA_CSS_PIPE_ID_COPY },
|
||||
{ ATOMISP_ACC_FW_LOAD_FL_VIDEO, IA_CSS_PIPE_ID_VIDEO },
|
||||
{ ATOMISP_ACC_FW_LOAD_FL_CAPTURE, IA_CSS_PIPE_ID_CAPTURE },
|
||||
{ ATOMISP_ACC_FW_LOAD_FL_ACC, IA_CSS_PIPE_ID_ACC }
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -32,7 +32,7 @@
|
|||
#include "ia_css.h"
|
||||
|
||||
struct atomisp_device;
|
||||
struct atomisp_css_frame;
|
||||
struct ia_css_frame;
|
||||
|
||||
#define MSI_ENABLE_BIT 16
|
||||
#define INTR_DISABLE_BIT 10
|
||||
|
@ -88,7 +88,7 @@ const struct atomisp_format_bridge *get_atomisp_format_bridge_from_mbus(
|
|||
u32 mbus_code);
|
||||
bool atomisp_is_mbuscode_raw(uint32_t code);
|
||||
int atomisp_get_frame_pgnr(struct atomisp_device *isp,
|
||||
const struct atomisp_css_frame *frame, u32 *p_pgnr);
|
||||
const struct ia_css_frame *frame, u32 *p_pgnr);
|
||||
void atomisp_delayed_init_work(struct work_struct *work);
|
||||
|
||||
/*
|
||||
|
@ -301,8 +301,8 @@ int atomisp_set_array_res(struct atomisp_sub_device *asd,
|
|||
* Function to calculate real zoom region for every pipe
|
||||
*/
|
||||
int atomisp_calculate_real_zoom_region(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_dz_config *dz_config,
|
||||
enum atomisp_css_pipe_id css_pipe_id);
|
||||
struct ia_css_dz_config *dz_config,
|
||||
enum ia_css_pipe_id css_pipe_id);
|
||||
|
||||
int atomisp_cp_general_isp_parameters(struct atomisp_sub_device *asd,
|
||||
struct atomisp_parameters *arg,
|
||||
|
@ -372,8 +372,8 @@ int atomisp_freq_scaling(struct atomisp_device *vdev,
|
|||
bool force);
|
||||
|
||||
void atomisp_buf_done(struct atomisp_sub_device *asd, int error,
|
||||
enum atomisp_css_buffer_type buf_type,
|
||||
enum atomisp_css_pipe_id css_pipe_id,
|
||||
enum ia_css_buffer_type buf_type,
|
||||
enum ia_css_pipe_id css_pipe_id,
|
||||
bool q_buffers, enum atomisp_input_stream_id stream_id);
|
||||
|
||||
void atomisp_css_flush(struct atomisp_device *isp);
|
||||
|
|
|
@ -51,7 +51,7 @@ struct atomisp_format_bridge {
|
|||
unsigned int pixelformat;
|
||||
unsigned int depth;
|
||||
u32 mbus_code;
|
||||
enum atomisp_css_frame_format sh_fmt;
|
||||
enum ia_css_frame_format sh_fmt;
|
||||
unsigned char description[32]; /* the same as struct v4l2_fmtdesc */
|
||||
bool planar;
|
||||
};
|
||||
|
|
|
@ -23,100 +23,6 @@
|
|||
#include "../../include/linux/atomisp.h"
|
||||
#include <media/videobuf-vmalloc.h>
|
||||
|
||||
#define CSS_RX_IRQ_INFO_BUFFER_OVERRUN \
|
||||
CSS_ID(CSS_RX_IRQ_INFO_BUFFER_OVERRUN)
|
||||
#define CSS_RX_IRQ_INFO_ENTER_SLEEP_MODE \
|
||||
CSS_ID(CSS_RX_IRQ_INFO_ENTER_SLEEP_MODE)
|
||||
#define CSS_RX_IRQ_INFO_EXIT_SLEEP_MODE \
|
||||
CSS_ID(CSS_RX_IRQ_INFO_EXIT_SLEEP_MODE)
|
||||
#define CSS_RX_IRQ_INFO_ECC_CORRECTED \
|
||||
CSS_ID(CSS_RX_IRQ_INFO_ECC_CORRECTED)
|
||||
#define CSS_RX_IRQ_INFO_ERR_SOT \
|
||||
CSS_ID(CSS_RX_IRQ_INFO_ERR_SOT)
|
||||
#define CSS_RX_IRQ_INFO_ERR_SOT_SYNC \
|
||||
CSS_ID(CSS_RX_IRQ_INFO_ERR_SOT_SYNC)
|
||||
#define CSS_RX_IRQ_INFO_ERR_CONTROL \
|
||||
CSS_ID(CSS_RX_IRQ_INFO_ERR_CONTROL)
|
||||
#define CSS_RX_IRQ_INFO_ERR_ECC_DOUBLE \
|
||||
CSS_ID(CSS_RX_IRQ_INFO_ERR_ECC_DOUBLE)
|
||||
#define CSS_RX_IRQ_INFO_ERR_CRC \
|
||||
CSS_ID(CSS_RX_IRQ_INFO_ERR_CRC)
|
||||
#define CSS_RX_IRQ_INFO_ERR_UNKNOWN_ID \
|
||||
CSS_ID(CSS_RX_IRQ_INFO_ERR_UNKNOWN_ID)
|
||||
#define CSS_RX_IRQ_INFO_ERR_FRAME_SYNC \
|
||||
CSS_ID(CSS_RX_IRQ_INFO_ERR_FRAME_SYNC)
|
||||
#define CSS_RX_IRQ_INFO_ERR_FRAME_DATA \
|
||||
CSS_ID(CSS_RX_IRQ_INFO_ERR_FRAME_DATA)
|
||||
#define CSS_RX_IRQ_INFO_ERR_DATA_TIMEOUT \
|
||||
CSS_ID(CSS_RX_IRQ_INFO_ERR_DATA_TIMEOUT)
|
||||
#define CSS_RX_IRQ_INFO_ERR_UNKNOWN_ESC \
|
||||
CSS_ID(CSS_RX_IRQ_INFO_ERR_UNKNOWN_ESC)
|
||||
#define CSS_RX_IRQ_INFO_ERR_LINE_SYNC \
|
||||
CSS_ID(CSS_RX_IRQ_INFO_ERR_LINE_SYNC)
|
||||
#define CSS_RX_IRQ_INFO_INIT_TIMEOUT \
|
||||
CSS_ID(CSS_RX_IRQ_INFO_INIT_TIMEOUT)
|
||||
|
||||
#define CSS_IRQ_INFO_CSS_RECEIVER_SOF CSS_ID(CSS_IRQ_INFO_CSS_RECEIVER_SOF)
|
||||
#define CSS_IRQ_INFO_CSS_RECEIVER_EOF CSS_ID(CSS_IRQ_INFO_CSS_RECEIVER_EOF)
|
||||
#define CSS_IRQ_INFO_CSS_RECEIVER_FIFO_OVERFLOW \
|
||||
CSS_ID(CSS_IRQ_INFO_CSS_RECEIVER_FIFO_OVERFLOW)
|
||||
#define CSS_EVENT_OUTPUT_FRAME_DONE CSS_EVENT(OUTPUT_FRAME_DONE)
|
||||
#define CSS_EVENT_SEC_OUTPUT_FRAME_DONE CSS_EVENT(SECOND_OUTPUT_FRAME_DONE)
|
||||
#define CSS_EVENT_VF_OUTPUT_FRAME_DONE CSS_EVENT(VF_OUTPUT_FRAME_DONE)
|
||||
#define CSS_EVENT_SEC_VF_OUTPUT_FRAME_DONE CSS_EVENT(SECOND_VF_OUTPUT_FRAME_DONE)
|
||||
#define CSS_EVENT_3A_STATISTICS_DONE CSS_EVENT(3A_STATISTICS_DONE)
|
||||
#define CSS_EVENT_DIS_STATISTICS_DONE CSS_EVENT(DIS_STATISTICS_DONE)
|
||||
#define CSS_EVENT_PIPELINE_DONE CSS_EVENT(PIPELINE_DONE)
|
||||
#define CSS_EVENT_METADATA_DONE CSS_EVENT(METADATA_DONE)
|
||||
#define CSS_EVENT_ACC_STAGE_COMPLETE CSS_EVENT(ACC_STAGE_COMPLETE)
|
||||
#define CSS_EVENT_TIMER CSS_EVENT(TIMER)
|
||||
|
||||
#define CSS_BUFFER_TYPE_METADATA CSS_ID(CSS_BUFFER_TYPE_METADATA)
|
||||
#define CSS_BUFFER_TYPE_3A_STATISTICS CSS_ID(CSS_BUFFER_TYPE_3A_STATISTICS)
|
||||
#define CSS_BUFFER_TYPE_DIS_STATISTICS CSS_ID(CSS_BUFFER_TYPE_DIS_STATISTICS)
|
||||
#define CSS_BUFFER_TYPE_INPUT_FRAME CSS_ID(CSS_BUFFER_TYPE_INPUT_FRAME)
|
||||
#define CSS_BUFFER_TYPE_OUTPUT_FRAME CSS_ID(CSS_BUFFER_TYPE_OUTPUT_FRAME)
|
||||
#define CSS_BUFFER_TYPE_SEC_OUTPUT_FRAME CSS_ID(CSS_BUFFER_TYPE_SEC_OUTPUT_FRAME)
|
||||
#define CSS_BUFFER_TYPE_VF_OUTPUT_FRAME CSS_ID(CSS_BUFFER_TYPE_VF_OUTPUT_FRAME)
|
||||
#define CSS_BUFFER_TYPE_SEC_VF_OUTPUT_FRAME CSS_ID(CSS_BUFFER_TYPE_SEC_VF_OUTPUT_FRAME)
|
||||
#define CSS_BUFFER_TYPE_RAW_OUTPUT_FRAME \
|
||||
CSS_ID(CSS_BUFFER_TYPE_RAW_OUTPUT_FRAME)
|
||||
|
||||
#define CSS_FORMAT_RAW_8 CSS_FORMAT(RAW_8)
|
||||
#define CSS_FORMAT_RAW_10 CSS_FORMAT(RAW_10)
|
||||
#define CSS_FORMAT_RAW_12 CSS_FORMAT(RAW_12)
|
||||
#define CSS_FORMAT_RAW_16 CSS_FORMAT(RAW_16)
|
||||
|
||||
#define CSS_CAPTURE_MODE_RAW CSS_ID(CSS_CAPTURE_MODE_RAW)
|
||||
#define CSS_CAPTURE_MODE_BAYER CSS_ID(CSS_CAPTURE_MODE_BAYER)
|
||||
#define CSS_CAPTURE_MODE_PRIMARY CSS_ID(CSS_CAPTURE_MODE_PRIMARY)
|
||||
#define CSS_CAPTURE_MODE_ADVANCED CSS_ID(CSS_CAPTURE_MODE_ADVANCED)
|
||||
#define CSS_CAPTURE_MODE_LOW_LIGHT CSS_ID(CSS_CAPTURE_MODE_LOW_LIGHT)
|
||||
|
||||
#define CSS_MORPH_TABLE_NUM_PLANES CSS_ID(CSS_MORPH_TABLE_NUM_PLANES)
|
||||
|
||||
#define CSS_FRAME_FORMAT_NV11 CSS_ID(CSS_FRAME_FORMAT_NV11)
|
||||
#define CSS_FRAME_FORMAT_NV12 CSS_ID(CSS_FRAME_FORMAT_NV12)
|
||||
#define CSS_FRAME_FORMAT_NV16 CSS_ID(CSS_FRAME_FORMAT_NV16)
|
||||
#define CSS_FRAME_FORMAT_NV21 CSS_ID(CSS_FRAME_FORMAT_NV21)
|
||||
#define CSS_FRAME_FORMAT_NV61 CSS_ID(CSS_FRAME_FORMAT_NV61)
|
||||
#define CSS_FRAME_FORMAT_YV12 CSS_ID(CSS_FRAME_FORMAT_YV12)
|
||||
#define CSS_FRAME_FORMAT_YV16 CSS_ID(CSS_FRAME_FORMAT_YV16)
|
||||
#define CSS_FRAME_FORMAT_YUV420 CSS_ID(CSS_FRAME_FORMAT_YUV420)
|
||||
#define CSS_FRAME_FORMAT_YUV420_16 CSS_ID(CSS_FRAME_FORMAT_YUV420_16)
|
||||
#define CSS_FRAME_FORMAT_YUV422 CSS_ID(CSS_FRAME_FORMAT_YUV422)
|
||||
#define CSS_FRAME_FORMAT_YUV422_16 CSS_ID(CSS_FRAME_FORMAT_YUV422_16)
|
||||
#define CSS_FRAME_FORMAT_UYVY CSS_ID(CSS_FRAME_FORMAT_UYVY)
|
||||
#define CSS_FRAME_FORMAT_YUYV CSS_ID(CSS_FRAME_FORMAT_YUYV)
|
||||
#define CSS_FRAME_FORMAT_YUV444 CSS_ID(CSS_FRAME_FORMAT_YUV444)
|
||||
#define CSS_FRAME_FORMAT_YUV_LINE CSS_ID(CSS_FRAME_FORMAT_YUV_LINE)
|
||||
#define CSS_FRAME_FORMAT_RAW CSS_ID(CSS_FRAME_FORMAT_RAW)
|
||||
#define CSS_FRAME_FORMAT_RGB565 CSS_ID(CSS_FRAME_FORMAT_RGB565)
|
||||
#define CSS_FRAME_FORMAT_PLANAR_RGB888 CSS_ID(CSS_FRAME_FORMAT_PLANAR_RGB888)
|
||||
#define CSS_FRAME_FORMAT_RGBA888 CSS_ID(CSS_FRAME_FORMAT_RGBA888)
|
||||
#define CSS_FRAME_FORMAT_QPLANE6 CSS_ID(CSS_FRAME_FORMAT_QPLANE6)
|
||||
#define CSS_FRAME_FORMAT_BINARY_8 CSS_ID(CSS_FRAME_FORMAT_BINARY_8)
|
||||
|
||||
struct atomisp_device;
|
||||
struct atomisp_sub_device;
|
||||
struct video_device;
|
||||
|
@ -155,35 +61,35 @@ void atomisp_css_rx_clear_irq_info(enum mipi_port_id port,
|
|||
unsigned int infos);
|
||||
|
||||
int atomisp_css_irq_enable(struct atomisp_device *isp,
|
||||
enum atomisp_css_irq_info info, bool enable);
|
||||
enum ia_css_irq_info info, bool enable);
|
||||
|
||||
int atomisp_q_video_buffer_to_css(struct atomisp_sub_device *asd,
|
||||
struct videobuf_vmalloc_memory *vm_mem,
|
||||
enum atomisp_input_stream_id stream_id,
|
||||
enum atomisp_css_buffer_type css_buf_type,
|
||||
enum atomisp_css_pipe_id css_pipe_id);
|
||||
enum ia_css_buffer_type css_buf_type,
|
||||
enum ia_css_pipe_id css_pipe_id);
|
||||
|
||||
int atomisp_q_s3a_buffer_to_css(struct atomisp_sub_device *asd,
|
||||
struct atomisp_s3a_buf *s3a_buf,
|
||||
enum atomisp_input_stream_id stream_id,
|
||||
enum atomisp_css_pipe_id css_pipe_id);
|
||||
enum ia_css_pipe_id css_pipe_id);
|
||||
|
||||
int atomisp_q_metadata_buffer_to_css(struct atomisp_sub_device *asd,
|
||||
struct atomisp_metadata_buf *metadata_buf,
|
||||
enum atomisp_input_stream_id stream_id,
|
||||
enum atomisp_css_pipe_id css_pipe_id);
|
||||
enum ia_css_pipe_id css_pipe_id);
|
||||
|
||||
int atomisp_q_dis_buffer_to_css(struct atomisp_sub_device *asd,
|
||||
struct atomisp_dis_buf *dis_buf,
|
||||
enum atomisp_input_stream_id stream_id,
|
||||
enum atomisp_css_pipe_id css_pipe_id);
|
||||
enum ia_css_pipe_id css_pipe_id);
|
||||
|
||||
void atomisp_css_mmu_invalidate_cache(void);
|
||||
|
||||
void atomisp_css_mmu_invalidate_tlb(void);
|
||||
|
||||
int atomisp_css_start(struct atomisp_sub_device *asd,
|
||||
enum atomisp_css_pipe_id pipe_id, bool in_reset);
|
||||
enum ia_css_pipe_id pipe_id, bool in_reset);
|
||||
|
||||
void atomisp_css_update_isp_params(struct atomisp_sub_device *asd);
|
||||
void atomisp_css_update_isp_params_on_pipe(struct atomisp_sub_device *asd,
|
||||
|
@ -191,14 +97,14 @@ void atomisp_css_update_isp_params_on_pipe(struct atomisp_sub_device *asd,
|
|||
|
||||
int atomisp_css_queue_buffer(struct atomisp_sub_device *asd,
|
||||
enum atomisp_input_stream_id stream_id,
|
||||
enum atomisp_css_pipe_id pipe_id,
|
||||
enum atomisp_css_buffer_type buf_type,
|
||||
enum ia_css_pipe_id pipe_id,
|
||||
enum ia_css_buffer_type buf_type,
|
||||
struct atomisp_css_buffer *isp_css_buffer);
|
||||
|
||||
int atomisp_css_dequeue_buffer(struct atomisp_sub_device *asd,
|
||||
enum atomisp_input_stream_id stream_id,
|
||||
enum atomisp_css_pipe_id pipe_id,
|
||||
enum atomisp_css_buffer_type buf_type,
|
||||
enum ia_css_pipe_id pipe_id,
|
||||
enum ia_css_buffer_type buf_type,
|
||||
struct atomisp_css_buffer *isp_css_buffer);
|
||||
|
||||
int atomisp_css_allocate_stat_buffers(struct atomisp_sub_device *asd,
|
||||
|
@ -217,7 +123,7 @@ void atomisp_css_free_metadata_buffer(struct atomisp_metadata_buf
|
|||
*metadata_buf);
|
||||
|
||||
int atomisp_css_get_grid_info(struct atomisp_sub_device *asd,
|
||||
enum atomisp_css_pipe_id pipe_id,
|
||||
enum ia_css_pipe_id pipe_id,
|
||||
int source_pad);
|
||||
|
||||
int atomisp_alloc_3a_output_buf(struct atomisp_sub_device *asd);
|
||||
|
@ -287,7 +193,7 @@ void atomisp_css_input_set_binning_factor(struct atomisp_sub_device *asd,
|
|||
|
||||
void atomisp_css_input_set_bayer_order(struct atomisp_sub_device *asd,
|
||||
enum atomisp_input_stream_id stream_id,
|
||||
enum atomisp_css_bayer_order bayer_order);
|
||||
enum ia_css_bayer_order bayer_order);
|
||||
|
||||
void atomisp_css_input_set_format(struct atomisp_sub_device *asd,
|
||||
enum atomisp_input_stream_id stream_id,
|
||||
|
@ -312,10 +218,10 @@ void atomisp_css_enable_raw_binning(struct atomisp_sub_device *asd,
|
|||
void atomisp_css_enable_dz(struct atomisp_sub_device *asd, bool enable);
|
||||
|
||||
void atomisp_css_capture_set_mode(struct atomisp_sub_device *asd,
|
||||
enum atomisp_css_capture_mode mode);
|
||||
enum ia_css_capture_mode mode);
|
||||
|
||||
void atomisp_css_input_set_mode(struct atomisp_sub_device *asd,
|
||||
enum atomisp_css_input_mode mode);
|
||||
enum ia_css_input_mode mode);
|
||||
|
||||
void atomisp_css_capture_enable_online(struct atomisp_sub_device *asd,
|
||||
unsigned short stream_index, bool enable);
|
||||
|
@ -341,24 +247,24 @@ int atomisp_css_input_configure_port(struct atomisp_sub_device *asd,
|
|||
unsigned int metadata_width,
|
||||
unsigned int metadata_height);
|
||||
|
||||
int atomisp_css_frame_allocate(struct atomisp_css_frame **frame,
|
||||
int atomisp_css_frame_allocate(struct ia_css_frame **frame,
|
||||
unsigned int width, unsigned int height,
|
||||
enum atomisp_css_frame_format format,
|
||||
enum ia_css_frame_format format,
|
||||
unsigned int padded_width,
|
||||
unsigned int raw_bit_depth);
|
||||
|
||||
int atomisp_css_frame_allocate_from_info(struct atomisp_css_frame **frame,
|
||||
const struct atomisp_css_frame_info *info);
|
||||
int atomisp_css_frame_allocate_from_info(struct ia_css_frame **frame,
|
||||
const struct ia_css_frame_info *info);
|
||||
|
||||
void atomisp_css_frame_free(struct atomisp_css_frame *frame);
|
||||
void atomisp_css_frame_free(struct ia_css_frame *frame);
|
||||
|
||||
int atomisp_css_frame_map(struct atomisp_css_frame **frame,
|
||||
const struct atomisp_css_frame_info *info,
|
||||
int atomisp_css_frame_map(struct ia_css_frame **frame,
|
||||
const struct ia_css_frame_info *info,
|
||||
const void __user *data, uint16_t attribute,
|
||||
void *context);
|
||||
|
||||
int atomisp_css_set_black_frame(struct atomisp_sub_device *asd,
|
||||
const struct atomisp_css_frame *raw_black_frame);
|
||||
const struct ia_css_frame *raw_black_frame);
|
||||
|
||||
int atomisp_css_allocate_continuous_frames(bool init_time,
|
||||
struct atomisp_sub_device *asd);
|
||||
|
@ -369,7 +275,7 @@ void atomisp_create_pipes_stream(struct atomisp_sub_device *asd);
|
|||
void atomisp_destroy_pipes_stream_force(struct atomisp_sub_device *asd);
|
||||
|
||||
int atomisp_css_stop(struct atomisp_sub_device *asd,
|
||||
enum atomisp_css_pipe_id pipe_id, bool in_reset);
|
||||
enum ia_css_pipe_id pipe_id, bool in_reset);
|
||||
|
||||
int atomisp_css_continuous_set_num_raw_frames(
|
||||
struct atomisp_sub_device *asd,
|
||||
|
@ -382,89 +288,89 @@ int atomisp_css_copy_configure_output(struct atomisp_sub_device *asd,
|
|||
unsigned int stream_index,
|
||||
unsigned int width, unsigned int height,
|
||||
unsigned int padded_width,
|
||||
enum atomisp_css_frame_format format);
|
||||
enum ia_css_frame_format format);
|
||||
|
||||
int atomisp_css_yuvpp_configure_output(struct atomisp_sub_device *asd,
|
||||
unsigned int stream_index,
|
||||
unsigned int width, unsigned int height,
|
||||
unsigned int padded_width,
|
||||
enum atomisp_css_frame_format format);
|
||||
enum ia_css_frame_format format);
|
||||
|
||||
int atomisp_css_yuvpp_configure_viewfinder(
|
||||
struct atomisp_sub_device *asd,
|
||||
unsigned int stream_index,
|
||||
unsigned int width, unsigned int height,
|
||||
unsigned int min_width,
|
||||
enum atomisp_css_frame_format format);
|
||||
enum ia_css_frame_format format);
|
||||
|
||||
int atomisp_css_yuvpp_get_output_frame_info(
|
||||
struct atomisp_sub_device *asd,
|
||||
unsigned int stream_index,
|
||||
struct atomisp_css_frame_info *info);
|
||||
struct ia_css_frame_info *info);
|
||||
|
||||
int atomisp_css_yuvpp_get_viewfinder_frame_info(
|
||||
struct atomisp_sub_device *asd,
|
||||
unsigned int stream_index,
|
||||
struct atomisp_css_frame_info *info);
|
||||
struct ia_css_frame_info *info);
|
||||
|
||||
int atomisp_css_preview_configure_output(struct atomisp_sub_device *asd,
|
||||
unsigned int width, unsigned int height,
|
||||
unsigned int min_width,
|
||||
enum atomisp_css_frame_format format);
|
||||
enum ia_css_frame_format format);
|
||||
|
||||
int atomisp_css_capture_configure_output(struct atomisp_sub_device *asd,
|
||||
unsigned int width, unsigned int height,
|
||||
unsigned int min_width,
|
||||
enum atomisp_css_frame_format format);
|
||||
enum ia_css_frame_format format);
|
||||
|
||||
int atomisp_css_video_configure_output(struct atomisp_sub_device *asd,
|
||||
unsigned int width, unsigned int height,
|
||||
unsigned int min_width,
|
||||
enum atomisp_css_frame_format format);
|
||||
enum ia_css_frame_format format);
|
||||
|
||||
int atomisp_get_css_frame_info(struct atomisp_sub_device *asd,
|
||||
u16 source_pad,
|
||||
struct atomisp_css_frame_info *frame_info);
|
||||
struct ia_css_frame_info *frame_info);
|
||||
|
||||
int atomisp_css_video_configure_viewfinder(struct atomisp_sub_device *asd,
|
||||
unsigned int width, unsigned int height,
|
||||
unsigned int min_width,
|
||||
enum atomisp_css_frame_format format);
|
||||
enum ia_css_frame_format format);
|
||||
|
||||
int atomisp_css_capture_configure_viewfinder(
|
||||
struct atomisp_sub_device *asd,
|
||||
unsigned int width, unsigned int height,
|
||||
unsigned int min_width,
|
||||
enum atomisp_css_frame_format format);
|
||||
enum ia_css_frame_format format);
|
||||
|
||||
int atomisp_css_video_get_viewfinder_frame_info(
|
||||
struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_frame_info *info);
|
||||
struct ia_css_frame_info *info);
|
||||
|
||||
int atomisp_css_capture_get_viewfinder_frame_info(
|
||||
struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_frame_info *info);
|
||||
struct ia_css_frame_info *info);
|
||||
|
||||
int atomisp_css_copy_get_output_frame_info(
|
||||
struct atomisp_sub_device *asd,
|
||||
unsigned int stream_index,
|
||||
struct atomisp_css_frame_info *info);
|
||||
struct ia_css_frame_info *info);
|
||||
|
||||
int atomisp_css_capture_get_output_raw_frame_info(
|
||||
struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_frame_info *info);
|
||||
struct ia_css_frame_info *info);
|
||||
|
||||
int atomisp_css_preview_get_output_frame_info(
|
||||
struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_frame_info *info);
|
||||
struct ia_css_frame_info *info);
|
||||
|
||||
int atomisp_css_capture_get_output_frame_info(
|
||||
struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_frame_info *info);
|
||||
struct ia_css_frame_info *info);
|
||||
|
||||
int atomisp_css_video_get_output_frame_info(
|
||||
struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_frame_info *info);
|
||||
struct ia_css_frame_info *info);
|
||||
|
||||
int atomisp_css_preview_configure_pp_input(
|
||||
struct atomisp_sub_device *asd,
|
||||
|
@ -495,51 +401,51 @@ bool atomisp_css_isp_has_started(void);
|
|||
void atomisp_css_request_flash(struct atomisp_sub_device *asd);
|
||||
|
||||
void atomisp_css_set_wb_config(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_wb_config *wb_config);
|
||||
struct ia_css_wb_config *wb_config);
|
||||
|
||||
void atomisp_css_set_ob_config(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_ob_config *ob_config);
|
||||
struct ia_css_ob_config *ob_config);
|
||||
|
||||
void atomisp_css_set_dp_config(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_dp_config *dp_config);
|
||||
struct ia_css_dp_config *dp_config);
|
||||
|
||||
void atomisp_css_set_de_config(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_de_config *de_config);
|
||||
struct ia_css_de_config *de_config);
|
||||
|
||||
void atomisp_css_set_dz_config(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_dz_config *dz_config);
|
||||
struct ia_css_dz_config *dz_config);
|
||||
|
||||
void atomisp_css_set_default_de_config(struct atomisp_sub_device *asd);
|
||||
|
||||
void atomisp_css_set_ce_config(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_ce_config *ce_config);
|
||||
struct ia_css_ce_config *ce_config);
|
||||
|
||||
void atomisp_css_set_nr_config(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_nr_config *nr_config);
|
||||
struct ia_css_nr_config *nr_config);
|
||||
|
||||
void atomisp_css_set_ee_config(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_ee_config *ee_config);
|
||||
struct ia_css_ee_config *ee_config);
|
||||
|
||||
void atomisp_css_set_tnr_config(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_tnr_config *tnr_config);
|
||||
struct ia_css_tnr_config *tnr_config);
|
||||
|
||||
void atomisp_css_set_cc_config(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_cc_config *cc_config);
|
||||
struct ia_css_cc_config *cc_config);
|
||||
|
||||
void atomisp_css_set_macc_table(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_macc_table *macc_table);
|
||||
struct ia_css_macc_table *macc_table);
|
||||
|
||||
void atomisp_css_set_gamma_table(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_gamma_table *gamma_table);
|
||||
struct ia_css_gamma_table *gamma_table);
|
||||
|
||||
void atomisp_css_set_ctc_table(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_ctc_table *ctc_table);
|
||||
struct ia_css_ctc_table *ctc_table);
|
||||
|
||||
void atomisp_css_set_gc_config(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_gc_config *gc_config);
|
||||
struct ia_css_gc_config *gc_config);
|
||||
|
||||
void atomisp_css_set_3a_config(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_3a_config *s3a_config);
|
||||
struct ia_css_3a_config *s3a_config);
|
||||
|
||||
void atomisp_css_video_set_dis_vector(struct atomisp_sub_device *asd,
|
||||
struct atomisp_dis_vector *vector);
|
||||
|
@ -590,29 +496,29 @@ int atomisp_css_get_formats_config(struct atomisp_sub_device *asd,
|
|||
struct atomisp_formats_config *formats_config);
|
||||
|
||||
void atomisp_css_set_formats_config(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_formats_config *formats_config);
|
||||
struct ia_css_formats_config *formats_config);
|
||||
|
||||
int atomisp_css_get_zoom_factor(struct atomisp_sub_device *asd,
|
||||
unsigned int *zoom);
|
||||
|
||||
struct atomisp_css_shading_table *atomisp_css_shading_table_alloc(
|
||||
struct ia_css_shading_table *atomisp_css_shading_table_alloc(
|
||||
unsigned int width, unsigned int height);
|
||||
|
||||
void atomisp_css_set_shading_table(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_shading_table *table);
|
||||
struct ia_css_shading_table *table);
|
||||
|
||||
void atomisp_css_shading_table_free(struct atomisp_css_shading_table *table);
|
||||
void atomisp_css_shading_table_free(struct ia_css_shading_table *table);
|
||||
|
||||
struct atomisp_css_morph_table *atomisp_css_morph_table_allocate(
|
||||
struct ia_css_morph_table *atomisp_css_morph_table_allocate(
|
||||
unsigned int width, unsigned int height);
|
||||
|
||||
void atomisp_css_set_morph_table(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_morph_table *table);
|
||||
struct ia_css_morph_table *table);
|
||||
|
||||
void atomisp_css_get_morph_table(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_morph_table *table);
|
||||
struct ia_css_morph_table *table);
|
||||
|
||||
void atomisp_css_morph_table_free(struct atomisp_css_morph_table *table);
|
||||
void atomisp_css_morph_table_free(struct ia_css_morph_table *table);
|
||||
|
||||
void atomisp_css_set_cont_prev_start_time(struct atomisp_device *isp,
|
||||
unsigned int overlap);
|
||||
|
@ -631,20 +537,20 @@ int atomisp_css_stop_acc_pipe(struct atomisp_sub_device *asd);
|
|||
void atomisp_css_destroy_acc_pipe(struct atomisp_sub_device *asd);
|
||||
|
||||
int atomisp_css_load_acc_extension(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_fw_info *fw,
|
||||
enum atomisp_css_pipe_id pipe_id,
|
||||
struct ia_css_fw_info *fw,
|
||||
enum ia_css_pipe_id pipe_id,
|
||||
unsigned int type);
|
||||
|
||||
void atomisp_css_unload_acc_extension(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_fw_info *fw,
|
||||
enum atomisp_css_pipe_id pipe_id);
|
||||
struct ia_css_fw_info *fw,
|
||||
enum ia_css_pipe_id pipe_id);
|
||||
|
||||
int atomisp_css_wait_acc_finish(struct atomisp_sub_device *asd);
|
||||
|
||||
void atomisp_css_acc_done(struct atomisp_sub_device *asd);
|
||||
|
||||
int atomisp_css_load_acc_binary(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_fw_info *fw,
|
||||
struct ia_css_fw_info *fw,
|
||||
unsigned int index);
|
||||
|
||||
void atomisp_css_unload_acc_binary(struct atomisp_sub_device *asd);
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -30,97 +30,6 @@
|
|||
#define ATOMISP_CSS2_NUM_OFFLINE_INIT_CONTINUOUS_FRAMES_LOCK_EN 4
|
||||
#define ATOMISP_CSS2_NUM_DVS_FRAME_DELAY 2
|
||||
|
||||
#define atomisp_css_pipe_id ia_css_pipe_id
|
||||
#define atomisp_css_pipeline ia_css_pipe
|
||||
#define atomisp_css_buffer_type ia_css_buffer_type
|
||||
#define atomisp_css_dis_data ia_css_isp_dvs_statistics
|
||||
#define atomisp_css_irq_info ia_css_irq_info
|
||||
#define atomisp_css_isp_config ia_css_isp_config
|
||||
#define atomisp_css_bayer_order ia_css_bayer_order
|
||||
#define atomisp_css_capture_mode ia_css_capture_mode
|
||||
#define atomisp_css_input_mode ia_css_input_mode
|
||||
#define atomisp_css_frame ia_css_frame
|
||||
#define atomisp_css_frame_format ia_css_frame_format
|
||||
#define atomisp_css_frame_info ia_css_frame_info
|
||||
#define atomisp_css_dp_config ia_css_dp_config
|
||||
#define atomisp_css_wb_config ia_css_wb_config
|
||||
#define atomisp_css_cc_config ia_css_cc_config
|
||||
#define atomisp_css_nr_config ia_css_nr_config
|
||||
#define atomisp_css_ee_config ia_css_ee_config
|
||||
#define atomisp_css_ob_config ia_css_ob_config
|
||||
#define atomisp_css_de_config ia_css_de_config
|
||||
#define atomisp_css_dz_config ia_css_dz_config
|
||||
#define atomisp_css_ce_config ia_css_ce_config
|
||||
#define atomisp_css_gc_config ia_css_gc_config
|
||||
#define atomisp_css_tnr_config ia_css_tnr_config
|
||||
#define atomisp_css_cnr_config ia_css_cnr_config
|
||||
#define atomisp_css_ctc_config ia_css_ctc_config
|
||||
#define atomisp_css_3a_config ia_css_3a_config
|
||||
#define atomisp_css_ecd_config ia_css_ecd_config
|
||||
#define atomisp_css_ynr_config ia_css_ynr_config
|
||||
#define atomisp_css_fc_config ia_css_fc_config
|
||||
#define atomisp_css_aa_config ia_css_aa_config
|
||||
#define atomisp_css_baa_config ia_css_aa_config
|
||||
#define atomisp_css_anr_config ia_css_anr_config
|
||||
#define atomisp_css_xnr_config ia_css_xnr_config
|
||||
#define atomisp_css_macc_config ia_css_macc_config
|
||||
#define atomisp_css_gamma_table ia_css_gamma_table
|
||||
#define atomisp_css_ctc_table ia_css_ctc_table
|
||||
#define atomisp_css_macc_table ia_css_macc_table
|
||||
#define atomisp_css_xnr_table ia_css_xnr_table
|
||||
#define atomisp_css_rgb_gamma_table ia_css_rgb_gamma_table
|
||||
#define atomisp_css_anr_thres ia_css_anr_thres
|
||||
#define atomisp_css_dvs_6axis ia_css_dvs_6axis_config
|
||||
#define atomisp_css_grid_info ia_css_grid_info
|
||||
#define atomisp_css_3a_grid_info ia_css_3a_grid_info
|
||||
#define atomisp_css_dvs_grid_info ia_css_dvs_grid_info
|
||||
#define atomisp_css_shading_table ia_css_shading_table
|
||||
#define atomisp_css_morph_table ia_css_morph_table
|
||||
#define atomisp_css_dvs_6axis_config ia_css_dvs_6axis_config
|
||||
#define atomisp_css_fw_info ia_css_fw_info
|
||||
#define atomisp_css_formats_config ia_css_formats_config
|
||||
|
||||
#define CSS_PIPE_ID_PREVIEW IA_CSS_PIPE_ID_PREVIEW
|
||||
#define CSS_PIPE_ID_COPY IA_CSS_PIPE_ID_COPY
|
||||
#define CSS_PIPE_ID_VIDEO IA_CSS_PIPE_ID_VIDEO
|
||||
#define CSS_PIPE_ID_CAPTURE IA_CSS_PIPE_ID_CAPTURE
|
||||
#define CSS_PIPE_ID_ACC IA_CSS_PIPE_ID_ACC
|
||||
#define CSS_PIPE_ID_YUVPP IA_CSS_PIPE_ID_YUVPP
|
||||
#define CSS_PIPE_ID_NUM IA_CSS_PIPE_ID_NUM
|
||||
|
||||
#define CSS_INPUT_MODE_SENSOR IA_CSS_INPUT_MODE_BUFFERED_SENSOR
|
||||
#define CSS_INPUT_MODE_FIFO IA_CSS_INPUT_MODE_FIFO
|
||||
#define CSS_INPUT_MODE_TPG IA_CSS_INPUT_MODE_TPG
|
||||
#define CSS_INPUT_MODE_PRBS IA_CSS_INPUT_MODE_PRBS
|
||||
#define CSS_INPUT_MODE_MEMORY IA_CSS_INPUT_MODE_MEMORY
|
||||
|
||||
#define CSS_IRQ_INFO_CSS_RECEIVER_ERROR IA_CSS_IRQ_INFO_CSS_RECEIVER_ERROR
|
||||
#define CSS_IRQ_INFO_EVENTS_READY IA_CSS_IRQ_INFO_EVENTS_READY
|
||||
#define CSS_IRQ_INFO_INPUT_SYSTEM_ERROR \
|
||||
IA_CSS_IRQ_INFO_INPUT_SYSTEM_ERROR
|
||||
#define CSS_IRQ_INFO_IF_ERROR IA_CSS_IRQ_INFO_IF_ERROR
|
||||
|
||||
#define CSS_BUFFER_TYPE_NUM IA_CSS_BUFFER_TYPE_NUM
|
||||
|
||||
#define CSS_FRAME_FLASH_STATE_NONE IA_CSS_FRAME_FLASH_STATE_NONE
|
||||
#define CSS_FRAME_FLASH_STATE_PARTIAL IA_CSS_FRAME_FLASH_STATE_PARTIAL
|
||||
#define CSS_FRAME_FLASH_STATE_FULL IA_CSS_FRAME_FLASH_STATE_FULL
|
||||
|
||||
#define CSS_BAYER_ORDER_GRBG IA_CSS_BAYER_ORDER_GRBG
|
||||
#define CSS_BAYER_ORDER_RGGB IA_CSS_BAYER_ORDER_RGGB
|
||||
#define CSS_BAYER_ORDER_BGGR IA_CSS_BAYER_ORDER_BGGR
|
||||
#define CSS_BAYER_ORDER_GBRG IA_CSS_BAYER_ORDER_GBRG
|
||||
|
||||
/*
|
||||
* Hide IA_ naming difference in otherwise common CSS macros.
|
||||
*/
|
||||
#define CSS_ID(val) (IA_ ## val)
|
||||
#define CSS_EVENT(val) (IA_CSS_EVENT_TYPE_ ## val)
|
||||
#define CSS_FORMAT(val) (ATOMISP_INPUT_FORMAT_ ## val)
|
||||
|
||||
#define CSS_EVENT_PORT_EOF CSS_EVENT(PORT_EOF)
|
||||
#define CSS_EVENT_FRAME_TAGGED CSS_EVENT(FRAME_TAGGED)
|
||||
|
||||
#define CSS_MIPI_FRAME_BUFFER_SIZE_1 0x60000
|
||||
#define CSS_MIPI_FRAME_BUFFER_SIZE_2 0x80000
|
||||
|
||||
|
@ -181,7 +90,7 @@ struct atomisp_s3a_buf {
|
|||
};
|
||||
|
||||
struct atomisp_dis_buf {
|
||||
struct atomisp_css_dis_data *dis_data;
|
||||
struct ia_css_isp_dvs_statistics *dis_data;
|
||||
struct ia_css_isp_dvs_statistics_map *dvs_map;
|
||||
struct list_head list;
|
||||
};
|
||||
|
@ -191,60 +100,60 @@ struct atomisp_css_buffer {
|
|||
};
|
||||
|
||||
struct atomisp_css_event {
|
||||
enum atomisp_css_pipe_id pipe;
|
||||
enum ia_css_pipe_id pipe;
|
||||
struct ia_css_event event;
|
||||
};
|
||||
|
||||
void atomisp_css_set_macc_config(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_macc_config *macc_config);
|
||||
struct ia_css_macc_config *macc_config);
|
||||
|
||||
void atomisp_css_set_ecd_config(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_ecd_config *ecd_config);
|
||||
struct ia_css_ecd_config *ecd_config);
|
||||
|
||||
void atomisp_css_set_ynr_config(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_ynr_config *ynr_config);
|
||||
struct ia_css_ynr_config *ynr_config);
|
||||
|
||||
void atomisp_css_set_fc_config(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_fc_config *fc_config);
|
||||
struct ia_css_fc_config *fc_config);
|
||||
|
||||
void atomisp_css_set_aa_config(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_aa_config *aa_config);
|
||||
struct ia_css_aa_config *aa_config);
|
||||
|
||||
void atomisp_css_set_baa_config(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_baa_config *baa_config);
|
||||
struct ia_css_aa_config *baa_config);
|
||||
|
||||
void atomisp_css_set_anr_config(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_anr_config *anr_config);
|
||||
struct ia_css_anr_config *anr_config);
|
||||
|
||||
void atomisp_css_set_xnr_config(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_xnr_config *xnr_config);
|
||||
struct ia_css_xnr_config *xnr_config);
|
||||
|
||||
void atomisp_css_set_cnr_config(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_cnr_config *cnr_config);
|
||||
struct ia_css_cnr_config *cnr_config);
|
||||
|
||||
void atomisp_css_set_ctc_config(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_ctc_config *ctc_config);
|
||||
struct ia_css_ctc_config *ctc_config);
|
||||
|
||||
void atomisp_css_set_yuv2rgb_cc_config(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_cc_config *yuv2rgb_cc_config);
|
||||
struct ia_css_cc_config *yuv2rgb_cc_config);
|
||||
|
||||
void atomisp_css_set_rgb2yuv_cc_config(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_cc_config *rgb2yuv_cc_config);
|
||||
struct ia_css_cc_config *rgb2yuv_cc_config);
|
||||
|
||||
void atomisp_css_set_xnr_table(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_xnr_table *xnr_table);
|
||||
struct ia_css_xnr_table *xnr_table);
|
||||
|
||||
void atomisp_css_set_r_gamma_table(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_rgb_gamma_table *r_gamma_table);
|
||||
struct ia_css_rgb_gamma_table *r_gamma_table);
|
||||
|
||||
void atomisp_css_set_g_gamma_table(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_rgb_gamma_table *g_gamma_table);
|
||||
struct ia_css_rgb_gamma_table *g_gamma_table);
|
||||
|
||||
void atomisp_css_set_b_gamma_table(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_rgb_gamma_table *b_gamma_table);
|
||||
struct ia_css_rgb_gamma_table *b_gamma_table);
|
||||
|
||||
void atomisp_css_set_anr_thres(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_anr_thres *anr_thres);
|
||||
struct ia_css_anr_thres *anr_thres);
|
||||
|
||||
int atomisp_css_check_firmware_version(struct atomisp_device *isp);
|
||||
|
||||
|
@ -253,7 +162,7 @@ int atomisp_css_load_firmware(struct atomisp_device *isp);
|
|||
void atomisp_css_unload_firmware(struct atomisp_device *isp);
|
||||
|
||||
void atomisp_css_set_dvs_6axis(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_dvs_6axis *dvs_6axis);
|
||||
struct ia_css_dvs_6axis_config *dvs_6axis);
|
||||
|
||||
unsigned int atomisp_css_debug_get_dtrace_level(void);
|
||||
|
||||
|
@ -267,11 +176,11 @@ void atomisp_css_set_isp_config_id(struct atomisp_sub_device *asd,
|
|||
uint32_t isp_config_id);
|
||||
|
||||
void atomisp_css_set_isp_config_applied_frame(struct atomisp_sub_device *asd,
|
||||
struct atomisp_css_frame *output_frame);
|
||||
struct ia_css_frame *output_frame);
|
||||
|
||||
int atomisp_get_css_dbgfunc(void);
|
||||
|
||||
int atomisp_set_css_dbgfunc(struct atomisp_device *isp, int opt);
|
||||
struct atomisp_css_dvs_grid_info *atomisp_css_get_dvs_grid_info(
|
||||
struct atomisp_css_grid_info *grid_info);
|
||||
struct ia_css_dvs_grid_info *atomisp_css_get_dvs_grid_info(
|
||||
struct ia_css_grid_info *grid_info);
|
||||
#endif
|
||||
|
|
|
@ -88,7 +88,7 @@ static int atomisp_buf_prepare(struct videobuf_queue *vq,
|
|||
|
||||
static int atomisp_q_one_metadata_buffer(struct atomisp_sub_device *asd,
|
||||
enum atomisp_input_stream_id stream_id,
|
||||
enum atomisp_css_pipe_id css_pipe_id)
|
||||
enum ia_css_pipe_id css_pipe_id)
|
||||
{
|
||||
struct atomisp_metadata_buf *metadata_buf;
|
||||
enum atomisp_metadata_type md_type =
|
||||
|
@ -128,7 +128,7 @@ static int atomisp_q_one_metadata_buffer(struct atomisp_sub_device *asd,
|
|||
|
||||
static int atomisp_q_one_s3a_buffer(struct atomisp_sub_device *asd,
|
||||
enum atomisp_input_stream_id stream_id,
|
||||
enum atomisp_css_pipe_id css_pipe_id)
|
||||
enum ia_css_pipe_id css_pipe_id)
|
||||
{
|
||||
struct atomisp_s3a_buf *s3a_buf;
|
||||
struct list_head *s3a_list;
|
||||
|
@ -170,7 +170,7 @@ static int atomisp_q_one_s3a_buffer(struct atomisp_sub_device *asd,
|
|||
|
||||
static int atomisp_q_one_dis_buffer(struct atomisp_sub_device *asd,
|
||||
enum atomisp_input_stream_id stream_id,
|
||||
enum atomisp_css_pipe_id css_pipe_id)
|
||||
enum ia_css_pipe_id css_pipe_id)
|
||||
{
|
||||
struct atomisp_dis_buf *dis_buf;
|
||||
unsigned long irqflags;
|
||||
|
@ -213,12 +213,12 @@ static int atomisp_q_one_dis_buffer(struct atomisp_sub_device *asd,
|
|||
int atomisp_q_video_buffers_to_css(struct atomisp_sub_device *asd,
|
||||
struct atomisp_video_pipe *pipe,
|
||||
enum atomisp_input_stream_id stream_id,
|
||||
enum atomisp_css_buffer_type css_buf_type,
|
||||
enum atomisp_css_pipe_id css_pipe_id)
|
||||
enum ia_css_buffer_type css_buf_type,
|
||||
enum ia_css_pipe_id css_pipe_id)
|
||||
{
|
||||
struct videobuf_vmalloc_memory *vm_mem;
|
||||
struct atomisp_css_params_with_list *param;
|
||||
struct atomisp_css_dvs_grid_info *dvs_grid =
|
||||
struct ia_css_dvs_grid_info *dvs_grid =
|
||||
atomisp_css_get_dvs_grid_info(&asd->params.curr_grid_info);
|
||||
unsigned long irqflags;
|
||||
int err = 0;
|
||||
|
@ -262,7 +262,7 @@ int atomisp_q_video_buffers_to_css(struct atomisp_sub_device *asd,
|
|||
vm_mem->vaddr);
|
||||
atomisp_css_update_isp_params_on_pipe(asd,
|
||||
asd->stream_env[stream_id].pipes[css_pipe_id]);
|
||||
asd->params.dvs_6axis = (struct atomisp_css_dvs_6axis *)
|
||||
asd->params.dvs_6axis = (struct ia_css_dvs_6axis_config *)
|
||||
param->params.dvs_6axis;
|
||||
|
||||
/*
|
||||
|
@ -302,19 +302,19 @@ int atomisp_q_video_buffers_to_css(struct atomisp_sub_device *asd,
|
|||
/* enqueue 3A/DIS/metadata buffers */
|
||||
if (asd->params.curr_grid_info.s3a_grid.enable &&
|
||||
css_pipe_id == asd->params.s3a_enabled_pipe &&
|
||||
css_buf_type == CSS_BUFFER_TYPE_OUTPUT_FRAME)
|
||||
css_buf_type == IA_CSS_BUFFER_TYPE_OUTPUT_FRAME)
|
||||
atomisp_q_one_s3a_buffer(asd, stream_id,
|
||||
css_pipe_id);
|
||||
|
||||
if (asd->stream_env[ATOMISP_INPUT_STREAM_GENERAL].stream_info.
|
||||
metadata_info.size &&
|
||||
css_buf_type == CSS_BUFFER_TYPE_OUTPUT_FRAME)
|
||||
css_buf_type == IA_CSS_BUFFER_TYPE_OUTPUT_FRAME)
|
||||
atomisp_q_one_metadata_buffer(asd, stream_id,
|
||||
css_pipe_id);
|
||||
|
||||
if (dvs_grid && dvs_grid->enable &&
|
||||
css_pipe_id == CSS_PIPE_ID_VIDEO &&
|
||||
css_buf_type == CSS_BUFFER_TYPE_OUTPUT_FRAME)
|
||||
css_pipe_id == IA_CSS_PIPE_ID_VIDEO &&
|
||||
css_buf_type == IA_CSS_BUFFER_TYPE_OUTPUT_FRAME)
|
||||
atomisp_q_one_dis_buffer(asd, stream_id,
|
||||
css_pipe_id);
|
||||
}
|
||||
|
@ -323,7 +323,7 @@ int atomisp_q_video_buffers_to_css(struct atomisp_sub_device *asd,
|
|||
}
|
||||
|
||||
static int atomisp_get_css_buf_type(struct atomisp_sub_device *asd,
|
||||
enum atomisp_css_pipe_id pipe_id,
|
||||
enum ia_css_pipe_id pipe_id,
|
||||
uint16_t source_pad)
|
||||
{
|
||||
if (ATOMISP_USE_YUVPP(asd)) {
|
||||
|
@ -331,24 +331,24 @@ static int atomisp_get_css_buf_type(struct atomisp_sub_device *asd,
|
|||
if (asd->continuous_mode->val &&
|
||||
asd->run_mode->val == ATOMISP_RUN_MODE_PREVIEW) {
|
||||
if (source_pad == ATOMISP_SUBDEV_PAD_SOURCE_CAPTURE)
|
||||
return CSS_BUFFER_TYPE_OUTPUT_FRAME;
|
||||
return IA_CSS_BUFFER_TYPE_OUTPUT_FRAME;
|
||||
else if (source_pad == ATOMISP_SUBDEV_PAD_SOURCE_PREVIEW)
|
||||
return CSS_BUFFER_TYPE_SEC_OUTPUT_FRAME;
|
||||
return IA_CSS_BUFFER_TYPE_SEC_OUTPUT_FRAME;
|
||||
else
|
||||
return CSS_BUFFER_TYPE_VF_OUTPUT_FRAME;
|
||||
return IA_CSS_BUFFER_TYPE_VF_OUTPUT_FRAME;
|
||||
}
|
||||
|
||||
/*when run SDV case*/
|
||||
if (asd->continuous_mode->val &&
|
||||
asd->run_mode->val == ATOMISP_RUN_MODE_VIDEO) {
|
||||
if (source_pad == ATOMISP_SUBDEV_PAD_SOURCE_CAPTURE)
|
||||
return CSS_BUFFER_TYPE_OUTPUT_FRAME;
|
||||
return IA_CSS_BUFFER_TYPE_OUTPUT_FRAME;
|
||||
else if (source_pad == ATOMISP_SUBDEV_PAD_SOURCE_PREVIEW)
|
||||
return CSS_BUFFER_TYPE_SEC_VF_OUTPUT_FRAME;
|
||||
return IA_CSS_BUFFER_TYPE_SEC_VF_OUTPUT_FRAME;
|
||||
else if (source_pad == ATOMISP_SUBDEV_PAD_SOURCE_VIDEO)
|
||||
return CSS_BUFFER_TYPE_SEC_OUTPUT_FRAME;
|
||||
return IA_CSS_BUFFER_TYPE_SEC_OUTPUT_FRAME;
|
||||
else
|
||||
return CSS_BUFFER_TYPE_VF_OUTPUT_FRAME;
|
||||
return IA_CSS_BUFFER_TYPE_VF_OUTPUT_FRAME;
|
||||
}
|
||||
|
||||
/*other case: default setting*/
|
||||
|
@ -356,27 +356,27 @@ static int atomisp_get_css_buf_type(struct atomisp_sub_device *asd,
|
|||
source_pad == ATOMISP_SUBDEV_PAD_SOURCE_VIDEO ||
|
||||
(source_pad == ATOMISP_SUBDEV_PAD_SOURCE_PREVIEW &&
|
||||
asd->run_mode->val != ATOMISP_RUN_MODE_VIDEO))
|
||||
return CSS_BUFFER_TYPE_OUTPUT_FRAME;
|
||||
return IA_CSS_BUFFER_TYPE_OUTPUT_FRAME;
|
||||
else
|
||||
return CSS_BUFFER_TYPE_VF_OUTPUT_FRAME;
|
||||
return IA_CSS_BUFFER_TYPE_VF_OUTPUT_FRAME;
|
||||
}
|
||||
|
||||
if (pipe_id == CSS_PIPE_ID_COPY ||
|
||||
if (pipe_id == IA_CSS_PIPE_ID_COPY ||
|
||||
source_pad == ATOMISP_SUBDEV_PAD_SOURCE_CAPTURE ||
|
||||
source_pad == ATOMISP_SUBDEV_PAD_SOURCE_VIDEO ||
|
||||
(source_pad == ATOMISP_SUBDEV_PAD_SOURCE_PREVIEW &&
|
||||
asd->run_mode->val != ATOMISP_RUN_MODE_VIDEO))
|
||||
return CSS_BUFFER_TYPE_OUTPUT_FRAME;
|
||||
return IA_CSS_BUFFER_TYPE_OUTPUT_FRAME;
|
||||
else
|
||||
return CSS_BUFFER_TYPE_VF_OUTPUT_FRAME;
|
||||
return IA_CSS_BUFFER_TYPE_VF_OUTPUT_FRAME;
|
||||
}
|
||||
|
||||
static int atomisp_qbuffers_to_css_for_all_pipes(struct atomisp_sub_device *asd)
|
||||
{
|
||||
enum atomisp_css_buffer_type buf_type;
|
||||
enum atomisp_css_pipe_id css_capture_pipe_id = CSS_PIPE_ID_COPY;
|
||||
enum atomisp_css_pipe_id css_preview_pipe_id = CSS_PIPE_ID_COPY;
|
||||
enum atomisp_css_pipe_id css_video_pipe_id = CSS_PIPE_ID_COPY;
|
||||
enum ia_css_buffer_type buf_type;
|
||||
enum ia_css_pipe_id css_capture_pipe_id = IA_CSS_PIPE_ID_COPY;
|
||||
enum ia_css_pipe_id css_preview_pipe_id = IA_CSS_PIPE_ID_COPY;
|
||||
enum ia_css_pipe_id css_video_pipe_id = IA_CSS_PIPE_ID_COPY;
|
||||
enum atomisp_input_stream_id input_stream_id;
|
||||
struct atomisp_video_pipe *capture_pipe;
|
||||
struct atomisp_video_pipe *preview_pipe;
|
||||
|
@ -413,10 +413,10 @@ static int atomisp_qbuffers_to_css_for_all_pipes(struct atomisp_sub_device *asd)
|
|||
/* queue all available buffers to css */
|
||||
int atomisp_qbuffers_to_css(struct atomisp_sub_device *asd)
|
||||
{
|
||||
enum atomisp_css_buffer_type buf_type;
|
||||
enum atomisp_css_pipe_id css_capture_pipe_id = CSS_PIPE_ID_NUM;
|
||||
enum atomisp_css_pipe_id css_preview_pipe_id = CSS_PIPE_ID_NUM;
|
||||
enum atomisp_css_pipe_id css_video_pipe_id = CSS_PIPE_ID_NUM;
|
||||
enum ia_css_buffer_type buf_type;
|
||||
enum ia_css_pipe_id css_capture_pipe_id = IA_CSS_PIPE_ID_NUM;
|
||||
enum ia_css_pipe_id css_preview_pipe_id = IA_CSS_PIPE_ID_NUM;
|
||||
enum ia_css_pipe_id css_video_pipe_id = IA_CSS_PIPE_ID_NUM;
|
||||
enum atomisp_input_stream_id input_stream_id;
|
||||
struct atomisp_video_pipe *capture_pipe = NULL;
|
||||
struct atomisp_video_pipe *vf_pipe = NULL;
|
||||
|
@ -432,43 +432,43 @@ int atomisp_qbuffers_to_css(struct atomisp_sub_device *asd)
|
|||
|
||||
if (asd->vfpp->val == ATOMISP_VFPP_DISABLE_SCALER) {
|
||||
video_pipe = &asd->video_out_video_capture;
|
||||
css_video_pipe_id = CSS_PIPE_ID_VIDEO;
|
||||
css_video_pipe_id = IA_CSS_PIPE_ID_VIDEO;
|
||||
} else if (asd->vfpp->val == ATOMISP_VFPP_DISABLE_LOWLAT) {
|
||||
preview_pipe = &asd->video_out_capture;
|
||||
css_preview_pipe_id = CSS_PIPE_ID_CAPTURE;
|
||||
css_preview_pipe_id = IA_CSS_PIPE_ID_CAPTURE;
|
||||
} else if (asd->run_mode->val == ATOMISP_RUN_MODE_VIDEO) {
|
||||
if (asd->continuous_mode->val) {
|
||||
capture_pipe = &asd->video_out_capture;
|
||||
vf_pipe = &asd->video_out_vf;
|
||||
css_capture_pipe_id = CSS_PIPE_ID_CAPTURE;
|
||||
css_capture_pipe_id = IA_CSS_PIPE_ID_CAPTURE;
|
||||
}
|
||||
video_pipe = &asd->video_out_video_capture;
|
||||
preview_pipe = &asd->video_out_preview;
|
||||
css_video_pipe_id = CSS_PIPE_ID_VIDEO;
|
||||
css_preview_pipe_id = CSS_PIPE_ID_VIDEO;
|
||||
css_video_pipe_id = IA_CSS_PIPE_ID_VIDEO;
|
||||
css_preview_pipe_id = IA_CSS_PIPE_ID_VIDEO;
|
||||
} else if (asd->continuous_mode->val) {
|
||||
capture_pipe = &asd->video_out_capture;
|
||||
vf_pipe = &asd->video_out_vf;
|
||||
preview_pipe = &asd->video_out_preview;
|
||||
|
||||
css_preview_pipe_id = CSS_PIPE_ID_PREVIEW;
|
||||
css_capture_pipe_id = CSS_PIPE_ID_CAPTURE;
|
||||
css_preview_pipe_id = IA_CSS_PIPE_ID_PREVIEW;
|
||||
css_capture_pipe_id = IA_CSS_PIPE_ID_CAPTURE;
|
||||
} else if (asd->run_mode->val == ATOMISP_RUN_MODE_PREVIEW) {
|
||||
preview_pipe = &asd->video_out_preview;
|
||||
css_preview_pipe_id = CSS_PIPE_ID_PREVIEW;
|
||||
css_preview_pipe_id = IA_CSS_PIPE_ID_PREVIEW;
|
||||
} else {
|
||||
/* ATOMISP_RUN_MODE_STILL_CAPTURE */
|
||||
capture_pipe = &asd->video_out_capture;
|
||||
if (!raw_mode)
|
||||
vf_pipe = &asd->video_out_vf;
|
||||
css_capture_pipe_id = CSS_PIPE_ID_CAPTURE;
|
||||
css_capture_pipe_id = IA_CSS_PIPE_ID_CAPTURE;
|
||||
}
|
||||
|
||||
#ifdef ISP2401_NEW_INPUT_SYSTEM
|
||||
if (asd->copy_mode) {
|
||||
css_capture_pipe_id = CSS_PIPE_ID_COPY;
|
||||
css_preview_pipe_id = CSS_PIPE_ID_COPY;
|
||||
css_video_pipe_id = CSS_PIPE_ID_COPY;
|
||||
css_capture_pipe_id = IA_CSS_PIPE_ID_COPY;
|
||||
css_preview_pipe_id = IA_CSS_PIPE_ID_COPY;
|
||||
css_video_pipe_id = IA_CSS_PIPE_ID_COPY;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -476,9 +476,9 @@ int atomisp_qbuffers_to_css(struct atomisp_sub_device *asd)
|
|||
capture_pipe = &asd->video_out_capture;
|
||||
video_pipe = &asd->video_out_video_capture;
|
||||
preview_pipe = &asd->video_out_preview;
|
||||
css_capture_pipe_id = CSS_PIPE_ID_COPY;
|
||||
css_video_pipe_id = CSS_PIPE_ID_YUVPP;
|
||||
css_preview_pipe_id = CSS_PIPE_ID_YUVPP;
|
||||
css_capture_pipe_id = IA_CSS_PIPE_ID_COPY;
|
||||
css_video_pipe_id = IA_CSS_PIPE_ID_YUVPP;
|
||||
css_preview_pipe_id = IA_CSS_PIPE_ID_YUVPP;
|
||||
}
|
||||
|
||||
if (capture_pipe) {
|
||||
|
@ -491,7 +491,7 @@ int atomisp_qbuffers_to_css(struct atomisp_sub_device *asd)
|
|||
* use yuvpp pipe for SOC camera.
|
||||
*/
|
||||
if (ATOMISP_USE_YUVPP(asd))
|
||||
css_capture_pipe_id = CSS_PIPE_ID_YUVPP;
|
||||
css_capture_pipe_id = IA_CSS_PIPE_ID_YUVPP;
|
||||
|
||||
atomisp_q_video_buffers_to_css(asd, capture_pipe,
|
||||
input_stream_id,
|
||||
|
@ -511,7 +511,7 @@ int atomisp_qbuffers_to_css(struct atomisp_sub_device *asd)
|
|||
* use yuvpp pipe for SOC camera.
|
||||
*/
|
||||
if (ATOMISP_USE_YUVPP(asd))
|
||||
css_capture_pipe_id = CSS_PIPE_ID_YUVPP;
|
||||
css_capture_pipe_id = IA_CSS_PIPE_ID_YUVPP;
|
||||
atomisp_q_video_buffers_to_css(asd, vf_pipe,
|
||||
input_stream_id,
|
||||
buf_type, css_capture_pipe_id);
|
||||
|
@ -521,10 +521,10 @@ int atomisp_qbuffers_to_css(struct atomisp_sub_device *asd)
|
|||
buf_type = atomisp_get_css_buf_type(
|
||||
asd, css_preview_pipe_id,
|
||||
atomisp_subdev_source_pad(&preview_pipe->vdev));
|
||||
if (ATOMISP_SOC_CAMERA(asd) && css_preview_pipe_id == CSS_PIPE_ID_YUVPP)
|
||||
if (ATOMISP_SOC_CAMERA(asd) && css_preview_pipe_id == IA_CSS_PIPE_ID_YUVPP)
|
||||
input_stream_id = ATOMISP_INPUT_STREAM_GENERAL;
|
||||
/* else for ext isp use case */
|
||||
else if (css_preview_pipe_id == CSS_PIPE_ID_YUVPP)
|
||||
else if (css_preview_pipe_id == IA_CSS_PIPE_ID_YUVPP)
|
||||
input_stream_id = ATOMISP_INPUT_STREAM_VIDEO;
|
||||
else if (asd->stream_env[ATOMISP_INPUT_STREAM_PREVIEW].stream)
|
||||
input_stream_id = ATOMISP_INPUT_STREAM_PREVIEW;
|
||||
|
@ -535,7 +535,7 @@ int atomisp_qbuffers_to_css(struct atomisp_sub_device *asd)
|
|||
* use yuvpp pipe for SOC camera.
|
||||
*/
|
||||
if (ATOMISP_USE_YUVPP(asd))
|
||||
css_preview_pipe_id = CSS_PIPE_ID_YUVPP;
|
||||
css_preview_pipe_id = IA_CSS_PIPE_ID_YUVPP;
|
||||
|
||||
atomisp_q_video_buffers_to_css(asd, preview_pipe,
|
||||
input_stream_id,
|
||||
|
@ -555,7 +555,7 @@ int atomisp_qbuffers_to_css(struct atomisp_sub_device *asd)
|
|||
* use yuvpp pipe for SOC camera.
|
||||
*/
|
||||
if (ATOMISP_USE_YUVPP(asd))
|
||||
css_video_pipe_id = CSS_PIPE_ID_YUVPP;
|
||||
css_video_pipe_id = IA_CSS_PIPE_ID_YUVPP;
|
||||
|
||||
atomisp_q_video_buffers_to_css(asd, video_pipe,
|
||||
input_stream_id,
|
||||
|
@ -717,7 +717,7 @@ static void atomisp_subdev_init_struct(struct atomisp_sub_device *asd)
|
|||
asd->params.online_process = 1;
|
||||
asd->params.yuv_ds_en = 0;
|
||||
/* s3a grid not enabled for any pipe */
|
||||
asd->params.s3a_enabled_pipe = CSS_PIPE_ID_NUM;
|
||||
asd->params.s3a_enabled_pipe = IA_CSS_PIPE_ID_NUM;
|
||||
|
||||
asd->params.offline_parm.num_captures = 1;
|
||||
asd->params.offline_parm.skip_frames = 0;
|
||||
|
@ -1054,7 +1054,7 @@ static int do_isp_mm_remap(struct atomisp_device *isp,
|
|||
}
|
||||
|
||||
static int frame_mmap(struct atomisp_device *isp,
|
||||
const struct atomisp_css_frame *frame, struct vm_area_struct *vma)
|
||||
const struct ia_css_frame *frame, struct vm_area_struct *vma)
|
||||
{
|
||||
ia_css_ptr isp_virt;
|
||||
u32 host_virt;
|
||||
|
@ -1127,7 +1127,7 @@ int atomisp_videobuf_mmap_mapper(struct videobuf_queue *q,
|
|||
* There is also padding on the right (padded_width - width).
|
||||
*/
|
||||
static int remove_pad_from_frame(struct atomisp_device *isp,
|
||||
struct atomisp_css_frame *in_frame, __u32 width, __u32 height)
|
||||
struct ia_css_frame *in_frame, __u32 width, __u32 height)
|
||||
{
|
||||
unsigned int i;
|
||||
unsigned short *buffer;
|
||||
|
@ -1164,7 +1164,7 @@ static int atomisp_mmap(struct file *file, struct vm_area_struct *vma)
|
|||
struct atomisp_device *isp = video_get_drvdata(vdev);
|
||||
struct atomisp_video_pipe *pipe = atomisp_to_video_pipe(vdev);
|
||||
struct atomisp_sub_device *asd = pipe->asd;
|
||||
struct atomisp_css_frame *raw_virt_addr;
|
||||
struct ia_css_frame *raw_virt_addr;
|
||||
u32 start = vma->vm_start;
|
||||
u32 end = vma->vm_end;
|
||||
u32 size = end - start;
|
||||
|
|
|
@ -24,8 +24,8 @@
|
|||
int atomisp_q_video_buffers_to_css(struct atomisp_sub_device *asd,
|
||||
struct atomisp_video_pipe *pipe,
|
||||
enum atomisp_input_stream_id stream_id,
|
||||
enum atomisp_css_buffer_type css_buf_type,
|
||||
enum atomisp_css_pipe_id css_pipe_id);
|
||||
enum ia_css_buffer_type css_buf_type,
|
||||
enum ia_css_pipe_id css_pipe_id);
|
||||
|
||||
unsigned int atomisp_dev_users(struct atomisp_device *isp);
|
||||
unsigned int atomisp_sub_dev_users(struct atomisp_sub_device *asd);
|
||||
|
|
|
@ -341,163 +341,163 @@ const struct atomisp_format_bridge atomisp_output_fmts[] = {
|
|||
.pixelformat = V4L2_PIX_FMT_YUV420,
|
||||
.depth = 12,
|
||||
.mbus_code = V4L2_MBUS_FMT_CUSTOM_YUV420,
|
||||
.sh_fmt = CSS_FRAME_FORMAT_YUV420,
|
||||
.sh_fmt = IA_CSS_FRAME_FORMAT_YUV420,
|
||||
.description = "YUV420, planar",
|
||||
.planar = true
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_YVU420,
|
||||
.depth = 12,
|
||||
.mbus_code = V4L2_MBUS_FMT_CUSTOM_YVU420,
|
||||
.sh_fmt = CSS_FRAME_FORMAT_YV12,
|
||||
.sh_fmt = IA_CSS_FRAME_FORMAT_YV12,
|
||||
.description = "YVU420, planar",
|
||||
.planar = true
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_YUV422P,
|
||||
.depth = 16,
|
||||
.mbus_code = V4L2_MBUS_FMT_CUSTOM_YUV422P,
|
||||
.sh_fmt = CSS_FRAME_FORMAT_YUV422,
|
||||
.sh_fmt = IA_CSS_FRAME_FORMAT_YUV422,
|
||||
.description = "YUV422, planar",
|
||||
.planar = true
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_YUV444,
|
||||
.depth = 24,
|
||||
.mbus_code = V4L2_MBUS_FMT_CUSTOM_YUV444,
|
||||
.sh_fmt = CSS_FRAME_FORMAT_YUV444,
|
||||
.sh_fmt = IA_CSS_FRAME_FORMAT_YUV444,
|
||||
.description = "YUV444"
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_NV12,
|
||||
.depth = 12,
|
||||
.mbus_code = V4L2_MBUS_FMT_CUSTOM_NV12,
|
||||
.sh_fmt = CSS_FRAME_FORMAT_NV12,
|
||||
.sh_fmt = IA_CSS_FRAME_FORMAT_NV12,
|
||||
.description = "NV12, Y-plane, CbCr interleaved",
|
||||
.planar = true
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_NV21,
|
||||
.depth = 12,
|
||||
.mbus_code = V4L2_MBUS_FMT_CUSTOM_NV21,
|
||||
.sh_fmt = CSS_FRAME_FORMAT_NV21,
|
||||
.sh_fmt = IA_CSS_FRAME_FORMAT_NV21,
|
||||
.description = "NV21, Y-plane, CbCr interleaved",
|
||||
.planar = true
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_NV16,
|
||||
.depth = 16,
|
||||
.mbus_code = V4L2_MBUS_FMT_CUSTOM_NV16,
|
||||
.sh_fmt = CSS_FRAME_FORMAT_NV16,
|
||||
.sh_fmt = IA_CSS_FRAME_FORMAT_NV16,
|
||||
.description = "NV16, Y-plane, CbCr interleaved",
|
||||
.planar = true
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_YUYV,
|
||||
.depth = 16,
|
||||
.mbus_code = V4L2_MBUS_FMT_CUSTOM_YUYV,
|
||||
.sh_fmt = CSS_FRAME_FORMAT_YUYV,
|
||||
.sh_fmt = IA_CSS_FRAME_FORMAT_YUYV,
|
||||
.description = "YUYV, interleaved"
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_UYVY,
|
||||
.depth = 16,
|
||||
.mbus_code = MEDIA_BUS_FMT_UYVY8_1X16,
|
||||
.sh_fmt = CSS_FRAME_FORMAT_UYVY,
|
||||
.sh_fmt = IA_CSS_FRAME_FORMAT_UYVY,
|
||||
.description = "UYVY, interleaved"
|
||||
}, { /* This one is for parallel sensors! DO NOT USE! */
|
||||
.pixelformat = V4L2_PIX_FMT_UYVY,
|
||||
.depth = 16,
|
||||
.mbus_code = MEDIA_BUS_FMT_UYVY8_2X8,
|
||||
.sh_fmt = CSS_FRAME_FORMAT_UYVY,
|
||||
.sh_fmt = IA_CSS_FRAME_FORMAT_UYVY,
|
||||
.description = "UYVY, interleaved"
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_SBGGR16,
|
||||
.depth = 16,
|
||||
.mbus_code = V4L2_MBUS_FMT_CUSTOM_SBGGR16,
|
||||
.sh_fmt = CSS_FRAME_FORMAT_RAW,
|
||||
.sh_fmt = IA_CSS_FRAME_FORMAT_RAW,
|
||||
.description = "Bayer 16"
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_SBGGR8,
|
||||
.depth = 8,
|
||||
.mbus_code = MEDIA_BUS_FMT_SBGGR8_1X8,
|
||||
.sh_fmt = CSS_FRAME_FORMAT_RAW,
|
||||
.sh_fmt = IA_CSS_FRAME_FORMAT_RAW,
|
||||
.description = "Bayer 8"
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_SGBRG8,
|
||||
.depth = 8,
|
||||
.mbus_code = MEDIA_BUS_FMT_SGBRG8_1X8,
|
||||
.sh_fmt = CSS_FRAME_FORMAT_RAW,
|
||||
.sh_fmt = IA_CSS_FRAME_FORMAT_RAW,
|
||||
.description = "Bayer 8"
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_SGRBG8,
|
||||
.depth = 8,
|
||||
.mbus_code = MEDIA_BUS_FMT_SGRBG8_1X8,
|
||||
.sh_fmt = CSS_FRAME_FORMAT_RAW,
|
||||
.sh_fmt = IA_CSS_FRAME_FORMAT_RAW,
|
||||
.description = "Bayer 8"
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_SRGGB8,
|
||||
.depth = 8,
|
||||
.mbus_code = MEDIA_BUS_FMT_SRGGB8_1X8,
|
||||
.sh_fmt = CSS_FRAME_FORMAT_RAW,
|
||||
.sh_fmt = IA_CSS_FRAME_FORMAT_RAW,
|
||||
.description = "Bayer 8"
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_SBGGR10,
|
||||
.depth = 16,
|
||||
.mbus_code = MEDIA_BUS_FMT_SBGGR10_1X10,
|
||||
.sh_fmt = CSS_FRAME_FORMAT_RAW,
|
||||
.sh_fmt = IA_CSS_FRAME_FORMAT_RAW,
|
||||
.description = "Bayer 10"
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_SGBRG10,
|
||||
.depth = 16,
|
||||
.mbus_code = MEDIA_BUS_FMT_SGBRG10_1X10,
|
||||
.sh_fmt = CSS_FRAME_FORMAT_RAW,
|
||||
.sh_fmt = IA_CSS_FRAME_FORMAT_RAW,
|
||||
.description = "Bayer 10"
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_SGRBG10,
|
||||
.depth = 16,
|
||||
.mbus_code = MEDIA_BUS_FMT_SGRBG10_1X10,
|
||||
.sh_fmt = CSS_FRAME_FORMAT_RAW,
|
||||
.sh_fmt = IA_CSS_FRAME_FORMAT_RAW,
|
||||
.description = "Bayer 10"
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_SRGGB10,
|
||||
.depth = 16,
|
||||
.mbus_code = MEDIA_BUS_FMT_SRGGB10_1X10,
|
||||
.sh_fmt = CSS_FRAME_FORMAT_RAW,
|
||||
.sh_fmt = IA_CSS_FRAME_FORMAT_RAW,
|
||||
.description = "Bayer 10"
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_SBGGR12,
|
||||
.depth = 16,
|
||||
.mbus_code = MEDIA_BUS_FMT_SBGGR12_1X12,
|
||||
.sh_fmt = CSS_FRAME_FORMAT_RAW,
|
||||
.sh_fmt = IA_CSS_FRAME_FORMAT_RAW,
|
||||
.description = "Bayer 12"
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_SGBRG12,
|
||||
.depth = 16,
|
||||
.mbus_code = MEDIA_BUS_FMT_SGBRG12_1X12,
|
||||
.sh_fmt = CSS_FRAME_FORMAT_RAW,
|
||||
.sh_fmt = IA_CSS_FRAME_FORMAT_RAW,
|
||||
.description = "Bayer 12"
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_SGRBG12,
|
||||
.depth = 16,
|
||||
.mbus_code = MEDIA_BUS_FMT_SGRBG12_1X12,
|
||||
.sh_fmt = CSS_FRAME_FORMAT_RAW,
|
||||
.sh_fmt = IA_CSS_FRAME_FORMAT_RAW,
|
||||
.description = "Bayer 12"
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_SRGGB12,
|
||||
.depth = 16,
|
||||
.mbus_code = MEDIA_BUS_FMT_SRGGB12_1X12,
|
||||
.sh_fmt = CSS_FRAME_FORMAT_RAW,
|
||||
.sh_fmt = IA_CSS_FRAME_FORMAT_RAW,
|
||||
.description = "Bayer 12"
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_RGB32,
|
||||
.depth = 32,
|
||||
.mbus_code = V4L2_MBUS_FMT_CUSTOM_RGB32,
|
||||
.sh_fmt = CSS_FRAME_FORMAT_RGBA888,
|
||||
.sh_fmt = IA_CSS_FRAME_FORMAT_RGBA888,
|
||||
.description = "32 RGB 8-8-8-8"
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_RGB565,
|
||||
.depth = 16,
|
||||
.mbus_code = MEDIA_BUS_FMT_BGR565_2X8_LE,
|
||||
.sh_fmt = CSS_FRAME_FORMAT_RGB565,
|
||||
.sh_fmt = IA_CSS_FRAME_FORMAT_RGB565,
|
||||
.description = "16 RGB 5-6-5"
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_JPEG,
|
||||
.depth = 8,
|
||||
.mbus_code = MEDIA_BUS_FMT_JPEG_1X8,
|
||||
.sh_fmt = CSS_FRAME_FORMAT_BINARY_8,
|
||||
.sh_fmt = IA_CSS_FRAME_FORMAT_BINARY_8,
|
||||
.description = "JPEG"
|
||||
},
|
||||
#if 0
|
||||
|
@ -506,7 +506,7 @@ const struct atomisp_format_bridge atomisp_output_fmts[] = {
|
|||
.pixelformat = V4L2_PIX_FMT_CUSTOM_M10MO_RAW,
|
||||
.depth = 8,
|
||||
.mbus_code = V4L2_MBUS_FMT_CUSTOM_M10MO_RAW,
|
||||
.sh_fmt = CSS_FRAME_FORMAT_BINARY_8,
|
||||
.sh_fmt = IA_CSS_FRAME_FORMAT_BINARY_8,
|
||||
.description = "Custom RAW for M10MO"
|
||||
},
|
||||
#endif
|
||||
|
@ -789,7 +789,7 @@ static int atomisp_enum_fmt_cap(struct file *file, void *fh,
|
|||
* Is the atomisp-supported format is valid for the
|
||||
* sensor (configuration)? If not, skip it.
|
||||
*/
|
||||
if (format->sh_fmt == CSS_FRAME_FORMAT_RAW
|
||||
if (format->sh_fmt == IA_CSS_FRAME_FORMAT_RAW
|
||||
&& format->mbus_code != code.code)
|
||||
continue;
|
||||
|
||||
|
@ -920,7 +920,7 @@ int atomisp_alloc_css_stat_bufs(struct atomisp_sub_device *asd,
|
|||
struct atomisp_dis_buf *dis_buf = NULL, *_dis_buf;
|
||||
struct atomisp_metadata_buf *md_buf = NULL, *_md_buf;
|
||||
int count;
|
||||
struct atomisp_css_dvs_grid_info *dvs_grid_info =
|
||||
struct ia_css_dvs_grid_info *dvs_grid_info =
|
||||
atomisp_css_get_dvs_grid_info(&asd->params.curr_grid_info);
|
||||
unsigned int i;
|
||||
|
||||
|
@ -1024,8 +1024,8 @@ int __atomisp_reqbufs(struct file *file, void *fh,
|
|||
struct video_device *vdev = video_devdata(file);
|
||||
struct atomisp_video_pipe *pipe = atomisp_to_video_pipe(vdev);
|
||||
struct atomisp_sub_device *asd = pipe->asd;
|
||||
struct atomisp_css_frame_info frame_info;
|
||||
struct atomisp_css_frame *frame;
|
||||
struct ia_css_frame_info frame_info;
|
||||
struct ia_css_frame *frame;
|
||||
struct videobuf_vmalloc_memory *vm_mem;
|
||||
u16 source_pad = atomisp_subdev_source_pad(vdev);
|
||||
u16 stream_id = atomisp_source_pad_to_stream_id(asd, source_pad);
|
||||
|
@ -1152,8 +1152,8 @@ static int atomisp_qbuf(struct file *file, void *fh, struct v4l2_buffer *buf)
|
|||
struct atomisp_sub_device *asd = pipe->asd;
|
||||
struct videobuf_buffer *vb;
|
||||
struct videobuf_vmalloc_memory *vm_mem;
|
||||
struct atomisp_css_frame_info frame_info;
|
||||
struct atomisp_css_frame *handle = NULL;
|
||||
struct ia_css_frame_info frame_info;
|
||||
struct ia_css_frame *handle = NULL;
|
||||
u32 length;
|
||||
u32 pgnr;
|
||||
int ret = 0;
|
||||
|
@ -1401,7 +1401,7 @@ static int __get_frame_exp_id(struct atomisp_video_pipe *pipe,
|
|||
struct v4l2_buffer *buf)
|
||||
{
|
||||
struct videobuf_vmalloc_memory *vm_mem;
|
||||
struct atomisp_css_frame *handle;
|
||||
struct ia_css_frame *handle;
|
||||
int i;
|
||||
|
||||
for (i = 0; pipe->capq.bufs[i]; i++) {
|
||||
|
@ -1470,16 +1470,16 @@ static int atomisp_dqbuf(struct file *file, void *fh, struct v4l2_buffer *buf)
|
|||
return 0;
|
||||
}
|
||||
|
||||
enum atomisp_css_pipe_id atomisp_get_css_pipe_id(struct atomisp_sub_device *asd)
|
||||
enum ia_css_pipe_id atomisp_get_css_pipe_id(struct atomisp_sub_device *asd)
|
||||
{
|
||||
if (ATOMISP_USE_YUVPP(asd))
|
||||
return CSS_PIPE_ID_YUVPP;
|
||||
return IA_CSS_PIPE_ID_YUVPP;
|
||||
|
||||
if (asd->continuous_mode->val) {
|
||||
if (asd->run_mode->val == ATOMISP_RUN_MODE_VIDEO)
|
||||
return CSS_PIPE_ID_VIDEO;
|
||||
return IA_CSS_PIPE_ID_VIDEO;
|
||||
else
|
||||
return CSS_PIPE_ID_PREVIEW;
|
||||
return IA_CSS_PIPE_ID_PREVIEW;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -1487,7 +1487,7 @@ enum atomisp_css_pipe_id atomisp_get_css_pipe_id(struct atomisp_sub_device *asd)
|
|||
* scaling but it has one frame delay due to CSS internal buffering.
|
||||
*/
|
||||
if (asd->vfpp->val == ATOMISP_VFPP_DISABLE_SCALER)
|
||||
return CSS_PIPE_ID_VIDEO;
|
||||
return IA_CSS_PIPE_ID_VIDEO;
|
||||
|
||||
/*
|
||||
* Disable vf_pp and run CSS in still capture mode. In this mode
|
||||
|
@ -1495,17 +1495,17 @@ enum atomisp_css_pipe_id atomisp_get_css_pipe_id(struct atomisp_sub_device *asd)
|
|||
* is not available.
|
||||
*/
|
||||
if (asd->vfpp->val == ATOMISP_VFPP_DISABLE_LOWLAT)
|
||||
return CSS_PIPE_ID_CAPTURE;
|
||||
return IA_CSS_PIPE_ID_CAPTURE;
|
||||
|
||||
switch (asd->run_mode->val) {
|
||||
case ATOMISP_RUN_MODE_PREVIEW:
|
||||
return CSS_PIPE_ID_PREVIEW;
|
||||
return IA_CSS_PIPE_ID_PREVIEW;
|
||||
case ATOMISP_RUN_MODE_VIDEO:
|
||||
return CSS_PIPE_ID_VIDEO;
|
||||
return IA_CSS_PIPE_ID_VIDEO;
|
||||
case ATOMISP_RUN_MODE_STILL_CAPTURE:
|
||||
/* fall through */
|
||||
default:
|
||||
return CSS_PIPE_ID_CAPTURE;
|
||||
return IA_CSS_PIPE_ID_CAPTURE;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1670,7 +1670,7 @@ static int atomisp_streamon(struct file *file, void *fh,
|
|||
struct atomisp_video_pipe *pipe = atomisp_to_video_pipe(vdev);
|
||||
struct atomisp_sub_device *asd = pipe->asd;
|
||||
struct atomisp_device *isp = video_get_drvdata(vdev);
|
||||
enum atomisp_css_pipe_id css_pipe_id;
|
||||
enum ia_css_pipe_id css_pipe_id;
|
||||
unsigned int sensor_start_stream;
|
||||
unsigned int wdt_duration = ATOMISP_ISP_TIMEOUT_DURATION;
|
||||
int ret = 0;
|
||||
|
@ -1836,7 +1836,7 @@ static int atomisp_streamon(struct file *file, void *fh,
|
|||
}
|
||||
|
||||
if (!isp->sw_contex.file_input) {
|
||||
atomisp_css_irq_enable(isp, CSS_IRQ_INFO_CSS_RECEIVER_SOF,
|
||||
atomisp_css_irq_enable(isp, IA_CSS_IRQ_INFO_CSS_RECEIVER_SOF,
|
||||
atomisp_css_valid_sof(isp));
|
||||
atomisp_csi2_configure(asd);
|
||||
/*
|
||||
|
@ -1934,7 +1934,7 @@ int __atomisp_streamoff(struct file *file, void *fh, enum v4l2_buf_type type)
|
|||
struct atomisp_video_pipe *preview_pipe = NULL;
|
||||
struct atomisp_video_pipe *video_pipe = NULL;
|
||||
struct videobuf_buffer *vb, *_vb;
|
||||
enum atomisp_css_pipe_id css_pipe_id;
|
||||
enum ia_css_pipe_id css_pipe_id;
|
||||
int ret;
|
||||
unsigned long flags;
|
||||
bool first_streamoff = false;
|
||||
|
@ -2040,7 +2040,7 @@ int __atomisp_streamoff(struct file *file, void *fh, enum v4l2_buf_type type)
|
|||
atomisp_clear_css_buffer_counters(asd);
|
||||
|
||||
if (!isp->sw_contex.file_input)
|
||||
atomisp_css_irq_enable(isp, CSS_IRQ_INFO_CSS_RECEIVER_SOF,
|
||||
atomisp_css_irq_enable(isp, IA_CSS_IRQ_INFO_CSS_RECEIVER_SOF,
|
||||
false);
|
||||
|
||||
if (asd->delayed_init == ATOMISP_DELAYED_INIT_QUEUED) {
|
||||
|
|
|
@ -43,7 +43,7 @@ int __atomisp_reqbufs(struct file *file, void *fh,
|
|||
int atomisp_reqbufs(struct file *file, void *fh,
|
||||
struct v4l2_requestbuffers *req);
|
||||
|
||||
enum atomisp_css_pipe_id atomisp_get_css_pipe_id(struct atomisp_sub_device
|
||||
enum ia_css_pipe_id atomisp_get_css_pipe_id(struct atomisp_sub_device
|
||||
*asd);
|
||||
|
||||
void atomisp_videobuf_free_buf(struct videobuf_buffer *vb);
|
||||
|
|
|
@ -30,26 +30,26 @@
|
|||
#include "atomisp_internal.h"
|
||||
|
||||
const struct atomisp_in_fmt_conv atomisp_in_fmt_conv[] = {
|
||||
{ MEDIA_BUS_FMT_SBGGR8_1X8, 8, 8, ATOMISP_INPUT_FORMAT_RAW_8, CSS_BAYER_ORDER_BGGR, CSS_FORMAT_RAW_8 },
|
||||
{ MEDIA_BUS_FMT_SGBRG8_1X8, 8, 8, ATOMISP_INPUT_FORMAT_RAW_8, CSS_BAYER_ORDER_GBRG, CSS_FORMAT_RAW_8 },
|
||||
{ MEDIA_BUS_FMT_SGRBG8_1X8, 8, 8, ATOMISP_INPUT_FORMAT_RAW_8, CSS_BAYER_ORDER_GRBG, CSS_FORMAT_RAW_8 },
|
||||
{ MEDIA_BUS_FMT_SRGGB8_1X8, 8, 8, ATOMISP_INPUT_FORMAT_RAW_8, CSS_BAYER_ORDER_RGGB, CSS_FORMAT_RAW_8 },
|
||||
{ MEDIA_BUS_FMT_SBGGR10_1X10, 10, 10, ATOMISP_INPUT_FORMAT_RAW_10, CSS_BAYER_ORDER_BGGR, CSS_FORMAT_RAW_10 },
|
||||
{ MEDIA_BUS_FMT_SGBRG10_1X10, 10, 10, ATOMISP_INPUT_FORMAT_RAW_10, CSS_BAYER_ORDER_GBRG, CSS_FORMAT_RAW_10 },
|
||||
{ MEDIA_BUS_FMT_SGRBG10_1X10, 10, 10, ATOMISP_INPUT_FORMAT_RAW_10, CSS_BAYER_ORDER_GRBG, CSS_FORMAT_RAW_10 },
|
||||
{ MEDIA_BUS_FMT_SRGGB10_1X10, 10, 10, ATOMISP_INPUT_FORMAT_RAW_10, CSS_BAYER_ORDER_RGGB, CSS_FORMAT_RAW_10 },
|
||||
{ MEDIA_BUS_FMT_SBGGR12_1X12, 12, 12, ATOMISP_INPUT_FORMAT_RAW_12, CSS_BAYER_ORDER_BGGR, CSS_FORMAT_RAW_12 },
|
||||
{ MEDIA_BUS_FMT_SGBRG12_1X12, 12, 12, ATOMISP_INPUT_FORMAT_RAW_12, CSS_BAYER_ORDER_GBRG, CSS_FORMAT_RAW_12 },
|
||||
{ MEDIA_BUS_FMT_SGRBG12_1X12, 12, 12, ATOMISP_INPUT_FORMAT_RAW_12, CSS_BAYER_ORDER_GRBG, CSS_FORMAT_RAW_12 },
|
||||
{ MEDIA_BUS_FMT_SRGGB12_1X12, 12, 12, ATOMISP_INPUT_FORMAT_RAW_12, CSS_BAYER_ORDER_RGGB, CSS_FORMAT_RAW_12 },
|
||||
{ MEDIA_BUS_FMT_SBGGR8_1X8, 8, 8, ATOMISP_INPUT_FORMAT_RAW_8, IA_CSS_BAYER_ORDER_BGGR, ATOMISP_INPUT_FORMAT_RAW_8 },
|
||||
{ MEDIA_BUS_FMT_SGBRG8_1X8, 8, 8, ATOMISP_INPUT_FORMAT_RAW_8, IA_CSS_BAYER_ORDER_GBRG, ATOMISP_INPUT_FORMAT_RAW_8 },
|
||||
{ MEDIA_BUS_FMT_SGRBG8_1X8, 8, 8, ATOMISP_INPUT_FORMAT_RAW_8, IA_CSS_BAYER_ORDER_GRBG, ATOMISP_INPUT_FORMAT_RAW_8 },
|
||||
{ MEDIA_BUS_FMT_SRGGB8_1X8, 8, 8, ATOMISP_INPUT_FORMAT_RAW_8, IA_CSS_BAYER_ORDER_RGGB, ATOMISP_INPUT_FORMAT_RAW_8 },
|
||||
{ MEDIA_BUS_FMT_SBGGR10_1X10, 10, 10, ATOMISP_INPUT_FORMAT_RAW_10, IA_CSS_BAYER_ORDER_BGGR, ATOMISP_INPUT_FORMAT_RAW_10 },
|
||||
{ MEDIA_BUS_FMT_SGBRG10_1X10, 10, 10, ATOMISP_INPUT_FORMAT_RAW_10, IA_CSS_BAYER_ORDER_GBRG, ATOMISP_INPUT_FORMAT_RAW_10 },
|
||||
{ MEDIA_BUS_FMT_SGRBG10_1X10, 10, 10, ATOMISP_INPUT_FORMAT_RAW_10, IA_CSS_BAYER_ORDER_GRBG, ATOMISP_INPUT_FORMAT_RAW_10 },
|
||||
{ MEDIA_BUS_FMT_SRGGB10_1X10, 10, 10, ATOMISP_INPUT_FORMAT_RAW_10, IA_CSS_BAYER_ORDER_RGGB, ATOMISP_INPUT_FORMAT_RAW_10 },
|
||||
{ MEDIA_BUS_FMT_SBGGR12_1X12, 12, 12, ATOMISP_INPUT_FORMAT_RAW_12, IA_CSS_BAYER_ORDER_BGGR, ATOMISP_INPUT_FORMAT_RAW_12 },
|
||||
{ MEDIA_BUS_FMT_SGBRG12_1X12, 12, 12, ATOMISP_INPUT_FORMAT_RAW_12, IA_CSS_BAYER_ORDER_GBRG, ATOMISP_INPUT_FORMAT_RAW_12 },
|
||||
{ MEDIA_BUS_FMT_SGRBG12_1X12, 12, 12, ATOMISP_INPUT_FORMAT_RAW_12, IA_CSS_BAYER_ORDER_GRBG, ATOMISP_INPUT_FORMAT_RAW_12 },
|
||||
{ MEDIA_BUS_FMT_SRGGB12_1X12, 12, 12, ATOMISP_INPUT_FORMAT_RAW_12, IA_CSS_BAYER_ORDER_RGGB, ATOMISP_INPUT_FORMAT_RAW_12 },
|
||||
{ MEDIA_BUS_FMT_UYVY8_1X16, 8, 8, ATOMISP_INPUT_FORMAT_YUV422_8, 0, ATOMISP_INPUT_FORMAT_YUV422_8 },
|
||||
{ MEDIA_BUS_FMT_YUYV8_1X16, 8, 8, ATOMISP_INPUT_FORMAT_YUV422_8, 0, ATOMISP_INPUT_FORMAT_YUV422_8 },
|
||||
{ MEDIA_BUS_FMT_JPEG_1X8, 8, 8, CSS_FRAME_FORMAT_BINARY_8, 0, ATOMISP_INPUT_FORMAT_BINARY_8 },
|
||||
{ V4L2_MBUS_FMT_CUSTOM_NV12, 12, 12, CSS_FRAME_FORMAT_NV12, 0, CSS_FRAME_FORMAT_NV12 },
|
||||
{ V4L2_MBUS_FMT_CUSTOM_NV21, 12, 12, CSS_FRAME_FORMAT_NV21, 0, CSS_FRAME_FORMAT_NV21 },
|
||||
{ MEDIA_BUS_FMT_JPEG_1X8, 8, 8, IA_CSS_FRAME_FORMAT_BINARY_8, 0, ATOMISP_INPUT_FORMAT_BINARY_8 },
|
||||
{ V4L2_MBUS_FMT_CUSTOM_NV12, 12, 12, IA_CSS_FRAME_FORMAT_NV12, 0, IA_CSS_FRAME_FORMAT_NV12 },
|
||||
{ V4L2_MBUS_FMT_CUSTOM_NV21, 12, 12, IA_CSS_FRAME_FORMAT_NV21, 0, IA_CSS_FRAME_FORMAT_NV21 },
|
||||
{ V4L2_MBUS_FMT_CUSTOM_YUV420, 12, 12, ATOMISP_INPUT_FORMAT_YUV420_8_LEGACY, 0, ATOMISP_INPUT_FORMAT_YUV420_8_LEGACY },
|
||||
#if 0
|
||||
{ V4L2_MBUS_FMT_CUSTOM_M10MO_RAW, 8, 8, CSS_FRAME_FORMAT_BINARY_8, 0, ATOMISP_INPUT_FORMAT_BINARY_8 },
|
||||
{ V4L2_MBUS_FMT_CUSTOM_M10MO_RAW, 8, 8, IA_CSS_FRAME_FORMAT_BINARY_8, 0, ATOMISP_INPUT_FORMAT_BINARY_8 },
|
||||
#endif
|
||||
/* no valid V4L2 MBUS code for metadata format, so leave it 0. */
|
||||
{ 0, 0, 0, ATOMISP_INPUT_FORMAT_EMBEDDED, 0, ATOMISP_INPUT_FORMAT_EMBEDDED },
|
||||
|
|
|
@ -59,7 +59,7 @@ struct atomisp_in_fmt_conv {
|
|||
u8 bpp; /* bits per pixel */
|
||||
u8 depth; /* uncompressed */
|
||||
enum atomisp_input_format atomisp_in_fmt;
|
||||
enum atomisp_css_bayer_order bayer_order;
|
||||
enum ia_css_bayer_order bayer_order;
|
||||
enum atomisp_input_format css_stream_fmt;
|
||||
};
|
||||
|
||||
|
@ -215,8 +215,8 @@ struct atomisp_subdev_params {
|
|||
unsigned int histogram_elenum;
|
||||
|
||||
/* Current grid info */
|
||||
struct atomisp_css_grid_info curr_grid_info;
|
||||
enum atomisp_css_pipe_id s3a_enabled_pipe;
|
||||
struct ia_css_grid_info curr_grid_info;
|
||||
enum ia_css_pipe_id s3a_enabled_pipe;
|
||||
|
||||
int s3a_output_bytes;
|
||||
|
||||
|
@ -225,7 +225,7 @@ struct atomisp_subdev_params {
|
|||
struct ia_css_dz_config dz_config; /** Digital Zoom */
|
||||
struct ia_css_capture_config capture_config;
|
||||
|
||||
struct atomisp_css_isp_config config;
|
||||
struct ia_css_isp_config config;
|
||||
|
||||
/* current configurations */
|
||||
struct atomisp_css_params css_param;
|
||||
|
@ -240,7 +240,7 @@ struct atomisp_subdev_params {
|
|||
u32 metadata_width_size;
|
||||
|
||||
struct ia_css_dvs2_statistics *dvs_stat;
|
||||
struct atomisp_css_dvs_6axis *dvs_6axis;
|
||||
struct ia_css_dvs_6axis_config *dvs_6axis;
|
||||
u32 exp_id;
|
||||
int dvs_hor_coef_bytes;
|
||||
int dvs_ver_coef_bytes;
|
||||
|
@ -265,7 +265,7 @@ struct atomisp_css_params_with_list {
|
|||
};
|
||||
|
||||
struct atomisp_acc_fw {
|
||||
struct atomisp_css_fw_info *fw;
|
||||
struct ia_css_fw_info *fw;
|
||||
unsigned int handle;
|
||||
unsigned int flags;
|
||||
unsigned int type;
|
||||
|
@ -323,7 +323,7 @@ struct atomisp_sub_device {
|
|||
struct {
|
||||
struct list_head fw;
|
||||
struct list_head memory_maps;
|
||||
struct atomisp_css_pipeline *pipeline;
|
||||
struct ia_css_pipe *pipeline;
|
||||
bool extension_mode;
|
||||
struct ida ida;
|
||||
struct completion acc_done;
|
||||
|
@ -335,11 +335,11 @@ struct atomisp_sub_device {
|
|||
struct atomisp_stream_env stream_env[ATOMISP_INPUT_STREAM_NUM];
|
||||
|
||||
struct v4l2_pix_format dvs_envelop;
|
||||
unsigned int s3a_bufs_in_css[CSS_PIPE_ID_NUM];
|
||||
unsigned int s3a_bufs_in_css[IA_CSS_PIPE_ID_NUM];
|
||||
unsigned int dis_bufs_in_css;
|
||||
|
||||
unsigned int metadata_bufs_in_css
|
||||
[ATOMISP_INPUT_STREAM_NUM][CSS_PIPE_ID_NUM];
|
||||
[ATOMISP_INPUT_STREAM_NUM][IA_CSS_PIPE_ID_NUM];
|
||||
/* The list of free and available metadata buffers for CSS */
|
||||
struct list_head metadata[ATOMISP_METADATA_TYPE_NUM];
|
||||
/* The list of metadata buffers which have been en-queued to CSS */
|
||||
|
@ -358,8 +358,8 @@ struct atomisp_sub_device {
|
|||
struct list_head dis_stats_in_css;
|
||||
spinlock_t dis_stats_lock;
|
||||
|
||||
struct atomisp_css_frame *vf_frame; /* TODO: needed? */
|
||||
struct atomisp_css_frame *raw_output_frame;
|
||||
struct ia_css_frame *vf_frame; /* TODO: needed? */
|
||||
struct ia_css_frame *raw_output_frame;
|
||||
enum atomisp_frame_status frame_status[VIDEO_MAX_FRAME];
|
||||
|
||||
/* This field specifies which camera (v4l2 input) is selected. */
|
||||
|
|
|
@ -22,25 +22,25 @@
|
|||
#include "sh_css_params.h"
|
||||
|
||||
/*Sepia image effect table*/
|
||||
static struct atomisp_css_cc_config sepia_cc_config = {
|
||||
static struct ia_css_cc_config sepia_cc_config = {
|
||||
.fraction_bits = 8,
|
||||
.matrix = {141, 18, 68, -40, -5, -19, 35, 4, 16},
|
||||
};
|
||||
|
||||
/*Negative image effect table*/
|
||||
static struct atomisp_css_cc_config nega_cc_config = {
|
||||
static struct ia_css_cc_config nega_cc_config = {
|
||||
.fraction_bits = 8,
|
||||
.matrix = {255, 29, 120, 0, 374, 342, 0, 672, -301},
|
||||
};
|
||||
|
||||
/*Mono image effect table*/
|
||||
static struct atomisp_css_cc_config mono_cc_config = {
|
||||
static struct ia_css_cc_config mono_cc_config = {
|
||||
.fraction_bits = 8,
|
||||
.matrix = {255, 29, 120, 0, 0, 0, 0, 0, 0},
|
||||
};
|
||||
|
||||
/*Skin whiten image effect table*/
|
||||
static struct atomisp_css_macc_table skin_low_macc_table = {
|
||||
static struct ia_css_macc_table skin_low_macc_table = {
|
||||
.data = {
|
||||
8192, 0, 0, 8192,
|
||||
8192, 0, 0, 8192,
|
||||
|
@ -61,7 +61,7 @@ static struct atomisp_css_macc_table skin_low_macc_table = {
|
|||
}
|
||||
};
|
||||
|
||||
static struct atomisp_css_macc_table skin_medium_macc_table = {
|
||||
static struct ia_css_macc_table skin_medium_macc_table = {
|
||||
.data = {
|
||||
8192, 0, 0, 8192,
|
||||
8192, 0, 0, 8192,
|
||||
|
@ -82,7 +82,7 @@ static struct atomisp_css_macc_table skin_medium_macc_table = {
|
|||
}
|
||||
};
|
||||
|
||||
static struct atomisp_css_macc_table skin_high_macc_table = {
|
||||
static struct ia_css_macc_table skin_high_macc_table = {
|
||||
.data = {
|
||||
8192, 0, 0, 8192,
|
||||
8192, 0, 0, 8192,
|
||||
|
@ -104,7 +104,7 @@ static struct atomisp_css_macc_table skin_high_macc_table = {
|
|||
};
|
||||
|
||||
/*Blue enhencement image effect table*/
|
||||
static struct atomisp_css_macc_table blue_macc_table = {
|
||||
static struct ia_css_macc_table blue_macc_table = {
|
||||
.data = {
|
||||
9728, -3072, 0, 8192,
|
||||
8192, 0, 0, 8192,
|
||||
|
@ -126,7 +126,7 @@ static struct atomisp_css_macc_table blue_macc_table = {
|
|||
};
|
||||
|
||||
/*Green enhencement image effect table*/
|
||||
static struct atomisp_css_macc_table green_macc_table = {
|
||||
static struct ia_css_macc_table green_macc_table = {
|
||||
.data = {
|
||||
8192, 0, 0, 8192,
|
||||
8192, 0, 0, 8192,
|
||||
|
@ -147,7 +147,7 @@ static struct atomisp_css_macc_table green_macc_table = {
|
|||
}
|
||||
};
|
||||
|
||||
static struct atomisp_css_ctc_table vivid_ctc_table = {
|
||||
static struct ia_css_ctc_table vivid_ctc_table = {
|
||||
.data.vamem_2 = {
|
||||
0, 384, 837, 957, 1011, 1062, 1083, 1080,
|
||||
1078, 1077, 1053, 1039, 1012, 992, 969, 951,
|
||||
|
|
Loading…
Reference in New Issue