drivers/net/fddi/defxx.h
Source file repositories/reference/linux-study-clean/drivers/net/fddi/defxx.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/fddi/defxx.h- Extension
.h- Size
- 54721 bytes
- Lines
- 1807
- Domain
- Driver Families
- Bucket
- drivers/net
- 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.
- Allocates kernel memory; connect allocation flags and lifetime to context constraints.
- 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
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
Annotated Snippet
#ifndef _DEFXX_H_
#define _DEFXX_H_
/* Define basic types for unsigned chars, shorts, longs */
typedef u8 PI_UINT8;
typedef u16 PI_UINT16;
typedef u32 PI_UINT32;
/* Define general structures */
typedef struct /* 64-bit counter */
{
PI_UINT32 ms;
PI_UINT32 ls;
} PI_CNTR;
typedef struct /* LAN address */
{
PI_UINT32 lwrd_0;
PI_UINT32 lwrd_1;
} PI_LAN_ADDR;
typedef struct /* Station ID address */
{
PI_UINT32 octet_7_4;
PI_UINT32 octet_3_0;
} PI_STATION_ID;
/* Define general constants */
#define PI_ALIGN_K_DESC_BLK 8192 /* Descriptor block boundary */
#define PI_ALIGN_K_CONS_BLK 64 /* Consumer block boundary */
#define PI_ALIGN_K_CMD_REQ_BUFF 128 /* Xmt Command que buffer alignment */
#define PI_ALIGN_K_CMD_RSP_BUFF 128 /* Rcv Command que buffer alignment */
#define PI_ALIGN_K_UNSOL_BUFF 128 /* Unsol que buffer alignment */
#define PI_ALIGN_K_XMT_DATA_BUFF 0 /* Xmt data que buffer alignment */
#define PI_ALIGN_K_RCV_DATA_BUFF 128 /* Rcv que buffer alignment */
/* Define PHY index values */
#define PI_PHY_K_S 0 /* Index to S phy */
#define PI_PHY_K_A 0 /* Index to A phy */
#define PI_PHY_K_B 1 /* Index to B phy */
#define PI_PHY_K_MAX 2 /* Max number of phys */
/* Define FMC descriptor fields */
#define PI_FMC_DESCR_V_SOP 31
#define PI_FMC_DESCR_V_EOP 30
#define PI_FMC_DESCR_V_FSC 27
#define PI_FMC_DESCR_V_FSB_ERROR 26
#define PI_FMC_DESCR_V_FSB_ADDR_RECOG 25
#define PI_FMC_DESCR_V_FSB_ADDR_COPIED 24
#define PI_FMC_DESCR_V_FSB 22
#define PI_FMC_DESCR_V_RCC_FLUSH 21
#define PI_FMC_DESCR_V_RCC_CRC 20
#define PI_FMC_DESCR_V_RCC_RRR 17
#define PI_FMC_DESCR_V_RCC_DD 15
#define PI_FMC_DESCR_V_RCC_SS 13
#define PI_FMC_DESCR_V_RCC 13
#define PI_FMC_DESCR_V_LEN 0
#define PI_FMC_DESCR_M_SOP 0x80000000
#define PI_FMC_DESCR_M_EOP 0x40000000
#define PI_FMC_DESCR_M_FSC 0x38000000
#define PI_FMC_DESCR_M_FSB_ERROR 0x04000000
#define PI_FMC_DESCR_M_FSB_ADDR_RECOG 0x02000000
#define PI_FMC_DESCR_M_FSB_ADDR_COPIED 0x01000000
#define PI_FMC_DESCR_M_FSB 0x07C00000
#define PI_FMC_DESCR_M_RCC_FLUSH 0x00200000
#define PI_FMC_DESCR_M_RCC_CRC 0x00100000
#define PI_FMC_DESCR_M_RCC_RRR 0x000E0000
#define PI_FMC_DESCR_M_RCC_DD 0x00018000
#define PI_FMC_DESCR_M_RCC_SS 0x00006000
#define PI_FMC_DESCR_M_RCC 0x003FE000
#define PI_FMC_DESCR_M_LEN 0x00001FFF
#define PI_FMC_DESCR_K_RCC_FMC_INT_ERR 0x01AA
#define PI_FMC_DESCR_K_RRR_SUCCESS 0x00
#define PI_FMC_DESCR_K_RRR_SA_MATCH 0x01
#define PI_FMC_DESCR_K_RRR_DA_MATCH 0x02
#define PI_FMC_DESCR_K_RRR_FMC_ABORT 0x03
#define PI_FMC_DESCR_K_RRR_LENGTH_BAD 0x04
#define PI_FMC_DESCR_K_RRR_FRAGMENT 0x05
#define PI_FMC_DESCR_K_RRR_FORMAT_ERR 0x06
#define PI_FMC_DESCR_K_RRR_MAC_RESET 0x07
Annotation
- Atlas domain: Driver Families / drivers/net.
- 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.