drivers/net/ethernet/marvell/octeontx2/nic/rep.h

Source file repositories/reference/linux-study-clean/drivers/net/ethernet/marvell/octeontx2/nic/rep.h

File Facts

System
Linux kernel
Corpus path
drivers/net/ethernet/marvell/octeontx2/nic/rep.h
Extension
.h
Size
1084 bytes
Lines
56
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 rep_stats {
	u64 rx_bytes;
	u64 rx_frames;
	u64 rx_drops;
	u64 rx_mcast_frames;

	u64 tx_bytes;
	u64 tx_frames;
	u64 tx_drops;
	atomic_long_t tx_discards;
};

struct rep_dev {
	struct otx2_nic *mdev;
	struct net_device *netdev;
	struct rep_stats stats;
	struct delayed_work stats_wrk;
	struct devlink_port dl_port;
	struct otx2_flow_config	*flow_cfg;
#define RVU_REP_VF_INITIALIZED		BIT_ULL(0)
	u64 flags;
	u16 rep_id;
	u16 pcifunc;
	u8 mac[ETH_ALEN];
};

static inline bool otx2_rep_dev(struct pci_dev *pdev)
{
	return pdev->device == PCI_DEVID_RVU_REP;
}

int rvu_rep_create(struct otx2_nic *priv, struct netlink_ext_ack *extack);
void rvu_rep_destroy(struct otx2_nic *priv);
int rvu_event_up_notify(struct otx2_nic *pf, struct rep_event *info);
#endif /* REP_H */

Annotation

Implementation Notes