drivers/media/platform/qcom/venus/hfi_helper.h
Source file repositories/reference/linux-study-clean/drivers/media/platform/qcom/venus/hfi_helper.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/media/platform/qcom/venus/hfi_helper.h- Extension
.h- Size
- 36579 bytes
- Lines
- 1303
- 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
- No C-style include directives detected by the generator.
Detected Declarations
struct hfi_buffer_infostruct hfi_bitratestruct hfi_h264_8x8_transformstruct hfi_capabilitystruct hfi_capabilitiesstruct hfi_debug_configstruct hfi_ubwc_configstruct hfi_enablestruct hfi_h264_db_controlstruct hfi_h264_entropy_controlstruct hfi_frameratestruct hfi_intra_refreshstruct hfi_intra_refresh_3xstruct hfi_idr_periodstruct hfi_operations_typestruct hfi_max_num_b_framesstruct hfi_vc1e_perf_cfg_typestruct hfi_conceal_colorstruct hfi_conceal_color_v4struct hfi_intra_periodstruct hfi_mpeg4_header_extensionstruct hfi_mpeg4_time_resolutionstruct hfi_multi_streamstruct hfi_multi_stream_3xstruct hfi_multi_view_formatstruct hfi_multi_slice_controlstruct hfi_nal_stream_formatstruct hfi_nal_stream_format_selectstruct hfi_profile_levelstruct hfi_profile_level_supportedstruct hfi_quality_vs_speedstruct hfi_heic_frame_qualitystruct hfi_quantizationstruct hfi_initial_quantizationstruct hfi_quantization_rangestruct hfi_quantization_v2struct hfi_quantization_range_v2struct hfi_ltr_modestruct hfi_ltr_usestruct hfi_ltr_markstruct hfi_mastering_display_colour_sei_payloadstruct hfi_content_light_level_sei_payloadstruct hfi_hdr10_pq_seistruct hfi_framesizestruct hfi_perf_modestruct hfi_videocores_usage_typestruct hfi_video_work_modestruct hfi_video_work_route
Annotated Snippet
struct hfi_buffer_info {
u32 buffer_addr;
u32 extradata_addr;
};
struct hfi_bitrate {
u32 bitrate;
u32 layer_id;
};
struct hfi_h264_8x8_transform {
u32 enable_type;
};
#define HFI_CAPABILITY_FRAME_WIDTH 0x01
#define HFI_CAPABILITY_FRAME_HEIGHT 0x02
#define HFI_CAPABILITY_MBS_PER_FRAME 0x03
#define HFI_CAPABILITY_MBS_PER_SECOND 0x04
#define HFI_CAPABILITY_FRAMERATE 0x05
#define HFI_CAPABILITY_SCALE_X 0x06
#define HFI_CAPABILITY_SCALE_Y 0x07
#define HFI_CAPABILITY_BITRATE 0x08
#define HFI_CAPABILITY_BFRAME 0x09
#define HFI_CAPABILITY_PEAKBITRATE 0x0a
#define HFI_CAPABILITY_HIER_P_NUM_ENH_LAYERS 0x10
#define HFI_CAPABILITY_ENC_LTR_COUNT 0x11
#define HFI_CAPABILITY_CP_OUTPUT2_THRESH 0x12
#define HFI_CAPABILITY_HIER_B_NUM_ENH_LAYERS 0x13
#define HFI_CAPABILITY_LCU_SIZE 0x14
#define HFI_CAPABILITY_HIER_P_HYBRID_NUM_ENH_LAYERS 0x15
#define HFI_CAPABILITY_MBS_PER_SECOND_POWERSAVE 0x16
#define HFI_CAPABILITY_I_FRAME_QP 0x20
#define HFI_CAPABILITY_P_FRAME_QP 0x21
#define HFI_CAPABILITY_B_FRAME_QP 0x22
#define HFI_CAPABILITY_RATE_CONTROL_MODES 0x23
#define HFI_CAPABILITY_BLUR_WIDTH 0x24
#define HFI_CAPABILITY_BLUR_HEIGHT 0x25
#define HFI_CAPABILITY_SLICE_BYTE 0x27
#define HFI_CAPABILITY_SLICE_MB 0x28
#define HFI_CAPABILITY_MAX_VIDEOCORES 0x2b
#define HFI_CAPABILITY_MAX_WORKMODES 0x2c
#define HFI_CAPABILITY_ROTATION 0x2f
#define HFI_CAPABILITY_COLOR_SPACE_CONVERSION 0x30
struct hfi_capability {
u32 capability_type;
u32 min;
u32 max;
u32 step_size;
};
struct hfi_capabilities {
u32 num_capabilities;
struct hfi_capability data[];
};
#define HFI_DEBUG_MSG_LOW 0x01
#define HFI_DEBUG_MSG_MEDIUM 0x02
#define HFI_DEBUG_MSG_HIGH 0x04
#define HFI_DEBUG_MSG_ERROR 0x08
#define HFI_DEBUG_MSG_FATAL 0x10
#define HFI_DEBUG_MSG_PERF 0x20
#define HFI_DEBUG_MODE_QUEUE 0x01
#define HFI_DEBUG_MODE_QDSS 0x02
struct hfi_debug_config {
u32 config;
u32 mode;
};
struct hfi_ubwc_config {
u32 size;
u32 packet_type;
struct {
u32 max_channel_override : 1;
u32 mal_length_override : 1;
u32 hb_override : 1;
u32 bank_swzl_level_override : 1;
u32 bank_spreading_override : 1;
u32 reserved : 27;
} override_bit_info;
u32 max_channels;
u32 mal_length;
u32 highest_bank_bit;
u32 bank_swzl_level;
u32 bank_spreading;
u32 reserved[2];
};
Annotation
- Detected declarations: `struct hfi_buffer_info`, `struct hfi_bitrate`, `struct hfi_h264_8x8_transform`, `struct hfi_capability`, `struct hfi_capabilities`, `struct hfi_debug_config`, `struct hfi_ubwc_config`, `struct hfi_enable`, `struct hfi_h264_db_control`, `struct hfi_h264_entropy_control`.
- 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.