drivers/net/ethernet/samsung/sxgbe/sxgbe_mtl.h

Source file repositories/reference/linux-study-clean/drivers/net/ethernet/samsung/sxgbe/sxgbe_mtl.h

File Facts

System
Linux kernel
Corpus path
drivers/net/ethernet/samsung/sxgbe/sxgbe_mtl.h
Extension
.h
Size
2706 bytes
Lines
102
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 sxgbe_mtl_ops {
	void (*mtl_init)(void __iomem *ioaddr, unsigned int etsalg,
			 unsigned int raa);

	void (*mtl_set_txfifosize)(void __iomem *ioaddr, int queue_num,
				   int mtl_fifo);

	void (*mtl_set_rxfifosize)(void __iomem *ioaddr, int queue_num,
				   int queue_fifo);

	void (*mtl_enable_txqueue)(void __iomem *ioaddr, int queue_num);

	void (*mtl_disable_txqueue)(void __iomem *ioaddr, int queue_num);

	void (*set_tx_mtl_mode)(void __iomem *ioaddr, int queue_num,
				int tx_mode);

	void (*set_rx_mtl_mode)(void __iomem *ioaddr, int queue_num,
				int rx_mode);

	void (*mtl_dynamic_dma_rxqueue)(void __iomem *ioaddr);

	void (*mtl_fc_active)(void __iomem *ioaddr, int queue_num,
			      int threshold);

	void (*mtl_fc_deactive)(void __iomem *ioaddr, int queue_num,
				int threshold);

	void (*mtl_fc_enable)(void __iomem *ioaddr, int queue_num);

	void (*mtl_fep_enable)(void __iomem *ioaddr, int queue_num);

	void (*mtl_fep_disable)(void __iomem *ioaddr, int queue_num);

	void (*mtl_fup_enable)(void __iomem *ioaddr, int queue_num);

	void (*mtl_fup_disable)(void __iomem *ioaddr, int queue_num);
};

const struct sxgbe_mtl_ops *sxgbe_get_mtl_ops(void);

#endif /* __SXGBE_MTL_H__ */

Annotation

Implementation Notes