drivers/staging/media/atomisp/pci/runtime/frame/interface/ia_css_frame_comm.h
Source file repositories/reference/linux-study-clean/drivers/staging/media/atomisp/pci/runtime/frame/interface/ia_css_frame_comm.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/staging/media/atomisp/pci/runtime/frame/interface/ia_css_frame_comm.h- Extension
.h- Size
- 2984 bytes
- Lines
- 108
- 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.hplatform_support.hruntime/bufq/interface/ia_css_bufq_comm.hsystem_local.h
Detected Declarations
struct ia_css_frame_sp_planestruct ia_css_frame_sp_binary_planestruct ia_css_frame_sp_yuv_planesstruct ia_css_frame_sp_nv_planesstruct ia_css_frame_sp_rgb_planesstruct ia_css_frame_sp_plane6struct ia_css_sp_resolutionstruct ia_css_frame_sp_infostruct ia_css_buffer_spstruct ia_css_frame_sp
Annotated Snippet
struct ia_css_frame_sp_plane {
unsigned int offset; /* offset in bytes to start of frame data */
/* offset is wrt data in sh_css_sp_sp_frame */
};
struct ia_css_frame_sp_binary_plane {
unsigned int size;
struct ia_css_frame_sp_plane data;
};
struct ia_css_frame_sp_yuv_planes {
struct ia_css_frame_sp_plane y;
struct ia_css_frame_sp_plane u;
struct ia_css_frame_sp_plane v;
};
struct ia_css_frame_sp_nv_planes {
struct ia_css_frame_sp_plane y;
struct ia_css_frame_sp_plane uv;
};
struct ia_css_frame_sp_rgb_planes {
struct ia_css_frame_sp_plane r;
struct ia_css_frame_sp_plane g;
struct ia_css_frame_sp_plane b;
};
struct ia_css_frame_sp_plane6 {
struct ia_css_frame_sp_plane r;
struct ia_css_frame_sp_plane r_at_b;
struct ia_css_frame_sp_plane gr;
struct ia_css_frame_sp_plane gb;
struct ia_css_frame_sp_plane b;
struct ia_css_frame_sp_plane b_at_r;
};
struct ia_css_sp_resolution {
u16 width; /* width of valid data in pixels */
u16 height; /* Height of valid data in lines */
};
/*
* Frame info struct. This describes the contents of an image frame buffer.
*/
struct ia_css_frame_sp_info {
struct ia_css_sp_resolution res;
u16 padded_width; /* stride of line in memory
(in pixels) */
unsigned char format; /* format of the frame data */
unsigned char raw_bit_depth; /* number of valid bits per pixel,
only valid for RAW bayer frames */
unsigned char raw_bayer_order; /* bayer order, only valid
for RAW bayer frames */
unsigned char padding[3]; /* Extend to 32 bit multiple */
};
struct ia_css_buffer_sp {
union {
ia_css_ptr xmem_addr;
enum sh_css_queue_id queue_id;
} buf_src;
enum ia_css_buffer_type buf_type;
};
struct ia_css_frame_sp {
struct ia_css_frame_sp_info info;
struct ia_css_buffer_sp buf_attr;
union {
struct ia_css_frame_sp_plane raw;
struct ia_css_frame_sp_plane rgb;
struct ia_css_frame_sp_rgb_planes planar_rgb;
struct ia_css_frame_sp_plane yuyv;
struct ia_css_frame_sp_yuv_planes yuv;
struct ia_css_frame_sp_nv_planes nv;
struct ia_css_frame_sp_plane6 plane6;
struct ia_css_frame_sp_binary_plane binary;
} planes;
};
void ia_css_frame_info_to_frame_sp_info(
struct ia_css_frame_sp_info *sp_info,
const struct ia_css_frame_info *info);
void ia_css_resolution_to_sp_resolution(
struct ia_css_sp_resolution *sp_info,
const struct ia_css_resolution *info);
#endif /*__IA_CSS_FRAME_COMM_H__*/
Annotation
- Immediate include surface: `type_support.h`, `platform_support.h`, `runtime/bufq/interface/ia_css_bufq_comm.h`, `system_local.h`.
- Detected declarations: `struct ia_css_frame_sp_plane`, `struct ia_css_frame_sp_binary_plane`, `struct ia_css_frame_sp_yuv_planes`, `struct ia_css_frame_sp_nv_planes`, `struct ia_css_frame_sp_rgb_planes`, `struct ia_css_frame_sp_plane6`, `struct ia_css_sp_resolution`, `struct ia_css_frame_sp_info`, `struct ia_css_buffer_sp`, `struct ia_css_frame_sp`.
- 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.