Lines Matching refs:rvu
55 struct rvu *rvu; member
84 struct rvu *rvu; member
110 struct rvu *rvu; member
320 struct rvu *rvu; member
379 struct rvu *rvu; member
455 struct rvu { struct
535 static inline void rvu_write64(struct rvu *rvu, u64 block, u64 offset, u64 val) in rvu_write64() argument
537 writeq(val, rvu->afreg_base + ((block << 28) | offset)); in rvu_write64()
540 static inline u64 rvu_read64(struct rvu *rvu, u64 block, u64 offset) in rvu_read64() argument
542 return readq(rvu->afreg_base + ((block << 28) | offset)); in rvu_read64()
545 static inline void rvupf_write64(struct rvu *rvu, u64 offset, u64 val) in rvupf_write64() argument
547 writeq(val, rvu->pfreg_base + offset); in rvupf_write64()
550 static inline u64 rvupf_read64(struct rvu *rvu, u64 offset) in rvupf_read64() argument
552 return readq(rvu->pfreg_base + offset); in rvupf_read64()
555 static inline void rvu_bar2_sel_write64(struct rvu *rvu, u64 block, u64 offset, u64 val) in rvu_bar2_sel_write64() argument
560 rvu_write64(rvu, block, offset, val); in rvu_bar2_sel_write64()
561 rvu_read64(rvu, block, offset); in rvu_bar2_sel_write64()
567 static inline bool is_rvu_pre_96xx_C0(struct rvu *rvu) in is_rvu_pre_96xx_C0() argument
569 struct pci_dev *pdev = rvu->pdev; in is_rvu_pre_96xx_C0()
576 static inline bool is_rvu_96xx_A0(struct rvu *rvu) in is_rvu_96xx_A0() argument
578 struct pci_dev *pdev = rvu->pdev; in is_rvu_96xx_A0()
583 static inline bool is_rvu_96xx_B0(struct rvu *rvu) in is_rvu_96xx_B0() argument
585 struct pci_dev *pdev = rvu->pdev; in is_rvu_96xx_B0()
590 static inline bool is_rvu_95xx_A0(struct rvu *rvu) in is_rvu_95xx_A0() argument
592 struct pci_dev *pdev = rvu->pdev; in is_rvu_95xx_A0()
608 static inline bool is_rvu_otx2(struct rvu *rvu) in is_rvu_otx2() argument
610 struct pci_dev *pdev = rvu->pdev; in is_rvu_otx2()
619 static inline bool is_rvu_npc_hash_extract_en(struct rvu *rvu) in is_rvu_npc_hash_extract_en() argument
623 npc_const3 = rvu_read64(rvu, BLKADDR_NPC, NPC_AF_CONST3); in is_rvu_npc_hash_extract_en()
630 static inline u16 rvu_nix_chan_cgx(struct rvu *rvu, u8 cgxid, in rvu_nix_chan_cgx() argument
633 u64 nix_const = rvu_read64(rvu, BLKADDR_NIX0, NIX_AF_CONST); in rvu_nix_chan_cgx()
635 struct rvu_hwinfo *hw = rvu->hw; in rvu_nix_chan_cgx()
640 return rvu->hw->cgx_chan_base + in rvu_nix_chan_cgx()
644 static inline u16 rvu_nix_chan_lbk(struct rvu *rvu, u8 lbkid, in rvu_nix_chan_lbk() argument
647 u64 nix_const = rvu_read64(rvu, BLKADDR_NIX0, NIX_AF_CONST); in rvu_nix_chan_lbk()
649 struct rvu_hwinfo *hw = rvu->hw; in rvu_nix_chan_lbk()
654 return rvu->hw->lbk_chan_base + lbkid * lbk_chans + chan; in rvu_nix_chan_lbk()
657 static inline u16 rvu_nix_chan_sdp(struct rvu *rvu, u8 chan) in rvu_nix_chan_sdp() argument
659 struct rvu_hwinfo *hw = rvu->hw; in rvu_nix_chan_sdp()
667 static inline u16 rvu_nix_chan_cpt(struct rvu *rvu, u8 chan) in rvu_nix_chan_cpt() argument
669 return rvu->hw->cpt_chan_base + chan; in rvu_nix_chan_cpt()
691 static inline bool is_rvu_fwdata_valid(struct rvu *rvu) in is_rvu_fwdata_valid() argument
693 return (rvu->fwdata->header_magic == RVU_FWDATA_HEADER_MAGIC) && in is_rvu_fwdata_valid()
694 (rvu->fwdata->version == RVU_FWDATA_VERSION); in is_rvu_fwdata_valid()
707 struct rvu_pfvf *rvu_get_pfvf(struct rvu *rvu, int pcifunc);
708 void rvu_get_pf_numvfs(struct rvu *rvu, int pf, int *numvfs, int *hwvf);
710 bool is_pffunc_map_valid(struct rvu *rvu, u16 pcifunc, int blktype);
711 int rvu_get_lf(struct rvu *rvu, struct rvu_block *block, u16 pcifunc, u16 slot);
712 int rvu_lf_reset(struct rvu *rvu, struct rvu_block *block, int lf);
713 int rvu_get_blkaddr(struct rvu *rvu, int blktype, u16 pcifunc);
714 int rvu_poll_reg(struct rvu *rvu, u64 block, u64 offset, u64 mask, bool zero);
716 int rvu_get_blkaddr_from_slot(struct rvu *rvu, int blktype, u16 pcifunc,
728 int rvu_aq_alloc(struct rvu *rvu, struct admin_queue **ad_queue,
730 void rvu_aq_free(struct rvu *rvu, struct admin_queue *aq);
733 int rvu_sdp_init(struct rvu *rvu);
739 static inline bool is_pf_cgxmapped(struct rvu *rvu, u8 pf) in is_pf_cgxmapped() argument
741 return (pf >= PF_CGXMAP_BASE && pf <= rvu->cgx_mapped_pfs) && in is_pf_cgxmapped()
751 static inline bool is_cgx_vf(struct rvu *rvu, u16 pcifunc) in is_cgx_vf() argument
754 is_pf_cgxmapped(rvu, rvu_get_pf(pcifunc))); in is_cgx_vf()
758 int rvu_mbox_handler_ ## fn_name(struct rvu *, struct req *, struct rsp *);
762 int rvu_cgx_init(struct rvu *rvu);
763 int rvu_cgx_exit(struct rvu *rvu);
764 void *rvu_cgx_pdata(u8 cgx_id, struct rvu *rvu);
765 int rvu_cgx_config_rxtx(struct rvu *rvu, u16 pcifunc, bool start);
766 void rvu_cgx_enadis_rx_bp(struct rvu *rvu, int pf, bool enable);
767 int rvu_cgx_start_stop_io(struct rvu *rvu, u16 pcifunc, bool start);
768 int rvu_cgx_nix_cuml_stats(struct rvu *rvu, void *cgxd, int lmac_id, int index,
770 void rvu_cgx_disable_dmac_entries(struct rvu *rvu, u16 pcifunc);
773 int rvu_npa_init(struct rvu *rvu);
774 void rvu_npa_freemem(struct rvu *rvu);
775 void rvu_npa_lf_teardown(struct rvu *rvu, u16 pcifunc, int npalf);
776 int rvu_npa_aq_enq_inst(struct rvu *rvu, struct npa_aq_enq_req *req,
780 bool is_nixlf_attached(struct rvu *rvu, u16 pcifunc);
781 int rvu_nix_init(struct rvu *rvu);
782 int rvu_nix_reserve_mark_format(struct rvu *rvu, struct nix_hw *nix_hw,
784 void rvu_nix_freemem(struct rvu *rvu);
785 int rvu_get_nixlf_count(struct rvu *rvu);
786 void rvu_nix_lf_teardown(struct rvu *rvu, u16 pcifunc, int blkaddr, int npalf);
787 int nix_get_nixlf(struct rvu *rvu, u16 pcifunc, int *nixlf, int *nix_blkaddr);
788 int nix_update_mce_list(struct rvu *rvu, u16 pcifunc,
791 void nix_get_mce_list(struct rvu *rvu, u16 pcifunc, int type,
794 int rvu_get_next_nix_blkaddr(struct rvu *rvu, int blkaddr);
796 int nix_get_struct_ptrs(struct rvu *rvu, u16 pcifunc,
798 int rvu_nix_setup_ratelimit_aggr(struct rvu *rvu, u16 pcifunc,
800 int nix_aq_context_read(struct rvu *rvu, struct nix_hw *nix_hw,
804 int rvu_get_nix_blkaddr(struct rvu *rvu, u16 pcifunc);
809 void rvu_npc_freemem(struct rvu *rvu);
810 int rvu_npc_get_pkind(struct rvu *rvu, u16 pf);
811 void rvu_npc_set_pkind(struct rvu *rvu, int pkind, struct rvu_pfvf *pfvf);
812 int npc_config_ts_kpuaction(struct rvu *rvu, int pf, u16 pcifunc, bool en);
813 void rvu_npc_install_ucast_entry(struct rvu *rvu, u16 pcifunc,
815 void rvu_npc_install_promisc_entry(struct rvu *rvu, u16 pcifunc,
817 void rvu_npc_enable_promisc_entry(struct rvu *rvu, u16 pcifunc, int nixlf,
819 void rvu_npc_install_bcast_match_entry(struct rvu *rvu, u16 pcifunc,
821 void rvu_npc_enable_bcast_entry(struct rvu *rvu, u16 pcifunc, int nixlf,
823 void rvu_npc_install_allmulti_entry(struct rvu *rvu, u16 pcifunc, int nixlf,
825 void rvu_npc_enable_allmulti_entry(struct rvu *rvu, u16 pcifunc, int nixlf,
828 void npc_enadis_default_mce_entry(struct rvu *rvu, u16 pcifunc,
830 void rvu_npc_disable_mcam_entries(struct rvu *rvu, u16 pcifunc, int nixlf);
831 bool rvu_npc_enable_mcam_by_entry_index(struct rvu *rvu, int entry, int intf, bool enable);
832 void rvu_npc_free_mcam_entries(struct rvu *rvu, u16 pcifunc, int nixlf);
833 void rvu_npc_disable_default_entries(struct rvu *rvu, u16 pcifunc, int nixlf);
834 void rvu_npc_enable_default_entries(struct rvu *rvu, u16 pcifunc, int nixlf);
835 void rvu_npc_update_flowkey_alg_idx(struct rvu *rvu, u16 pcifunc, int nixlf,
838 void rvu_npc_get_mcam_entry_alloc_info(struct rvu *rvu, u16 pcifunc,
841 void rvu_npc_get_mcam_counter_alloc_info(struct rvu *rvu, u16 pcifunc,
846 bool is_npc_interface_valid(struct rvu *rvu, u8 intf);
847 int rvu_npc_get_tx_nibble_cfg(struct rvu *rvu, u64 nibble_ena);
848 int npc_flow_steering_init(struct rvu *rvu, int blkaddr);
851 void npc_mcam_enable_flows(struct rvu *rvu, u16 target);
852 void npc_mcam_disable_flows(struct rvu *rvu, u16 target);
853 void npc_enable_mcam_entry(struct rvu *rvu, struct npc_mcam *mcam,
855 void npc_read_mcam_entry(struct rvu *rvu, struct npc_mcam *mcam,
858 bool is_cgx_config_permitted(struct rvu *rvu, u16 pcifunc);
859 bool is_mac_feature_supported(struct rvu *rvu, int pf, int feature);
860 u32 rvu_cgx_get_fifolen(struct rvu *rvu);
861 void *rvu_first_cgx_pdata(struct rvu *rvu);
862 int cgxlmac_to_pf(struct rvu *rvu, int cgx_id, int lmac_id);
864 int rvu_cgx_prio_flow_ctrl_cfg(struct rvu *rvu, u16 pcifunc, u8 tx_pause, u8 rx_pause,
866 int rvu_cgx_cfg_pause_frm(struct rvu *rvu, u16 pcifunc, u8 tx_pause, u8 rx_pause);
867 u32 rvu_cgx_get_lmac_fifolen(struct rvu *rvu, int cgx, int lmac);
870 bool is_mcam_entry_enabled(struct rvu *rvu, struct npc_mcam *mcam, int blkaddr,
872 int rvu_npc_init(struct rvu *rvu);
873 int npc_install_mcam_drop_rule(struct rvu *rvu, int mcam_idx, u16 *counter_idx,
876 void npc_mcam_rsrcs_reserve(struct rvu *rvu, int blkaddr, int entry_idx);
877 bool npc_is_feature_supported(struct rvu *rvu, u64 features, u8 intf);
880 int rvu_cpt_register_interrupts(struct rvu *rvu);
881 void rvu_cpt_unregister_interrupts(struct rvu *rvu);
882 int rvu_cpt_lf_teardown(struct rvu *rvu, u16 pcifunc, int blkaddr, int lf,
884 int rvu_cpt_ctx_flush(struct rvu *rvu, u16 pcifunc);
885 int rvu_cpt_init(struct rvu *rvu);
891 int rvu_set_channels_base(struct rvu *rvu);
892 void rvu_program_channels(struct rvu *rvu);
895 void rvu_nix_block_cn10k_init(struct rvu *rvu, struct nix_hw *nix_hw);
898 void rvu_reset_lmt_map_tbl(struct rvu *rvu, u16 pcifunc);
901 void rvu_dbg_init(struct rvu *rvu);
902 void rvu_dbg_exit(struct rvu *rvu);
904 static inline void rvu_dbg_init(struct rvu *rvu) {} in rvu_dbg_init() argument
905 static inline void rvu_dbg_exit(struct rvu *rvu) {} in rvu_dbg_exit() argument
908 int rvu_ndc_fix_locked_cacheline(struct rvu *rvu, int blkaddr);
911 void rvu_switch_enable(struct rvu *rvu);
912 void rvu_switch_disable(struct rvu *rvu);
913 void rvu_switch_update_rules(struct rvu *rvu, u16 pcifunc);
915 int rvu_npc_set_parse_mode(struct rvu *rvu, u16 pcifunc, u64 mode, u8 dir,
918 int rvu_get_hwvf(struct rvu *rvu, int pcifunc);
921 int rvu_mcs_init(struct rvu *rvu);
922 int rvu_mcs_flr_handler(struct rvu *rvu, u16 pcifunc);
923 void rvu_mcs_exit(struct rvu *rvu);