drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_mqprio.h

Source file repositories/reference/linux-study-clean/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_mqprio.h

File Facts

System
Linux kernel
Corpus path
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_mqprio.h
Extension
.h
Size
1461 bytes
Lines
46
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 cxgb4_tc_port_mqprio {
	enum cxgb4_mqprio_state state; /* Current MQPRIO offload state */
	struct tc_mqprio_qopt_offload mqprio; /* MQPRIO offload params */
	struct sge_eosw_txq *eosw_txq; /* Netdev SW Tx queue array */
	u8 tc_hwtc_map[TC_QOPT_MAX_QUEUE]; /* MQPRIO tc to hardware tc map */
};

struct cxgb4_tc_mqprio {
	refcount_t refcnt; /* Refcount for adapter-wide resources */
	struct mutex mqprio_mutex; /* Lock for accessing MQPRIO info */
	struct cxgb4_tc_port_mqprio *port_mqprio; /* Per port MQPRIO info */
};

int cxgb4_setup_tc_mqprio(struct net_device *dev,
			  struct tc_mqprio_qopt_offload *mqprio);
void cxgb4_mqprio_stop_offload(struct adapter *adap);
int cxgb4_init_tc_mqprio(struct adapter *adap);
void cxgb4_cleanup_tc_mqprio(struct adapter *adap);
#endif /* __CXGB4_TC_MQPRIO_H__ */

Annotation

Implementation Notes