aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/media/atomisp/pci/atomisp2/css2400/ia_css_pipe.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/media/atomisp/pci/atomisp2/css2400/ia_css_pipe.h')
-rw-r--r--drivers/staging/media/atomisp/pci/atomisp2/css2400/ia_css_pipe.h195
1 files changed, 0 insertions, 195 deletions
diff --git a/drivers/staging/media/atomisp/pci/atomisp2/css2400/ia_css_pipe.h b/drivers/staging/media/atomisp/pci/atomisp2/css2400/ia_css_pipe.h
deleted file mode 100644
index f6870fa7a18c..000000000000
--- a/drivers/staging/media/atomisp/pci/atomisp2/css2400/ia_css_pipe.h
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
- * Support for Intel Camera Imaging ISP subsystem.
- * Copyright (c) 2015, Intel Corporation.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- */
-
-#ifndef __IA_CSS_PIPE_H__
-#define __IA_CSS_PIPE_H__
-
-#include <type_support.h>
-#include "ia_css_stream.h"
-#include "ia_css_frame.h"
-#include "ia_css_pipeline.h"
-#include "ia_css_binary.h"
-#include "sh_css_legacy.h"
-
-#define PIPE_ENTRY_EMPTY_TOKEN (~0U)
-#define PIPE_ENTRY_RESERVED_TOKEN (0x1)
-
-struct ia_css_preview_settings {
- struct ia_css_binary copy_binary;
- struct ia_css_binary preview_binary;
- struct ia_css_binary vf_pp_binary;
-
- /* 2401 only for these two - do we in fact use them for anything real */
- struct ia_css_frame *delay_frames[MAX_NUM_DELAY_FRAMES];
- struct ia_css_frame *tnr_frames[NUM_TNR_FRAMES];
-
- struct ia_css_pipe *copy_pipe;
- struct ia_css_pipe *capture_pipe;
- struct ia_css_pipe *acc_pipe;
-};
-
-#define IA_CSS_DEFAULT_PREVIEW_SETTINGS \
-(struct ia_css_preview_settings) { \
- .copy_binary = IA_CSS_BINARY_DEFAULT_SETTINGS, \
- .preview_binary = IA_CSS_BINARY_DEFAULT_SETTINGS, \
- .vf_pp_binary = IA_CSS_BINARY_DEFAULT_SETTINGS, \
-}
-
-struct ia_css_capture_settings {
- struct ia_css_binary copy_binary;
- /* we extend primary binary to multiple stages because in ISP2.6.1
- * the computation load is too high to fit in one single binary. */
- struct ia_css_binary primary_binary[MAX_NUM_PRIMARY_STAGES];
- unsigned int num_primary_stage;
- struct ia_css_binary pre_isp_binary;
- struct ia_css_binary anr_gdc_binary;
- struct ia_css_binary post_isp_binary;
- struct ia_css_binary capture_pp_binary;
- struct ia_css_binary vf_pp_binary;
- struct ia_css_binary capture_ldc_binary;
- struct ia_css_binary *yuv_scaler_binary;
- struct ia_css_frame *delay_frames[MAX_NUM_VIDEO_DELAY_FRAMES];
- bool *is_output_stage;
- unsigned int num_yuv_scaler;
-};
-
-#define IA_CSS_DEFAULT_CAPTURE_SETTINGS \
-(struct ia_css_capture_settings) { \
- .copy_binary = IA_CSS_BINARY_DEFAULT_SETTINGS, \
- .primary_binary = {IA_CSS_BINARY_DEFAULT_SETTINGS}, \
- .pre_isp_binary = IA_CSS_BINARY_DEFAULT_SETTINGS, \
- .anr_gdc_binary = IA_CSS_BINARY_DEFAULT_SETTINGS, \
- .post_isp_binary = IA_CSS_BINARY_DEFAULT_SETTINGS, \
- .capture_pp_binary = IA_CSS_BINARY_DEFAULT_SETTINGS, \
- .vf_pp_binary = IA_CSS_BINARY_DEFAULT_SETTINGS, \
- .capture_ldc_binary = IA_CSS_BINARY_DEFAULT_SETTINGS, \
-}
-
-struct ia_css_video_settings {
- struct ia_css_binary copy_binary;
- struct ia_css_binary video_binary;
- struct ia_css_binary vf_pp_binary;
- struct ia_css_binary *yuv_scaler_binary;
- struct ia_css_frame *delay_frames[MAX_NUM_VIDEO_DELAY_FRAMES];
-#ifndef ISP2401
- struct ia_css_frame *tnr_frames[NUM_VIDEO_TNR_FRAMES];
-#else
- struct ia_css_frame *tnr_frames[NUM_TNR_FRAMES];
-#endif
- struct ia_css_frame *vf_pp_in_frame;
- struct ia_css_pipe *copy_pipe;
- struct ia_css_pipe *capture_pipe;
- bool *is_output_stage;
- unsigned int num_yuv_scaler;
-};
-
-#define IA_CSS_DEFAULT_VIDEO_SETTINGS \
-(struct ia_css_video_settings) { \
- .copy_binary = IA_CSS_BINARY_DEFAULT_SETTINGS, \
- .video_binary = IA_CSS_BINARY_DEFAULT_SETTINGS, \
- .vf_pp_binary = IA_CSS_BINARY_DEFAULT_SETTINGS, \
-}
-
-struct ia_css_yuvpp_settings {
- struct ia_css_binary copy_binary;
- struct ia_css_binary *yuv_scaler_binary;
- struct ia_css_binary *vf_pp_binary;
- bool *is_output_stage;
- unsigned int num_yuv_scaler;
- unsigned int num_vf_pp;
- unsigned int num_output;
-};
-
-#define IA_CSS_DEFAULT_YUVPP_SETTINGS \
-(struct ia_css_yuvpp_settings) { \
- .copy_binary = IA_CSS_BINARY_DEFAULT_SETTINGS, \
-}
-
-struct osys_object;
-
-struct ia_css_pipe {
- /* TODO: Remove stop_requested and use stop_requested in the pipeline */
- bool stop_requested;
- struct ia_css_pipe_config config;
- struct ia_css_pipe_extra_config extra_config;
- struct ia_css_pipe_info info;
- enum ia_css_pipe_id mode;
- struct ia_css_shading_table *shading_table;
- struct ia_css_pipeline pipeline;
- struct ia_css_frame_info output_info[IA_CSS_PIPE_MAX_OUTPUT_STAGE];
- struct ia_css_frame_info bds_output_info;
- struct ia_css_frame_info vf_output_info[IA_CSS_PIPE_MAX_OUTPUT_STAGE];
- struct ia_css_frame_info out_yuv_ds_input_info;
- struct ia_css_frame_info vf_yuv_ds_input_info;
- struct ia_css_fw_info *output_stage; /* extra output stage */
- struct ia_css_fw_info *vf_stage; /* extra vf_stage */
- unsigned int required_bds_factor;
- unsigned int dvs_frame_delay;
- int num_invalid_frames;
- bool enable_viewfinder[IA_CSS_PIPE_MAX_OUTPUT_STAGE];
- struct ia_css_stream *stream;
- struct ia_css_frame in_frame_struct;
- struct ia_css_frame out_frame_struct;
- struct ia_css_frame vf_frame_struct;
- struct ia_css_frame *continuous_frames[NUM_CONTINUOUS_FRAMES];
- struct ia_css_metadata *cont_md_buffers[NUM_CONTINUOUS_FRAMES];
- union {
- struct ia_css_preview_settings preview;
- struct ia_css_video_settings video;
- struct ia_css_capture_settings capture;
- struct ia_css_yuvpp_settings yuvpp;
- } pipe_settings;
- hrt_vaddress scaler_pp_lut;
- struct osys_object *osys_obj;
-
- /* This number is unique per pipe each instance of css. This number is
- * reused as pipeline number also. There is a 1-1 mapping between pipe_num
- * and sp thread id. Current logic limits pipe_num to
- * SH_CSS_MAX_SP_THREADS */
- unsigned int pipe_num;
-};
-
-#define IA_CSS_DEFAULT_PIPE \
-(struct ia_css_pipe) { \
- .config = DEFAULT_PIPE_CONFIG, \
- .info = DEFAULT_PIPE_INFO, \
- .mode = IA_CSS_PIPE_ID_ACC, /* (pipe_id) */ \
- .pipeline = DEFAULT_PIPELINE, \
- .output_info = {IA_CSS_BINARY_DEFAULT_FRAME_INFO}, \
- .bds_output_info = IA_CSS_BINARY_DEFAULT_FRAME_INFO, \
- .vf_output_info = {IA_CSS_BINARY_DEFAULT_FRAME_INFO}, \
- .out_yuv_ds_input_info = IA_CSS_BINARY_DEFAULT_FRAME_INFO, \
- .vf_yuv_ds_input_info = IA_CSS_BINARY_DEFAULT_FRAME_INFO, \
- .required_bds_factor = SH_CSS_BDS_FACTOR_1_00, \
- .dvs_frame_delay = 1, \
- .enable_viewfinder = {true}, \
- .in_frame_struct = DEFAULT_FRAME, \
- .out_frame_struct = DEFAULT_FRAME, \
- .vf_frame_struct = DEFAULT_FRAME, \
- .pipe_settings = { \
- .preview = IA_CSS_DEFAULT_PREVIEW_SETTINGS \
- }, \
- .pipe_num = PIPE_ENTRY_EMPTY_TOKEN, \
-}
-
-void ia_css_pipe_map_queue(struct ia_css_pipe *pipe, bool map);
-
-enum ia_css_err
-sh_css_param_update_isp_params(struct ia_css_pipe *curr_pipe,
- struct ia_css_isp_parameters *params,
- bool commit, struct ia_css_pipe *pipe);
-
-
-
-#endif /* __IA_CSS_PIPE_H__ */