FILE
bnge_db.h
File preview with syntax highlighting.
linux-6.19.14/drivers/net/ethernet/broadcom/bnge/bnge_db.h
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.