File Index
Files and directories
Sign in
FILE

bnge_db.h

File preview with syntax highlighting.

linux-6.19.14/drivers/net/ethernet/broadcom/bnge/bnge_db.h C
 1/* SPDX-License-Identifier: GPL-2.0 */
 2/* Copyright (c) 2025 Broadcom */
 3
 4#ifndef _BNGE_DB_H_
 5#define _BNGE_DB_H_
 6
 7/* 64-bit doorbell */
 8#define DBR_EPOCH_SFT					24
 9#define DBR_TOGGLE_SFT					25
10#define DBR_XID_SFT					32
11#define DBR_PATH_L2					(0x1ULL << 56)
12#define DBR_VALID					(0x1ULL << 58)
13#define DBR_TYPE_SQ					(0x0ULL << 60)
14#define DBR_TYPE_SRQ					(0x2ULL << 60)
15#define DBR_TYPE_CQ					(0x4ULL << 60)
16#define DBR_TYPE_CQ_ARMALL				(0x6ULL << 60)
17#define DBR_TYPE_NQ					(0xaULL << 60)
18#define DBR_TYPE_NQ_ARM					(0xbULL << 60)
19#define DBR_TYPE_NQ_MASK				(0xeULL << 60)
20
21struct bnge_db_info {
22	void __iomem		*doorbell;
23	u64			db_key64;
24	u32			db_ring_mask;
25	u32			db_epoch_mask;
26	u8			db_epoch_shift;
27};
28
29#define DB_EPOCH(db, idx)	(((idx) & (db)->db_epoch_mask) <<	\
30				 ((db)->db_epoch_shift))
31#define DB_RING_IDX(db, idx)	(((idx) & (db)->db_ring_mask) |		\
32				 DB_EPOCH(db, idx))
33
34#endif /* _BNGE_DB_H_ */
~/ Read-only file preview.