aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/media/atomisp/pci/atomisp2/css2400/ia_css_pipe.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2018-04-03 17:16:59 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2018-04-03 17:16:59 -0700
commitef1c4a6fa91bbbe9b09f770d28eba31a9edf770c (patch)
tree52f5d175031c553160d14890e876ffc5432d2467 /drivers/staging/media/atomisp/pci/atomisp2/css2400/ia_css_pipe.h
parentMerge tag 'kconfig-v4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild (diff)
parentmedia: v4l2-ioctl: rename a temp var that stores _IOC_SIZE(cmd) (diff)
downloadlinux-dev-ef1c4a6fa91bbbe9b09f770d28eba31a9edf770c.tar.xz
linux-dev-ef1c4a6fa91bbbe9b09f770d28eba31a9edf770c.zip
Merge tag 'media/v4.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
Pull media updates from Mauro Carvalho Chehab: - new CEC pin injection code for testing purposes - DVB frontend cxd2099 promoted from staging - new platform driver for Sony cxd2880 DVB devices - new sensor drivers: mt9t112, ov2685, ov5695, ov772x, tda1997x, tw9910.c - removal of unused cx18 and ivtv alsa mixers - the reneseas-ceu driver doesn't depend on soc_camera anymore and moved from staging - removed the mantis_vp3028 driver, unused since 2009 - s5p-mfc: add support for version 10 of the MSP - added a decoder for imon protocol - atomisp: lots of cleanups - imx074 and mt9t031: don't depend on soc_camera anymore, being promoted from staging - added helper functions to better support DVB I2C binding - lots of driver improvements and cleanups * tag 'media/v4.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (438 commits) media: v4l2-ioctl: rename a temp var that stores _IOC_SIZE(cmd) media: fimc-capture: get rid of two warnings media: dvb-usb-v2: fix a missing dependency of I2C_MUX media: uvc: to the right check at uvc_ioctl_enum_framesizes() media: cec-core: fix a bug at cec_error_inj_write() media: tda9840: cleanup a warning media: tm6000: avoid casting just to print pointer address media: em28xx-input: improve error handling code media: zr364xx: avoid casting just to print pointer address media: vivid-radio-rx: add a cast to avoid a warning media: saa7134-alsa: don't use casts to print a buffer address media: solo6x10: get rid of an address space warning media: zoran: don't cast pointers to print them media: ir-kbd-i2c: change the if logic to avoid a warning media: ir-kbd-i2c: improve error handling code media: saa7134-input: improve error handling media: s2255drv: fix a casting warning media: ivtvfb: Cleanup some warnings media: videobuf-dma-sg: Fix a weird cast soc_camera: fix a weird cast on printk ...
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.h113
1 files changed, 40 insertions, 73 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
index d0c0e6b92025..f6870fa7a18c 100644
--- a/drivers/staging/media/atomisp/pci/atomisp2/css2400/ia_css_pipe.h
+++ b/drivers/staging/media/atomisp/pci/atomisp2/css2400/ia_css_pipe.h
@@ -33,22 +33,17 @@ struct ia_css_preview_settings {
/* 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 \
-{ \
- IA_CSS_BINARY_DEFAULT_SETTINGS, /* copy_binary */\
- IA_CSS_BINARY_DEFAULT_SETTINGS, /* preview_binary */\
- IA_CSS_BINARY_DEFAULT_SETTINGS, /* vf_pp_binary */\
- { NULL }, /* dvs_frames */ \
- { NULL }, /* tnr_frames */ \
- NULL, /* copy_pipe */\
- NULL, /* capture_pipe */\
- NULL, /* acc_pipe */\
+(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 {
@@ -70,20 +65,15 @@ struct ia_css_capture_settings {
};
#define IA_CSS_DEFAULT_CAPTURE_SETTINGS \
-{ \
- IA_CSS_BINARY_DEFAULT_SETTINGS, /* copy_binary */\
- {IA_CSS_BINARY_DEFAULT_SETTINGS}, /* primary_binary */\
- 0, /* num_primary_stage */\
- 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 */\
- NULL, /* yuv_scaler_binary */ \
- { NULL }, /* delay_frames[ref_frames] */ \
- NULL, /* is_output_stage */ \
- 0, /* num_yuv_scaler */ \
+(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 {
@@ -105,18 +95,10 @@ struct ia_css_video_settings {
};
#define IA_CSS_DEFAULT_VIDEO_SETTINGS \
-{ \
- IA_CSS_BINARY_DEFAULT_SETTINGS, /* copy_binary */ \
- IA_CSS_BINARY_DEFAULT_SETTINGS, /* video_binary */ \
- IA_CSS_BINARY_DEFAULT_SETTINGS, /* vf_pp_binary */ \
- NULL, /* yuv_scaler_binary */ \
- { NULL }, /* delay_frames */ \
- { NULL }, /* tnr_frames */ \
- NULL, /* vf_pp_in_frame */ \
- NULL, /* copy_pipe */ \
- NULL, /* capture_pipe */ \
- NULL, /* is_output_stage */ \
- 0, /* num_yuv_scaler */ \
+(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 {
@@ -130,14 +112,8 @@ struct ia_css_yuvpp_settings {
};
#define IA_CSS_DEFAULT_YUVPP_SETTINGS \
-{ \
- IA_CSS_BINARY_DEFAULT_SETTINGS, /* copy_binary */ \
- NULL, /* yuv_scaler_binary */ \
- NULL, /* vf_pp_binary */ \
- NULL, /* is_output_stage */ \
- 0, /* num_yuv_scaler */ \
- 0, /* num_vf_pp */ \
- 0, /* num_output */ \
+(struct ia_css_yuvpp_settings) { \
+ .copy_binary = IA_CSS_BINARY_DEFAULT_SETTINGS, \
}
struct osys_object;
@@ -185,35 +161,26 @@ struct ia_css_pipe {
};
#define IA_CSS_DEFAULT_PIPE \
-{ \
- false, /* stop_requested */ \
- DEFAULT_PIPE_CONFIG, /* config */ \
- DEFAULT_PIPE_EXTRA_CONFIG, /* extra_config */ \
- DEFAULT_PIPE_INFO, /* info */ \
- IA_CSS_PIPE_ID_ACC, /* mode (pipe_id) */ \
- NULL, /* shading_table */ \
- DEFAULT_PIPELINE, /* pipeline */ \
- {IA_CSS_BINARY_DEFAULT_FRAME_INFO}, /* 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 */ \
- NULL, /* output_stage */ \
- NULL, /* vf_stage */ \
- SH_CSS_BDS_FACTOR_1_00, /* required_bds_factor */ \
- 1, /* dvs_frame_delay */ \
- 0, /* num_invalid_frames */ \
- {true}, /* enable_viewfinder */ \
- NULL, /* stream */ \
- DEFAULT_FRAME, /* in_frame_struct */ \
- DEFAULT_FRAME, /* out_frame_struct */ \
- DEFAULT_FRAME, /* vf_frame_struct */ \
- { NULL }, /* continuous_frames */ \
- { NULL }, /* cont_md_buffers */ \
- { IA_CSS_DEFAULT_PREVIEW_SETTINGS }, /* pipe_settings */ \
- 0, /* scaler_pp_lut */ \
- NULL, /* osys object */ \
- PIPE_ENTRY_EMPTY_TOKEN, /* pipe_num */\
+(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);