drivers/infiniband/hw/bnxt_re/hw_counters.h

Source file repositories/reference/linux-study-clean/drivers/infiniband/hw/bnxt_re/hw_counters.h

File Facts

System
Linux kernel
Corpus path
drivers/infiniband/hw/bnxt_re/hw_counters.h
Extension
.h
Size
4772 bytes
Lines
166
Domain
Driver Families
Bucket
drivers/infiniband
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 bnxt_re_db_pacing_stats {
	u64 resched;
	u64 complete;
	u64 alerts;
};

struct bnxt_re_res_cntrs {
	atomic_t qp_count;
	atomic_t rc_qp_count;
	atomic_t ud_qp_count;
	atomic_t cq_count;
	atomic_t srq_count;
	atomic_t mr_count;
	atomic_t mw_count;
	atomic_t ah_count;
	atomic_t pd_count;
	atomic_t resize_count;
	u64 qp_watermark;
	u64 rc_qp_watermark;
	u64 ud_qp_watermark;
	u64 cq_watermark;
	u64 srq_watermark;
	u64 mr_watermark;
	u64 mw_watermark;
	u64 ah_watermark;
	u64 pd_watermark;
};

struct bnxt_re_rstat {
	struct bnxt_qplib_roce_stats    errs;
	struct bnxt_qplib_ext_stat      ext_stat;
};

struct bnxt_re_stats {
	struct bnxt_re_rstat            rstat;
	struct bnxt_re_res_cntrs        res;
	struct bnxt_re_db_pacing_stats  pacing;
};

struct rdma_hw_stats *bnxt_re_ib_alloc_hw_port_stats(struct ib_device *ibdev,
						     u32 port_num);
int bnxt_re_ib_get_hw_stats(struct ib_device *ibdev,
			    struct rdma_hw_stats *stats,
			    u32 port, int index);
#endif /* __BNXT_RE_HW_STATS_H__ */

Annotation

Implementation Notes