drivers/staging/media/atomisp/pci/runtime/binary/interface/ia_css_binary.h
Source file repositories/reference/linux-study-clean/drivers/staging/media/atomisp/pci/runtime/binary/interface/ia_css_binary.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/staging/media/atomisp/pci/runtime/binary/interface/ia_css_binary.h- Extension
.h- Size
- 7261 bytes
- Lines
- 217
- 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_types.hia_css_err.hia_css_stream_format.hia_css_stream_public.hia_css_frame_public.hsh_css_metrics.hisp/kernels/fixedbds/fixedbds_1.0/ia_css_fixedbds_types.hruntime/isp_param/interface/ia_css_isp_param_types.h
Detected Declarations
struct ia_css_cas_binary_descrstruct ia_css_binary_descrstruct ia_css_binary
Annotated Snippet
struct ia_css_cas_binary_descr {
unsigned int num_stage;
unsigned int num_output_stage;
struct ia_css_frame_info *in_info;
struct ia_css_frame_info *internal_out_info;
struct ia_css_frame_info *out_info;
struct ia_css_frame_info *vf_info;
bool *is_output_stage;
};
struct ia_css_binary_descr {
int mode;
bool online;
bool continuous;
bool striped;
bool two_ppc;
bool enable_yuv_ds;
bool enable_high_speed;
bool enable_dvs_6axis;
bool enable_reduced_pipe;
bool enable_dz;
bool enable_xnr;
bool enable_fractional_ds;
bool enable_dpc;
/* ISP2401 */
bool enable_tnr;
bool enable_capture_pp_bli;
struct ia_css_resolution dvs_env;
enum atomisp_input_format stream_format;
struct ia_css_frame_info *in_info; /* the info of the input-frame with the
ISP required resolution. */
struct ia_css_frame_info *bds_out_info;
struct ia_css_frame_info *out_info[IA_CSS_BINARY_MAX_OUTPUT_PORTS];
struct ia_css_frame_info *vf_info;
unsigned int isp_pipe_version;
unsigned int required_bds_factor;
int stream_config_left_padding;
};
struct ia_css_binary {
const struct ia_css_binary_xinfo *info;
enum atomisp_input_format input_format;
struct ia_css_frame_info in_frame_info;
struct ia_css_frame_info internal_frame_info;
struct ia_css_frame_info out_frame_info[IA_CSS_BINARY_MAX_OUTPUT_PORTS];
struct ia_css_resolution effective_in_frame_res;
struct ia_css_frame_info vf_frame_info;
int input_buf_vectors;
int deci_factor_log2;
int vf_downscale_log2;
int s3atbl_width;
int s3atbl_height;
int s3atbl_isp_width;
int s3atbl_isp_height;
unsigned int morph_tbl_width;
unsigned int morph_tbl_aligned_width;
unsigned int morph_tbl_height;
int sctbl_width_per_color;
int sctbl_aligned_width_per_color;
int sctbl_height;
struct ia_css_sdis_info dis;
struct ia_css_resolution dvs_envelope;
bool online;
unsigned int uds_xc;
unsigned int uds_yc;
unsigned int left_padding;
struct sh_css_binary_metrics metrics;
struct ia_css_isp_param_host_segments mem_params;
struct ia_css_isp_param_css_segments css_params;
};
#define IA_CSS_BINARY_DEFAULT_SETTINGS { \
.input_format = ATOMISP_INPUT_FORMAT_YUV420_8_LEGACY, \
.in_frame_info = IA_CSS_BINARY_DEFAULT_FRAME_INFO, \
.internal_frame_info = IA_CSS_BINARY_DEFAULT_FRAME_INFO, \
.out_frame_info = {IA_CSS_BINARY_DEFAULT_FRAME_INFO}, \
.vf_frame_info = IA_CSS_BINARY_DEFAULT_FRAME_INFO, \
}
int
ia_css_binary_init_infos(void);
int
ia_css_binary_uninit(void);
int
ia_css_binary_fill_info(const struct ia_css_binary_xinfo *xinfo,
bool online,
Annotation
- Immediate include surface: `type_support.h`, `ia_css_types.h`, `ia_css_err.h`, `ia_css_stream_format.h`, `ia_css_stream_public.h`, `ia_css_frame_public.h`, `sh_css_metrics.h`, `isp/kernels/fixedbds/fixedbds_1.0/ia_css_fixedbds_types.h`.
- Detected declarations: `struct ia_css_cas_binary_descr`, `struct ia_css_binary_descr`, `struct ia_css_binary`.
- 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.