Lines Matching +full:mbox +full:- +full:rx
1 /* SPDX-License-Identifier: GPL-2.0 */
37 #define INTR_MASK(pfvfs) ((pfvfs < 64) ? (BIT_ULL(pfvfs) - 1) : (~0ull))
39 #define MBOX_RSP_TIMEOUT 6000 /* Time(ms) to wait for mbox response */
41 #define MBOX_MSG_ALIGN 16 /* Align mbox msg start to 16bytes */
54 void *mbase; /* This dev's mbox region */
65 void *hwbase; /* Mbox region advertised by HW */
67 u64 trigger; /* Trigger mbox notification */
68 u16 tr_shift; /* Mbox trigger shift */
69 u64 rx_start; /* Offset of Rx region in mbox memory */
70 u64 tx_start; /* Offset of Tx region in mbox memory */
71 u16 rx_size; /* Size of Rx region */
77 /* Header which precedes all mbox messages */
86 u16 id; /* Mbox message ID */
96 void otx2_mbox_reset(struct otx2_mbox *mbox, int devid);
97 void __otx2_mbox_reset(struct otx2_mbox *mbox, int devid);
98 void otx2_mbox_destroy(struct otx2_mbox *mbox);
99 int otx2_mbox_init(struct otx2_mbox *mbox, void __force *hwbase,
103 int otx2_mbox_regions_init(struct otx2_mbox *mbox, void __force **hwbase,
106 void otx2_mbox_msg_send(struct otx2_mbox *mbox, int devid);
107 void otx2_mbox_msg_send_up(struct otx2_mbox *mbox, int devid);
108 int otx2_mbox_wait_for_rsp(struct otx2_mbox *mbox, int devid);
109 int otx2_mbox_busy_poll_for_rsp(struct otx2_mbox *mbox, int devid);
110 struct mbox_msghdr *otx2_mbox_alloc_msg_rsp(struct otx2_mbox *mbox, int devid,
112 struct mbox_msghdr *otx2_mbox_get_rsp(struct otx2_mbox *mbox, int devid,
114 int otx2_mbox_check_rsp_msgs(struct otx2_mbox *mbox, int devid);
115 int otx2_reply_invalid_msg(struct otx2_mbox *mbox, int devid,
117 bool otx2_mbox_nonempty(struct otx2_mbox *mbox, int devid);
119 static inline struct mbox_msghdr *otx2_mbox_alloc_msg(struct otx2_mbox *mbox,
122 return otx2_mbox_alloc_msg_rsp(mbox, devid, size, 0);
125 bool otx2_mbox_wait_for_zero(struct otx2_mbox *mbox, int devid);
133 /* Generic mbox IDs (range 0x000 - 0x1FF) */ \
150 /* CGX mbox IDs (range 0x200 - 0x3FF) */ \
191 /* NPA mbox IDs (range 0x400 - 0x5FF) */ \
197 /* SSO/SSOW mbox IDs (range 0x600 - 0x7FF) */ \
198 /* TIM mbox IDs (range 0x800 - 0x9FF) */ \
199 /* CPT mbox IDs (range 0xA00 - 0xBFF) */ \
214 /* SDP mbox IDs (range 0x1000 - 0x11FF) */ \
217 /* NPC mbox IDs (range 0x6000 - 0x7FFF) */ \
267 /* NIX mbox IDs (range 0x8000 - 0xFFFF) */ \
330 /* MCS mbox IDs (range 0xA000 - 0xBFFF) */ \
381 /* Messages initiated by AF (range 0xC00 - 0xEFF) */
408 /* Generic request msg used for those mbox messages which
415 /* Generic response msg used an ack or response for those mbox
423 * Range 256 - 300.
426 RVU_INVALID_VF_ID = -256,
444 * attach->cptlfs = 3; <3 LFs from CPT0>
447 * attach->modify = 1;
448 * attach->cpt_blkaddr = BLKADDR_CPT1;
449 * attach->cptlfs = 2; <2 LFs from CPT1>
529 /* CGX mbox message formats */
734 /* NPA mbox message formats */
752 /* NPA mbox message formats */
755 * Range 301 - 400.
758 NPA_AF_ERR_PARAM = -301,
759 NPA_AF_ERR_AQ_FULL = -302,
760 NPA_AF_ERR_AQ_ENQUEUE = -303,
761 NPA_AF_ERR_AF_LF_INVALID = -304,
762 NPA_AF_ERR_AF_LF_ALLOC = -305,
763 NPA_AF_ERR_LF_RESET = -306,
823 /* NIX mbox message formats */
826 * Range 401 - 500.
829 NIX_AF_ERR_PARAM = -401,
830 NIX_AF_ERR_AQ_FULL = -402,
831 NIX_AF_ERR_AQ_ENQUEUE = -403,
832 NIX_AF_ERR_AF_LF_INVALID = -404,
833 NIX_AF_ERR_AF_LF_ALLOC = -405,
834 NIX_AF_ERR_TLX_ALLOC_FAIL = -406,
835 NIX_AF_ERR_TLX_INVALID = -407,
836 NIX_AF_ERR_RSS_SIZE_INVALID = -408,
837 NIX_AF_ERR_RSS_GRPS_INVALID = -409,
838 NIX_AF_ERR_FRS_INVALID = -410,
839 NIX_AF_ERR_RX_LINK_INVALID = -411,
840 NIX_AF_INVAL_TXSCHQ_CFG = -412,
841 NIX_AF_SMQ_FLUSH_FAILED = -413,
842 NIX_AF_ERR_LF_RESET = -414,
843 NIX_AF_ERR_RSS_NOSPC_FIELD = -415,
844 NIX_AF_ERR_RSS_NOSPC_ALGO = -416,
845 NIX_AF_ERR_MARK_CFG_FAIL = -417,
846 NIX_AF_ERR_LSO_CFG_FAIL = -418,
847 NIX_AF_INVAL_NPA_PF_FUNC = -419,
848 NIX_AF_INVAL_SSO_PF_FUNC = -420,
849 NIX_AF_ERR_TX_VTAG_NOSPC = -421,
850 NIX_AF_ERR_RX_VTAG_INUSE = -422,
851 NIX_AF_ERR_PTP_CONFIG_FAIL = -423,
852 NIX_AF_ERR_NPC_KEY_NOT_SUPP = -424,
853 NIX_AF_ERR_INVALID_NIXBLK = -425,
854 NIX_AF_ERR_INVALID_BANDPROF = -426,
855 NIX_AF_ERR_IPOLICER_NOTSUPP = -427,
856 NIX_AF_ERR_BANDPROF_INVAL_REQ = -428,
857 NIX_AF_ERR_CQ_CTX_WRITE_ERR = -429,
858 NIX_AF_ERR_AQ_CTX_RETRY_WRITE = -430,
859 NIX_AF_ERR_LINK_CREDITS = -431,
860 NIX_AF_ERR_INVALID_BPID = -434,
861 NIX_AF_ERR_INVALID_BPID_REQ = -435,
862 NIX_AF_ERR_INVALID_MCAST_GRP = -436,
863 NIX_AF_ERR_INVALID_MCAST_DEL_REQ = -437,
864 NIX_AF_ERR_NON_CONTIG_MCE_LIST = -438,
867 /* For NIX RX vtag action */
869 NIX_AF_LFX_RX_VTAG_TYPE0, /* reserved for rx vlan offload */
903 u8 rx_chan_cnt; /* total number of RX channels */
1005 u16 schq[NIX_TXSCH_LVL_CNT]; /* No of non-contiguous queues */
1036 #define TXSCHQ_IDX_MASK (BIT_ULL(10) - 1)
1051 * cfg_type is '1' for rx vlan cfg
1095 /* rx vtag type index, valid values are in 0..7 range */
1097 /* rx vtag strip */
1099 /* rx vtag capture */
1101 } rx;
1111 * when nix_vtag_config mbox requested for vtag0 and/
1204 u8 sdp_link; /* Set SDP RX link */
1400 } rx;
1410 /* NPC mbox message structs */
1416 * Range 701 - 800.
1419 NPC_MCAM_INVALID_REQ = -701,
1420 NPC_MCAM_ALLOC_DENIED = -702,
1421 NPC_MCAM_ALLOC_FAILED = -703,
1422 NPC_MCAM_PERM_DENIED = -704,
1423 NPC_FLOW_INTF_INVALID = -707,
1424 NPC_FLOW_CHAN_INVALID = -708,
1425 NPC_FLOW_NO_NIXLF = -709,
1426 NPC_FLOW_NOT_SUPPORTED = -710,
1427 NPC_FLOW_VF_PERM_DENIED = -711,
1428 NPC_FLOW_VF_NOT_INIT = -712,
1429 NPC_FLOW_VF_OVERLAP = -713,
1447 * Invalid incase of non-contiguous.
1473 u8 intf; /* Rx or Tx interface */
1507 * Invalid incase of non-contiguous.
1535 u8 intf; /* Rx or Tx interface */
1665 /* vtag rx action */
1807 * Range 901 - 1000.
1810 CPT_AF_ERR_PARAM = -901,
1811 CPT_AF_ERR_GRP_INVALID = -902,
1812 CPT_AF_ERR_LF_INVALID = -903,
1813 CPT_AF_ERR_ACCESS_DENIED = -904,
1814 CPT_AF_ERR_SSO_PF_FUNC_INVALID = -905,
1815 CPT_AF_ERR_NIX_PF_FUNC_INVALID = -906,
1816 CPT_AF_ERR_INLINE_IPSEC_INB_ENA = -907,
1817 CPT_AF_ERR_INLINE_IPSEC_OUT_ENA = -908
1820 /* CPT mbox message formats */
1966 * Range 1101 - 1200.
1969 LMAC_AF_ERR_INVALID_PARAM = -1101,
1970 LMAC_AF_ERR_PF_NOT_MAPPED = -1102,
1971 LMAC_AF_ERR_PERM_DENIED = -1103,
1972 LMAC_AF_ERR_PFC_ENADIS_PERM_DENIED = -1104,
1973 LMAC_AF_ERR_8023PAUSE_ENADIS_PERM_DENIED = -1105,
1974 LMAC_AF_ERR_CMD_TIMEOUT = -1106,
1975 LMAC_AF_ERR_FIRMWARE_DATA_NOT_MAPPED = -1107,
1976 LMAC_AF_ERR_EXACT_MATCH_TBL_ADD_FAILED = -1108,
1977 LMAC_AF_ERR_EXACT_MATCH_TBL_DEL_FAILED = -1109,
1978 LMAC_AF_ERR_EXACT_MATCH_TBL_LOOK_UP_FAILED = -1110,
2031 u64 sci; /* CNF10K-B for tx_secy_mem_map */
2051 /* RX SC_CAM mapping */
2090 u8 an; /* value range 0-3, sc_id + an used as index SA_MEM_MAP */
2116 u8 tcam_entries; /* RX/TX Tcam entries per mcs block */
2117 u8 secy_entries; /* RX/TX SECY entries per mcs block */
2118 u8 sc_entries; /* RX/TX SC CAM entries per mcs block */
2194 * Range 1201 - 1300.
2197 MCS_AF_ERR_INVALID_MCSID = -1201,
2198 MCS_AF_ERR_NOT_MAPPED = -1202,
2281 /* Valid only for RX */
2290 u64 pkt_ctl_cnt; /* CN10K-B */
2291 u64 pkt_notag_cnt; /* CNF10K-B */
2305 u64 preempt_err_cnt; /* CNF10K-B */
2310 /* Only for CN10K-B */
2313 /* RX */
2327 /* RX */
2333 u64 pkt_delay_cnt; /* CNF10K-B */
2334 u64 pkt_ok_cnt; /* CNF10K-B */
2335 u64 octet_decrypt_cnt; /* CN10K-B */
2336 u64 octet_validate_cnt; /* CN10K-B */
2340 u64 octet_encrypt_cnt; /* CN10K-B */
2341 u64 octet_protected_cnt; /* CN10K-B */