drivers/media/platform/rockchip/rkvdec/rkvdec-regs.h
Source file repositories/reference/linux-study-clean/drivers/media/platform/rockchip/rkvdec/rkvdec-regs.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/media/platform/rockchip/rkvdec/rkvdec-regs.h- Extension
.h- Size
- 9009 bytes
- Lines
- 434
- 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
linux/types.h
Detected Declarations
struct rkvdec_common_regsstruct rkvdec_idstruct rkvdec_intstruct rkvdec_sysctrlstruct rkvdec_picparstruct rkvdec_y_virstridestruct rkvdec_yuv_virstridestruct ref_basestruct rkvdec_h26x_regsstruct rkvdec_vp9_regsstruct cprheader_offsetstruct frame_sizesstruct segid_grpstruct cprheader_configstruct ref_scalestruct ref_deltas_lastframestruct info_lastframestruct intercmd_numstruct lasttile_sizestruct hor_virstridestruct rlcwrite_basestruct pps_basestruct rps_basestruct strmd_error_enstruct strmd_error_ctustruct sao_ctu_positionstruct ystridestruct lastref_yuvstridestruct fpgadebug_resetstruct performance_selstruct error_ctu1struct rkvdec_regs
Annotated Snippet
struct rkvdec_common_regs {
struct rkvdec_id {
u32 minor_ver : 8;
u32 level : 1;
u32 dec_support : 3;
u32 profile : 1;
u32 reserved0 : 1;
u32 codec_flag : 1;
u32 reserved1 : 1;
u32 prod_num : 16;
} reg00;
struct rkvdec_int {
u32 dec_e : 1;
u32 dec_clkgate_e : 1;
u32 dec_e_strmd_clkgate_dis : 1;
u32 timeout_mode : 1;
u32 dec_irq_dis : 1;
u32 dec_timeout_e : 1;
u32 buf_empty_en : 1;
u32 stmerror_waitdecfifo_empty : 1;
u32 dec_irq : 1;
u32 dec_irq_raw : 1;
u32 reserved2 : 2;
u32 dec_rdy_sta : 1;
u32 dec_bus_sta : 1;
u32 dec_error_sta : 1;
u32 dec_timeout_sta : 1;
u32 dec_empty_sta : 1;
u32 colmv_ref_error_sta : 1;
u32 cabu_end_sta : 1;
u32 h264orvp9_error_mode : 1;
u32 softrst_en_p : 1;
u32 force_softreset_valid : 1;
u32 softreset_rdy : 1;
u32 wr_ddr_align_en : 1;
u32 scl_down_en : 1;
u32 allow_not_wr_unref_bframe : 1;
u32 reserved1 : 6;
} reg01;
struct rkvdec_sysctrl {
u32 in_endian : 1;
u32 in_swap32_e : 1;
u32 in_swap64_e : 1;
u32 str_endian : 1;
u32 str_swap32_e : 1;
u32 str_swap64_e : 1;
u32 out_endian : 1;
u32 out_swap32_e : 1;
u32 out_cbcr_swap : 1;
u32 reserved0 : 1;
u32 rlc_mode_direct_write : 1;
u32 rlc_mode : 1;
u32 strm_start_bit : 7;
u32 reserved1 : 1;
u32 dec_mode : 2;
u32 reserved2 : 2;
u32 rps_mode : 1;
u32 stream_mode : 1;
u32 stream_lastpacket : 1;
u32 firstslice_flag : 1;
u32 frame_orslice : 1;
u32 buspr_slot_disable : 1;
u32 colmv_mode : 1;
u32 ycacherd_prior : 1;
} reg02;
struct rkvdec_picpar {
u32 y_hor_virstride : 9;
u32 reserved : 2;
u32 slice_num_highbit : 1;
u32 uv_hor_virstride : 9;
u32 slice_num_lowbits : 11;
} reg03;
u32 strm_rlc_base;
u32 stream_len;
u32 cabactbl_base;
u32 decout_base;
struct rkvdec_y_virstride {
u32 y_virstride : 20;
u32 reserved0 : 12;
} reg08;
struct rkvdec_yuv_virstride {
u32 yuv_virstride : 21;
u32 reserved0 : 11;
} reg09;
Annotation
- Immediate include surface: `linux/types.h`.
- Detected declarations: `struct rkvdec_common_regs`, `struct rkvdec_id`, `struct rkvdec_int`, `struct rkvdec_sysctrl`, `struct rkvdec_picpar`, `struct rkvdec_y_virstride`, `struct rkvdec_yuv_virstride`, `struct ref_base`, `struct rkvdec_h26x_regs`, `struct rkvdec_vp9_regs`.
- 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.