drivers/staging/media/atomisp/pci/ia_css_pipe.h
Source file repositories/reference/linux-study-clean/drivers/staging/media/atomisp/pci/ia_css_pipe.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/staging/media/atomisp/pci/ia_css_pipe.h- Extension
.h- Size
- 5957 bytes
- Lines
- 174
- Domain
- Driver Families
- Bucket
- drivers/staging
- Inferred role
- Driver Families: implementation source
- Status
- source implementation candidate
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
type_support.hia_css_stream.hia_css_frame.hia_css_pipeline.hia_css_binary.hsh_css_legacy.h
Detected Declarations
struct ia_css_preview_settingsstruct ia_css_capture_settingsstruct ia_css_video_settingsstruct ia_css_yuvpp_settingsstruct osys_objectstruct ia_css_pipe
Annotated Snippet
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_VIDEO_DELAY_FRAMES];
struct ia_css_frame *tnr_frames[NUM_VIDEO_TNR_FRAMES];
struct ia_css_pipe *copy_pipe;
struct ia_css_pipe *capture_pipe;
};
#define IA_CSS_DEFAULT_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 { \
.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];
struct ia_css_frame *tnr_frames[NUM_VIDEO_TNR_FRAMES];
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 { \
.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 { \
.copy_binary = IA_CSS_BINARY_DEFAULT_SETTINGS, \
}
struct osys_object;
struct ia_css_pipe {
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;
Annotation
- Immediate include surface: `type_support.h`, `ia_css_stream.h`, `ia_css_frame.h`, `ia_css_pipeline.h`, `ia_css_binary.h`, `sh_css_legacy.h`.
- Detected declarations: `struct ia_css_preview_settings`, `struct ia_css_capture_settings`, `struct ia_css_video_settings`, `struct ia_css_yuvpp_settings`, `struct osys_object`, `struct ia_css_pipe`.
- Atlas domain: Driver Families / drivers/staging.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.