STRUCT IRIS_INST(9)
π NAME π
okay so bestie, this is struct iris_inst(9), and it comes from the Kernel API Manual. its whole deal is holding per video instance parameters β literally the per-instance main character energy for this video session. πβ¨
β¨ SYNOPSIS β¨
struct iris_inst {
struct list_head list;
struct iris_core *core;
u32 session_id;
const struct iris_hfi_session_ops *hfi_session_ops;
struct mutex ctx_q_lock;
struct mutex lock;
struct v4l2_fh fh;
struct v4l2_format *fmt_src;
struct v4l2_format *fmt_dst;
struct v4l2_ctrl_handler ctrl_handler;
enum domain_type domain;
struct iris_hfi_rect_desc crop;
struct iris_hfi_rect_desc compose;
struct completion completion;
struct completion flush_completion;
u32 flush_responses_pending;
struct platform_inst_fw_cap fw_caps[INST_FW_CAP_MAX];
struct iris_buffers buffers[BUF_TYPE_MAX];
u32 fw_min_count;
enum iris_inst_state state;
enum iris_inst_sub_state sub_state;
bool once_per_session_set;
size_t max_input_data_size;
struct iris_inst_power power;
struct icc_vote_data icc_data;
struct v4l2_m2m_dev *m2m_dev;
struct v4l2_m2m_ctx *m2m_ctx;
u32 sequence_cap;
u32 sequence_out;
struct iris_ts_metadata tss[VIDEO_MAX_FRAME];
u32 metadata_idx;
u32 codec;
bool last_buffer_dequeued;
u64 last_buf_ns;
u32 frame_counter;
u32 frame_rate;
u32 operating_rate;
u32 hfi_rc_type;
u32 enc_raw_width;
u32 enc_raw_height;
u32 enc_scale_width;
u32 enc_scale_height;
u32 hfi_layer_type;
u32 hfi_layer_count;
};
lowkey important: this is the struct layout, so every field below is part of the vibe. no skipping, no cap. π
π«Ά Members π«Ά
here's the full member-by-member breakdown in original order. yes bestie, every single field. hydrate before reading. π
listβ used to attach an instance to the core. the linkage field, periodt.coreβ pointer to core structure.session_idβ id of current video session.hfi_session_opsβ iris HFI session ops.ctx_q_lockβ lock to serialize queues related ioctls.lockβ lock to serialize forward and reverse threads.fhβ reference of v4l2 file handler.fmt_srcβ structure of v4l2_format for source.fmt_dstβ structure of v4l2_format for destination.ctrl_handlerβ reference of v4l2 ctrl handler.domainβ domain type: encoder or decoder.cropβ structure of crop info.composeβ structure of compose info.completionβ structure of signal completions.flush_completionβ structure of signal completions for flush cmd.flush_responses_pendingβ counter to track number of pending flush responses.fw_capsβ array of supported instance firmware capabilities.buffersβ array of different iris buffers.fw_min_countβ minimum count of buffers needed by fw.stateβ instance state.sub_stateβ instance sub state.once_per_session_setβ boolean to set once per session property.max_input_data_sizeβ max size of input data.powerβ structure of power info.icc_dataβ structure of interconnect data.m2m_devβ a reference to m2m device structure.m2m_ctxβ a reference to m2m context structure.sequence_capβ a sequence counter for capture queue.sequence_outβ a sequence counter for output queue.tssβ timestamp metadata.metadata_idxβ index for metadata buffer.codecβ codec type.last_buffer_dequeuedβ a flag to indicate that last buffer is sent by driver.last_buf_nsβ start time of received input buffer for current one second FPS window.frame_counterβ input buffer counter for current one second FPS window.frame_rateβ frame rate of current instance.operating_rateβ operating rate of current instance.hfi_rc_typeβ rate control type.enc_raw_widthβ source image width for encoder instance.enc_raw_heightβ source image height for encoder instance.enc_scale_widthβ scale width for encoder instance.enc_scale_heightβ scale height for encoder instance.hfi_layer_typeβ hierarchical coding layer type.hfi_layer_countβ hierarchical coding layer count.
π SEE ALSO π
- Kernel file
./drivers/media/platform/qcom/iris/iris_instance.h
π cute sign-off: source/version is ./drivers/media/platform/qcom/..., dated October 2026. mwah πβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms