drivers/media/platform/qcom/iris/iris_utils.h
Source file repositories/reference/linux-study-clean/drivers/media/platform/qcom/iris/iris_utils.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/media/platform/qcom/iris/iris_utils.h- Extension
.h- Size
- 1459 bytes
- Lines
- 59
- Domain
- Driver Families
- Bucket
- drivers/media
- 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
iris_buffer.h
Detected Declarations
struct iris_corestruct iris_hfi_rect_descstruct iris_hfi_frame_infostruct iris_ts_metadatafunction iris_v4l2_type_to_driver
Annotated Snippet
struct iris_hfi_rect_desc {
u32 left;
u32 top;
u32 width;
u32 height;
};
struct iris_hfi_frame_info {
u32 picture_type;
u32 no_output;
u32 data_corrupt;
u32 overflow;
};
struct iris_ts_metadata {
u64 ts_ns;
u64 ts_us;
u32 flags;
struct v4l2_timecode tc;
};
#define NUM_MBS_PER_FRAME(height, width) \
(DIV_ROUND_UP(height, 16) * DIV_ROUND_UP(width, 16))
static inline enum iris_buffer_type iris_v4l2_type_to_driver(u32 type)
{
if (type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE)
return BUF_INPUT;
else
return BUF_OUTPUT;
}
bool iris_res_is_less_than(u32 width, u32 height,
u32 ref_width, u32 ref_height);
int iris_get_mbpf(struct iris_inst *inst);
bool iris_split_mode_enabled(struct iris_inst *inst);
bool iris_fmt_is_8bit(u32 pixelformat);
bool iris_fmt_is_10bit(u32 pixelformat);
struct iris_inst *iris_get_instance(struct iris_core *core, u32 session_id);
void iris_helper_buffers_done(struct iris_inst *inst, unsigned int type,
enum vb2_buffer_state state);
int iris_wait_for_session_response(struct iris_inst *inst, bool is_flush);
int iris_check_core_mbpf(struct iris_inst *inst);
int iris_check_core_mbps(struct iris_inst *inst);
bool is_rotation_90_or_270(struct iris_inst *inst);
#endif
Annotation
- Immediate include surface: `iris_buffer.h`.
- Detected declarations: `struct iris_core`, `struct iris_hfi_rect_desc`, `struct iris_hfi_frame_info`, `struct iris_ts_metadata`, `function iris_v4l2_type_to_driver`.
- Atlas domain: Driver Families / drivers/media.
- 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.