drivers/media/platform/ti/vpe/vpdma_priv.h
Source file repositories/reference/linux-study-clean/drivers/media/platform/ti/vpe/vpdma_priv.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/media/platform/ti/vpe/vpdma_priv.h- Extension
.h- Size
- 16355 bytes
- Lines
- 640
- 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 vpdma_dtdstruct vpdma_cfdstruct vpdma_ctdfunction dtd_type_ctl_stridefunction dtd_xfer_length_heightfunction dtd_pkt_ctlfunction dtd_frame_width_heightfunction dtd_desc_write_addrfunction dtd_start_h_vfunction dtd_max_width_heightfunction dtd_get_data_typefunction dtd_get_notifyfunction dtd_get_fieldfunction dtd_get_1dfunction dtd_get_even_line_skipfunction dtd_get_odd_line_skipfunction dtd_get_line_stridefunction dtd_get_line_lengthfunction dtd_get_xfer_heightfunction dtd_get_pkt_typefunction dtd_get_modefunction dtd_get_dirfunction dtd_get_chanfunction dtd_get_priorityfunction dtd_get_next_chanfunction dtd_get_frame_widthfunction dtd_get_frame_heightfunction dtd_get_desc_write_addrfunction dtd_get_write_descfunction dtd_get_drop_datafunction dtd_get_use_descfunction dtd_get_h_startfunction dtd_get_v_startfunction dtd_get_max_widthfunction dtd_get_max_heightfunction cfd_pkt_payload_lenfunction cfd_get_pkt_typefunction cfd_get_directfunction cfd_get_classfunction cfd_get_destfunction cfd_get_payload_lenfunction ctd_pixel_line_countfunction ctd_set_fid_ctlfunction ctd_type_source_ctlfunction ctd_get_pixel_countfunction ctd_get_line_countfunction ctd_get_eventfunction ctd_get_fid2_ctl
Annotated Snippet
struct vpdma_dtd {
u32 type_ctl_stride;
union {
u32 xfer_length_height;
u32 w1;
};
u32 start_addr;
u32 pkt_ctl;
union {
u32 frame_width_height; /* inbound */
u32 desc_write_addr; /* outbound */
};
union {
u32 start_h_v; /* inbound */
u32 max_width_height; /* outbound */
};
u32 client_attr0;
u32 client_attr1;
};
/* Data Transfer Descriptor specifics */
#define DTD_NO_NOTIFY 0
#define DTD_NOTIFY 1
#define DTD_PKT_TYPE 0xa
#define DTD_DIR_IN 0
#define DTD_DIR_OUT 1
/* type_ctl_stride */
#define DTD_DATA_TYPE_MASK 0x3f
#define DTD_DATA_TYPE_SHFT 26
#define DTD_NOTIFY_MASK 0x01
#define DTD_NOTIFY_SHFT 25
#define DTD_FIELD_MASK 0x01
#define DTD_FIELD_SHFT 24
#define DTD_1D_MASK 0x01
#define DTD_1D_SHFT 23
#define DTD_EVEN_LINE_SKIP_MASK 0x01
#define DTD_EVEN_LINE_SKIP_SHFT 20
#define DTD_ODD_LINE_SKIP_MASK 0x01
#define DTD_ODD_LINE_SKIP_SHFT 16
#define DTD_LINE_STRIDE_MASK 0xffff
#define DTD_LINE_STRIDE_SHFT 0
/* xfer_length_height */
#define DTD_LINE_LENGTH_MASK 0xffff
#define DTD_LINE_LENGTH_SHFT 16
#define DTD_XFER_HEIGHT_MASK 0xffff
#define DTD_XFER_HEIGHT_SHFT 0
/* pkt_ctl */
#define DTD_PKT_TYPE_MASK 0x1f
#define DTD_PKT_TYPE_SHFT 27
#define DTD_MODE_MASK 0x01
#define DTD_MODE_SHFT 26
#define DTD_DIR_MASK 0x01
#define DTD_DIR_SHFT 25
#define DTD_CHAN_MASK 0x01ff
#define DTD_CHAN_SHFT 16
#define DTD_PRI_MASK 0x0f
#define DTD_PRI_SHFT 9
#define DTD_NEXT_CHAN_MASK 0x01ff
#define DTD_NEXT_CHAN_SHFT 0
/* frame_width_height */
#define DTD_FRAME_WIDTH_MASK 0xffff
#define DTD_FRAME_WIDTH_SHFT 16
#define DTD_FRAME_HEIGHT_MASK 0xffff
#define DTD_FRAME_HEIGHT_SHFT 0
/* start_h_v */
#define DTD_H_START_MASK 0xffff
#define DTD_H_START_SHFT 16
#define DTD_V_START_MASK 0xffff
#define DTD_V_START_SHFT 0
#define DTD_DESC_START_MASK 0xffffffe0
#define DTD_DESC_START_SHIFT 5
#define DTD_WRITE_DESC_MASK 0x01
#define DTD_WRITE_DESC_SHIFT 2
#define DTD_DROP_DATA_MASK 0x01
#define DTD_DROP_DATA_SHIFT 1
#define DTD_USE_DESC_MASK 0x01
#define DTD_USE_DESC_SHIFT 0
/* max_width_height */
#define DTD_MAX_WIDTH_MASK 0x07
#define DTD_MAX_WIDTH_SHFT 4
#define DTD_MAX_HEIGHT_MASK 0x07
#define DTD_MAX_HEIGHT_SHFT 0
Annotation
- Detected declarations: `struct vpdma_dtd`, `struct vpdma_cfd`, `struct vpdma_ctd`, `function dtd_type_ctl_stride`, `function dtd_xfer_length_height`, `function dtd_pkt_ctl`, `function dtd_frame_width_height`, `function dtd_desc_write_addr`, `function dtd_start_h_v`, `function dtd_max_width_height`.
- 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.