drivers/staging/media/atomisp/pci/css_2401_system/hrt/stream2mmio_defs.h
Source file repositories/reference/linux-study-clean/drivers/staging/media/atomisp/pci/css_2401_system/hrt/stream2mmio_defs.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/staging/media/atomisp/pci/css_2401_system/hrt/stream2mmio_defs.h- Extension
.h- Size
- 3421 bytes
- Lines
- 61
- Domain
- Driver Families
- Bucket
- drivers/staging
- 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.
Dependency Surface
mipi_backend_defs.h
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
Annotated Snippet
#ifndef _STREAM2MMMIO_DEFS_H
#define _STREAM2MMMIO_DEFS_H
#include <mipi_backend_defs.h>
#define _STREAM2MMIO_REG_ALIGN 4
#define _STREAM2MMIO_COMMAND_REG_ID 0
#define _STREAM2MMIO_ACKNOWLEDGE_REG_ID 1
#define _STREAM2MMIO_PIX_WIDTH_ID_REG_ID 2
#define _STREAM2MMIO_START_ADDR_REG_ID 3 /* master port address,NOT Byte */
#define _STREAM2MMIO_END_ADDR_REG_ID 4 /* master port address,NOT Byte */
#define _STREAM2MMIO_STRIDE_REG_ID 5 /* stride in master port words, increment is per packet for long sids, stride is not used for short sid's*/
#define _STREAM2MMIO_NUM_ITEMS_REG_ID 6 /* number of packets for store packets cmd, number of words for store_words cmd */
#define _STREAM2MMIO_BLOCK_WHEN_NO_CMD_REG_ID 7 /* if this register is 1, input will be stalled if there is no pending command for this sid */
#define _STREAM2MMIO_REGS_PER_SID 8
#define _STREAM2MMIO_SID_REG_OFFSET 8
#define _STREAM2MMIO_MAX_NOF_SIDS 64 /* value used in hss model */
/* command token definition */
#define _STREAM2MMIO_CMD_TOKEN_CMD_LSB 0 /* bits 1-0 is for the command field */
#define _STREAM2MMIO_CMD_TOKEN_CMD_MSB 1
#define _STREAM2MMIO_CMD_TOKEN_WIDTH (_STREAM2MMIO_CMD_TOKEN_CMD_MSB + 1 - _STREAM2MMIO_CMD_TOKEN_CMD_LSB)
#define _STREAM2MMIO_CMD_TOKEN_STORE_WORDS 0 /* command for storing a number of output words indicated by reg _STREAM2MMIO_NUM_ITEMS */
#define _STREAM2MMIO_CMD_TOKEN_STORE_PACKETS 1 /* command for storing a number of packets indicated by reg _STREAM2MMIO_NUM_ITEMS */
#define _STREAM2MMIO_CMD_TOKEN_SYNC_FRAME 2 /* command for waiting for a frame start */
/* acknowledges from packer module */
/* fields: eof - indicates whether last (short) packet received was an eof packet */
/* eop - indicates whether command has ended due to packet end or due to no of words requested has been received */
/* count - indicates number of words stored */
#define _STREAM2MMIO_PACK_NUM_ITEMS_BITS 16
#define _STREAM2MMIO_PACK_ACK_EOP_BIT _STREAM2MMIO_PACK_NUM_ITEMS_BITS
#define _STREAM2MMIO_PACK_ACK_EOF_BIT (_STREAM2MMIO_PACK_ACK_EOP_BIT + 1)
/* acknowledge token definition */
#define _STREAM2MMIO_ACK_TOKEN_NUM_ITEMS_LSB 0 /* bits 3-0 is for the command field */
#define _STREAM2MMIO_ACK_TOKEN_NUM_ITEMS_MSB (_STREAM2MMIO_PACK_NUM_ITEMS_BITS - 1)
#define _STREAM2MMIO_ACK_TOKEN_EOP_BIT _STREAM2MMIO_PACK_ACK_EOP_BIT
#define _STREAM2MMIO_ACK_TOKEN_EOF_BIT _STREAM2MMIO_PACK_ACK_EOF_BIT
#define _STREAM2MMIO_ACK_TOKEN_VALID_BIT (_STREAM2MMIO_ACK_TOKEN_EOF_BIT + 1) /* this bit indicates a valid ack */
/* if there is no valid ack, a read */
/* on the ack register returns 0 */
#define _STREAM2MMIO_ACK_TOKEN_WIDTH (_STREAM2MMIO_ACK_TOKEN_VALID_BIT + 1)
/* commands for packer module */
#define _STREAM2MMIO_PACK_CMD_STORE_WORDS 0
#define _STREAM2MMIO_PACK_CMD_STORE_LONG_PACKET 1
#define _STREAM2MMIO_PACK_CMD_STORE_SHORT_PACKET 2
#endif /* _STREAM2MMIO_DEFS_H */
Annotation
- Immediate include surface: `mipi_backend_defs.h`.
- Atlas domain: Driver Families / drivers/staging.
- 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.