drivers/media/platform/qcom/venus/hfi_cmds.h
Source file repositories/reference/linux-study-clean/drivers/media/platform/qcom/venus/hfi_cmds.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/media/platform/qcom/venus/hfi_cmds.h- Extension
.h- Size
- 7644 bytes
- Lines
- 297
- 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
hfi.h
Detected Declarations
struct hfi_sys_init_pktstruct hfi_sys_pc_prep_pktstruct hfi_sys_set_resource_pktstruct hfi_sys_release_resource_pktstruct hfi_sys_set_property_pktstruct hfi_sys_get_property_pktstruct hfi_sys_set_buffers_pktstruct hfi_sys_ping_pktstruct hfi_session_init_pktstruct hfi_session_end_pktstruct hfi_session_abort_pktstruct hfi_session_set_property_pktstruct hfi_session_set_buffers_pktstruct hfi_session_get_sequence_header_pktstruct hfi_session_load_resources_pktstruct hfi_session_start_pktstruct hfi_session_stop_pktstruct hfi_session_empty_buffer_compressed_pktstruct hfi_session_empty_buffer_uncompressed_plane0_pktstruct hfi_session_empty_buffer_uncompressed_plane1_pktstruct hfi_session_empty_buffer_uncompressed_plane2_pktstruct hfi_session_fill_buffer_pktstruct hfi_session_flush_pktstruct hfi_session_suspend_pktstruct hfi_session_resume_pktstruct hfi_session_get_property_pktstruct hfi_session_release_buffer_pktstruct hfi_session_release_resources_pktstruct hfi_session_parse_sequence_header_pktstruct hfi_sfrstruct hfi_sys_test_ssr_pkt
Annotated Snippet
struct hfi_sys_init_pkt {
struct hfi_pkt_hdr hdr;
u32 arch_type;
};
struct hfi_sys_pc_prep_pkt {
struct hfi_pkt_hdr hdr;
};
struct hfi_sys_set_resource_pkt {
struct hfi_pkt_hdr hdr;
u32 resource_handle;
u32 resource_type;
u32 resource_data[];
};
struct hfi_sys_release_resource_pkt {
struct hfi_pkt_hdr hdr;
u32 resource_type;
u32 resource_handle;
};
struct hfi_sys_set_property_pkt {
struct hfi_pkt_hdr hdr;
u32 num_properties;
u32 data[];
};
struct hfi_sys_get_property_pkt {
struct hfi_pkt_hdr hdr;
u32 num_properties;
u32 data;
};
struct hfi_sys_set_buffers_pkt {
struct hfi_pkt_hdr hdr;
u32 buffer_type;
u32 buffer_size;
u32 num_buffers;
u32 buffer_addr[];
};
struct hfi_sys_ping_pkt {
struct hfi_pkt_hdr hdr;
u32 client_data;
};
struct hfi_session_init_pkt {
struct hfi_session_hdr_pkt shdr;
u32 session_domain;
u32 session_codec;
};
struct hfi_session_end_pkt {
struct hfi_session_hdr_pkt shdr;
};
struct hfi_session_abort_pkt {
struct hfi_session_hdr_pkt shdr;
};
struct hfi_session_set_property_pkt {
struct hfi_session_hdr_pkt shdr;
u32 num_properties;
u32 data[];
};
struct hfi_session_set_buffers_pkt {
struct hfi_session_hdr_pkt shdr;
u32 buffer_type;
u32 buffer_size;
u32 extradata_size;
u32 min_buffer_size;
u32 num_buffers;
u32 buffer_info[];
};
struct hfi_session_get_sequence_header_pkt {
struct hfi_session_hdr_pkt shdr;
u32 buffer_len;
u32 packet_buffer;
};
struct hfi_session_load_resources_pkt {
struct hfi_session_hdr_pkt shdr;
};
struct hfi_session_start_pkt {
struct hfi_session_hdr_pkt shdr;
};
Annotation
- Immediate include surface: `hfi.h`.
- Detected declarations: `struct hfi_sys_init_pkt`, `struct hfi_sys_pc_prep_pkt`, `struct hfi_sys_set_resource_pkt`, `struct hfi_sys_release_resource_pkt`, `struct hfi_sys_set_property_pkt`, `struct hfi_sys_get_property_pkt`, `struct hfi_sys_set_buffers_pkt`, `struct hfi_sys_ping_pkt`, `struct hfi_session_init_pkt`, `struct hfi_session_end_pkt`.
- 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.