drivers/net/ethernet/faraday/ftmac100.h

Source file repositories/reference/linux-study-clean/drivers/net/ethernet/faraday/ftmac100.h

File Facts

System
Linux kernel
Corpus path
drivers/net/ethernet/faraday/ftmac100.h
Extension
.h
Size
5256 bytes
Lines
168
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.

Dependency Surface

Detected Declarations

Annotated Snippet

struct ftmac100_txdes {
	__le32		txdes0;
	__le32		txdes1;
	__le32		txdes2;	/* TXBUF_BADR */
	unsigned int	txdes3;	/* not used by HW */
} __attribute__ ((aligned(16)));

#define	FTMAC100_TXDES0_TXPKT_LATECOL	(1 << 0)
#define	FTMAC100_TXDES0_TXPKT_EXSCOL	(1 << 1)
#define	FTMAC100_TXDES0_TXDMA_OWN	(1 << 31)

#define	FTMAC100_TXDES1_TXBUF_SIZE(x)	((x) & 0x7ff)
#define	FTMAC100_TXDES1_LTS		(1 << 27)
#define	FTMAC100_TXDES1_FTS		(1 << 28)
#define	FTMAC100_TXDES1_TX2FIC		(1 << 29)
#define	FTMAC100_TXDES1_TXIC		(1 << 30)
#define	FTMAC100_TXDES1_EDOTR		(1 << 31)

/*
 * Receive descriptor, aligned to 16 bytes
 */
struct ftmac100_rxdes {
	__le32		rxdes0;
	__le32		rxdes1;
	__le32		rxdes2;	/* RXBUF_BADR */
	unsigned int	rxdes3;	/* not used by HW */
} __attribute__ ((aligned(16)));

#define	FTMAC100_RXDES0_RFL		0x7ff
#define	FTMAC100_RXDES0_MULTICAST	(1 << 16)
#define	FTMAC100_RXDES0_BROADCAST	(1 << 17)
#define	FTMAC100_RXDES0_RX_ERR		(1 << 18)
#define	FTMAC100_RXDES0_CRC_ERR		(1 << 19)
#define	FTMAC100_RXDES0_FTL		(1 << 20)
#define	FTMAC100_RXDES0_RUNT		(1 << 21)
#define	FTMAC100_RXDES0_RX_ODD_NB	(1 << 22)
#define	FTMAC100_RXDES0_LRS		(1 << 28)
#define	FTMAC100_RXDES0_FRS		(1 << 29)
#define	FTMAC100_RXDES0_RXDMA_OWN	(1 << 31)

#define	FTMAC100_RXDES1_RXBUF_SIZE(x)	((x) & 0x7ff)
#define	FTMAC100_RXDES1_EDORR		(1 << 31)

#endif /* __FTMAC100_H */

Annotation

Implementation Notes