drivers/staging/media/atomisp/pci/ia_css_pipe_public.h
Source file repositories/reference/linux-study-clean/drivers/staging/media/atomisp/pci/ia_css_pipe_public.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/staging/media/atomisp/pci/ia_css_pipe_public.h- Extension
.h- Size
- 17399 bytes
- Lines
- 465
- 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_err.hia_css_types.hia_css_frame_public.hia_css_buffer.hia_css_acc_types.h
Detected Declarations
struct ia_css_pipe_configstruct ia_css_pipe_infoenum ia_css_pipe_modeenum ia_css_pipe_version
Annotated Snippet
struct ia_css_pipe_config {
enum ia_css_pipe_mode mode;
/** mode, indicates which mode the pipe should use. */
enum ia_css_pipe_version isp_pipe_version;
/** pipe version, indicates which imaging pipeline the pipe should use. */
struct ia_css_resolution input_effective_res;
/** input effective resolution */
struct ia_css_resolution bayer_ds_out_res;
/** bayer down scaling */
struct ia_css_resolution capt_pp_in_res;
/** capture post processing input resolution */
struct ia_css_resolution vf_pp_in_res;
/** ISP2401: view finder post processing input resolution */
struct ia_css_resolution output_system_in_res;
/** For IPU3 only: use output_system_in_res to specify what input resolution
will OSYS receive, this resolution is equal to the output resolution of GDC
if not determined CSS will set output_system_in_res with main osys output pin resolution
All other IPUs may ignore this property */
struct ia_css_resolution dvs_crop_out_res;
/** dvs crop, video only, not in use yet. Use dvs_envelope below. */
struct ia_css_frame_info output_info[IA_CSS_PIPE_MAX_OUTPUT_STAGE];
/** output of YUV scaling */
struct ia_css_frame_info vf_output_info[IA_CSS_PIPE_MAX_OUTPUT_STAGE];
/** output of VF YUV scaling */
struct ia_css_capture_config default_capture_config;
/** Default capture config for initial capture pipe configuration. */
struct ia_css_resolution dvs_envelope; /** temporary */
enum ia_css_frame_delay dvs_frame_delay;
/** indicates the DVS loop delay in frame periods */
bool enable_dz;
/** Disabling digital zoom for a pipeline, if this is set to false,
then setting a zoom factor will have no effect.
In some use cases this provides better performance. */
bool enable_dpc;
/** Disabling "Defect Pixel Correction" for a pipeline, if this is set
to false. In some use cases this provides better performance. */
bool enable_vfpp_bci;
/** Enabling BCI mode will cause yuv_scale binary to be picked up
instead of vf_pp. This only applies to viewfinder post
processing stages. */
/* ISP2401 */
bool enable_tnr;
/** Enabling of TNR (temporal noise reduction). This is only applicable to video
pipes. Non video-pipes should always set this parameter to false. */
struct ia_css_isp_config *p_isp_config;
/** Pointer to ISP configuration */
struct ia_css_resolution gdc_in_buffer_res;
/** GDC in buffer resolution. */
struct ia_css_point gdc_in_buffer_offset;
/** GDC in buffer offset - indicates the pixel coordinates of the first valid pixel inside the buffer */
/* ISP2401 */
struct ia_css_coordinate internal_frame_origin_bqs_on_sctbl;
/** Origin of internal frame positioned on shading table at shading correction in ISP.
NOTE: Shading table is larger than or equal to internal frame.
Shading table has shading gains and internal frame has bayer data.
The origin of internal frame is used in shading correction in ISP
to retrieve shading gains which correspond to bayer data. */
};
/**
* Default settings for newly created pipe configurations.
*/
#define DEFAULT_PIPE_CONFIG { \
.mode = IA_CSS_PIPE_MODE_PREVIEW, \
.isp_pipe_version = 1, \
.output_info = {IA_CSS_BINARY_DEFAULT_FRAME_INFO}, \
.vf_output_info = {IA_CSS_BINARY_DEFAULT_FRAME_INFO}, \
.default_capture_config = DEFAULT_CAPTURE_CONFIG, \
.dvs_frame_delay = IA_CSS_FRAME_DELAY_1, \
}
/* Pipe info, this struct describes properties of a pipe after it's stream has
* been created.
* ~~~** DO NOT ADD NEW FIELD **~~~ This structure will be deprecated.
* - On the Behalf of CSS-API Committee.
*/
struct ia_css_pipe_info {
struct ia_css_frame_info output_info[IA_CSS_PIPE_MAX_OUTPUT_STAGE];
/** Info about output resolution. This contains the stride which
should be used for memory allocation. */
struct ia_css_frame_info vf_output_info[IA_CSS_PIPE_MAX_OUTPUT_STAGE];
/** Info about viewfinder output resolution (optional). This contains
the stride that should be used for memory allocation. */
struct ia_css_frame_info raw_output_info;
/** Raw output resolution. This indicates the resolution of the
RAW bayer output for pipes that support this. Currently, only the
Annotation
- Immediate include surface: `type_support.h`, `ia_css_err.h`, `ia_css_types.h`, `ia_css_frame_public.h`, `ia_css_buffer.h`, `ia_css_acc_types.h`.
- Detected declarations: `struct ia_css_pipe_config`, `struct ia_css_pipe_info`, `enum ia_css_pipe_mode`, `enum ia_css_pipe_version`.
- 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.