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.

Dependency Surface

Detected Declarations

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

Implementation Notes