drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr.h

Source file repositories/reference/linux-study-clean/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr.h

File Facts

System
Linux kernel
Corpus path
drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr.h
Extension
.h
Size
13663 bytes
Lines
342
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 s5p_mfc_regs {

	/* codec common registers */
	void __iomem *risc_on;
	void __iomem *risc2host_int;
	void __iomem *host2risc_int;
	void __iomem *risc_base_address;
	void __iomem *mfc_reset;
	void __iomem *host2risc_command;
	void __iomem *risc2host_command;
	void __iomem *mfc_bus_reset_ctrl;
	void __iomem *firmware_version;
	void __iomem *instance_id;
	void __iomem *codec_type;
	void __iomem *context_mem_addr;
	void __iomem *context_mem_size;
	void __iomem *pixel_format;
	void __iomem *metadata_enable;
	void __iomem *mfc_version;
	void __iomem *dbg_info_enable;
	void __iomem *dbg_buffer_addr;
	void __iomem *dbg_buffer_size;
	void __iomem *hed_control;
	void __iomem *mfc_timeout_value;
	void __iomem *hed_shared_mem_addr;
	void __iomem *dis_shared_mem_addr;/* only v7 */
	void __iomem *ret_instance_id;
	void __iomem *error_code;
	void __iomem *dbg_buffer_output_size;
	void __iomem *metadata_status;
	void __iomem *metadata_addr_mb_info;
	void __iomem *metadata_size_mb_info;
	void __iomem *dbg_info_stage_counter;

	/* decoder registers */
	void __iomem *d_crc_ctrl;
	void __iomem *d_dec_options;
	void __iomem *d_display_delay;
	void __iomem *d_set_frame_width;
	void __iomem *d_set_frame_height;
	void __iomem *d_sei_enable;
	void __iomem *d_min_num_dpb;
	void __iomem *d_min_first_plane_dpb_size;
	void __iomem *d_min_second_plane_dpb_size;
	void __iomem *d_min_third_plane_dpb_size;/* only v8 */
	void __iomem *d_min_num_mv;
	void __iomem *d_mvc_num_views;
	void __iomem *d_min_num_dis;/* only v7 */
	void __iomem *d_min_first_dis_size;/* only v7 */
	void __iomem *d_min_second_dis_size;/* only v7 */
	void __iomem *d_min_third_dis_size;/* only v7 */
	void __iomem *d_post_filter_luma_dpb0;/*  v7 and v8 */
	void __iomem *d_post_filter_luma_dpb1;/* v7 and v8 */
	void __iomem *d_post_filter_luma_dpb2;/* only v7 */
	void __iomem *d_post_filter_chroma_dpb0;/* v7 and v8 */
	void __iomem *d_post_filter_chroma_dpb1;/* v7 and v8 */
	void __iomem *d_post_filter_chroma_dpb2;/* only v7 */
	void __iomem *d_num_dpb;
	void __iomem *d_num_mv;
	void __iomem *d_init_buffer_options;
	void __iomem *d_first_plane_dpb_stride_size;/* only v8 */
	void __iomem *d_second_plane_dpb_stride_size;/* only v8 */
	void __iomem *d_third_plane_dpb_stride_size;/* only v8 */
	void __iomem *d_first_plane_dpb_size;
	void __iomem *d_second_plane_dpb_size;
	void __iomem *d_third_plane_dpb_size;/* only v8 */
	void __iomem *d_mv_buffer_size;
	void __iomem *d_first_plane_dpb;
	void __iomem *d_second_plane_dpb;
	void __iomem *d_third_plane_dpb;
	void __iomem *d_mv_buffer;
	void __iomem *d_scratch_buffer_addr;
	void __iomem *d_scratch_buffer_size;
	void __iomem *d_metadata_buffer_addr;
	void __iomem *d_metadata_buffer_size;
	void __iomem *d_nal_start_options;/* v7 and v8 */
	void __iomem *d_cpb_buffer_addr;
	void __iomem *d_cpb_buffer_size;
	void __iomem *d_available_dpb_flag_upper;
	void __iomem *d_available_dpb_flag_lower;
	void __iomem *d_cpb_buffer_offset;
	void __iomem *d_slice_if_enable;
	void __iomem *d_picture_tag;
	void __iomem *d_stream_data_size;
	void __iomem *d_dynamic_dpb_flag_upper;/* v7 and v8 */
	void __iomem *d_dynamic_dpb_flag_lower;/* v7 and v8 */
	void __iomem *d_display_frame_width;
	void __iomem *d_display_frame_height;
	void __iomem *d_display_status;
	void __iomem *d_display_first_plane_addr;

Annotation

Implementation Notes