| /Linux-v5.4/drivers/net/ethernet/marvell/octeontx2/af/ |
| D | rvu.h | 40 struct rvu *rvu; member 224 struct rvu { struct 268 static inline void rvu_write64(struct rvu *rvu, u64 block, u64 offset, u64 val) in rvu_write64() argument 270 writeq(val, rvu->afreg_base + ((block << 28) | offset)); in rvu_write64() 273 static inline u64 rvu_read64(struct rvu *rvu, u64 block, u64 offset) in rvu_read64() argument 275 return readq(rvu->afreg_base + ((block << 28) | offset)); in rvu_read64() 278 static inline void rvupf_write64(struct rvu *rvu, u64 offset, u64 val) in rvupf_write64() argument 280 writeq(val, rvu->pfreg_base + offset); in rvupf_write64() 283 static inline u64 rvupf_read64(struct rvu *rvu, u64 offset) in rvupf_read64() argument 285 return readq(rvu->pfreg_base + offset); in rvupf_read64() [all …]
|
| D | rvu_cgx.c | 25 *otx2_mbox_alloc_msg_ ## _fn_name(struct rvu *rvu, int devid) \ 30 &rvu->afpf_wq_info.mbox_up, devid, sizeof(struct _req_type), \ 43 static inline u16 cgxlmac_to_pfmap(struct rvu *rvu, u8 cgx_id, u8 lmac_id) in cgxlmac_to_pfmap() argument 45 return rvu->cgxlmac2pf_map[CGX_OFFSET(cgx_id) + lmac_id]; in cgxlmac_to_pfmap() 53 void *rvu_cgx_pdata(u8 cgx_id, struct rvu *rvu) in rvu_cgx_pdata() argument 55 if (cgx_id >= rvu->cgx_cnt_max) in rvu_cgx_pdata() 58 return rvu->cgx_idmap[cgx_id]; in rvu_cgx_pdata() 61 static int rvu_map_cgx_lmac_pf(struct rvu *rvu) in rvu_map_cgx_lmac_pf() argument 63 struct npc_pkind *pkind = &rvu->hw->pkind; in rvu_map_cgx_lmac_pf() 64 int cgx_cnt_max = rvu->cgx_cnt_max; in rvu_map_cgx_lmac_pf() [all …]
|
| D | rvu.c | 26 static int rvu_get_hwvf(struct rvu *rvu, int pcifunc); 28 static void rvu_set_msix_offset(struct rvu *rvu, struct rvu_pfvf *pfvf, 30 static void rvu_clear_msix_offset(struct rvu *rvu, struct rvu_pfvf *pfvf, 32 static void __rvu_flr_handler(struct rvu *rvu, u16 pcifunc); 34 static int rvu_mbox_init(struct rvu *rvu, struct mbox_wq_info *mw, 62 int rvu_poll_reg(struct rvu *rvu, u64 block, u64 offset, u64 mask, bool zero) in rvu_poll_reg() argument 68 reg = rvu->afreg_base + ((block << 28) | offset); in rvu_poll_reg() 165 int rvu_get_lf(struct rvu *rvu, struct rvu_block *block, u16 pcifunc, u16 slot) in rvu_get_lf() argument 170 mutex_lock(&rvu->rsrc_lock); in rvu_get_lf() 174 mutex_unlock(&rvu->rsrc_lock); in rvu_get_lf() [all …]
|
| D | rvu_nix.c | 20 static int nix_update_bcast_mce_list(struct rvu *rvu, u16 pcifunc, bool add); 71 bool is_nixlf_attached(struct rvu *rvu, u16 pcifunc) in is_nixlf_attached() argument 73 struct rvu_pfvf *pfvf = rvu_get_pfvf(rvu, pcifunc); in is_nixlf_attached() 76 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NIX, pcifunc); in is_nixlf_attached() 82 int rvu_get_nixlf_count(struct rvu *rvu) in rvu_get_nixlf_count() argument 87 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NIX, 0); in rvu_get_nixlf_count() 90 block = &rvu->hw->block[blkaddr]; in rvu_get_nixlf_count() 121 static void nix_rx_sync(struct rvu *rvu, int blkaddr) in nix_rx_sync() argument 126 rvu_write64(rvu, blkaddr, NIX_AF_RX_SW_SYNC, BIT_ULL(0)); in nix_rx_sync() 127 err = rvu_poll_reg(rvu, blkaddr, NIX_AF_RX_SW_SYNC, BIT_ULL(0), true); in nix_rx_sync() [all …]
|
| D | rvu_npa.c | 18 static int npa_aq_enqueue_wait(struct rvu *rvu, struct rvu_block *block, in npa_aq_enqueue_wait() argument 29 reg = rvu_read64(rvu, block->addr, NPA_AF_AQ_STATUS); in npa_aq_enqueue_wait() 39 rvu_write64(rvu, block->addr, NPA_AF_AQ_DOOR, 1); in npa_aq_enqueue_wait() 55 static int rvu_npa_aq_enq_inst(struct rvu *rvu, struct npa_aq_enq_req *req, in rvu_npa_aq_enq_inst() argument 58 struct rvu_hwinfo *hw = rvu->hw; in rvu_npa_aq_enq_inst() 68 pfvf = rvu_get_pfvf(rvu, pcifunc); in rvu_npa_aq_enq_inst() 72 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPA, pcifunc); in rvu_npa_aq_enq_inst() 79 dev_warn(rvu->dev, "%s: NPA AQ not initialized\n", __func__); in rvu_npa_aq_enq_inst() 83 npalf = rvu_get_lf(rvu, block, pcifunc, 0); in rvu_npa_aq_enq_inst() 147 rc = npa_aq_enqueue_wait(rvu, block, &inst); in rvu_npa_aq_enq_inst() [all …]
|
| D | rvu_npc.c | 31 static void npc_mcam_free_all_entries(struct rvu *rvu, struct npc_mcam *mcam, 33 static void npc_mcam_free_all_counters(struct rvu *rvu, struct npc_mcam *mcam, 36 void rvu_npc_set_pkind(struct rvu *rvu, int pkind, struct rvu_pfvf *pfvf) in rvu_npc_set_pkind() argument 41 blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0); in rvu_npc_set_pkind() 47 rvu_write64(rvu, blkaddr, NPC_AF_PKINDX_CPI_DEFX(pkind, 0), val); in rvu_npc_set_pkind() 50 int rvu_npc_get_pkind(struct rvu *rvu, u16 pf) in rvu_npc_get_pkind() argument 52 struct npc_pkind *pkind = &rvu->hw->pkind; in rvu_npc_get_pkind() 98 static bool is_mcam_entry_enabled(struct rvu *rvu, struct npc_mcam *mcam, in is_mcam_entry_enabled() argument 105 cfg = rvu_read64(rvu, blkaddr, NPC_AF_MCAMEX_BANKX_CFG(index, bank)); in is_mcam_entry_enabled() 109 static void npc_enable_mcam_entry(struct rvu *rvu, struct npc_mcam *mcam, in npc_enable_mcam_entry() argument [all …]
|
| D | Makefile | 10 octeontx2_af-y := cgx.o rvu.o rvu_cgx.o rvu_npa.o rvu_nix.o \
|