29extern int cnxk_logtype_bphy;
30#define RTE_LOGTYPE_CNXK_BPHY cnxk_logtype_bphy
32#define CNXK_BPHY_LOG(level, ...) \
33 RTE_LOG_LINE_PREFIX(level, CNXK_BPHY, "%s(): ", __func__, __VA_ARGS__)
82 __CNXK_BPHY_CGX_ETH_LINK_SPEED_MAX
93 __CNXK_BPHY_CGX_ETH_LINK_FEC_MAX
174 __CNXK_BPHY_CGX_ETH_LINK_MODE_MAX
203struct cnxk_bphy_cgx_msg_link_mode {
211 unsigned int portm_idx;
224struct cnxk_bphy_cgx_msg_link_info {
239struct cnxk_bphy_cgx_msg_set_link_state {
248struct cnxk_bphy_cgx_msg_cpri_mode_change {
261struct cnxk_bphy_cgx_msg_cpri_mode_tx_ctrl {
270struct cnxk_bphy_cgx_msg_cpri_mode_misc {
279struct cnxk_bphy_cgx_msg {
289#define CNXK_BPHY_DEF_QUEUE 0
301struct cnxk_bphy_mem {
326struct cnxk_bphy_irq_msg {
336struct cnxk_bphy_irq_info {
349__rte_pmd_bphy_enq_deq(uint16_t dev_id,
unsigned int queue,
void *req,
350 void *rsp,
size_t rsp_size)
352 struct rte_rawdev_buf *bufs[1];
353 struct rte_rawdev_buf buf;
357 q = (
void *)(
size_t)queue;
394 struct cnxk_bphy_irq_msg msg = {
398 return __rte_pmd_bphy_enq_deq(dev_id, CNXK_BPHY_DEF_QUEUE, &msg,
414 struct cnxk_bphy_irq_msg msg = {
418 return __rte_pmd_bphy_enq_deq(dev_id, CNXK_BPHY_DEF_QUEUE, &msg,
444 struct cnxk_bphy_irq_info info = {
450 struct cnxk_bphy_irq_msg msg = {
455 return __rte_pmd_bphy_enq_deq(dev_id, CNXK_BPHY_DEF_QUEUE, &msg,
473 struct cnxk_bphy_irq_info info = {
476 struct cnxk_bphy_irq_msg msg = {
481 return __rte_pmd_bphy_enq_deq(dev_id, CNXK_BPHY_DEF_QUEUE, &msg,
499 struct cnxk_bphy_irq_msg msg = {
503 return __rte_pmd_bphy_enq_deq(dev_id, CNXK_BPHY_DEF_QUEUE, &msg,
521 struct cnxk_bphy_irq_msg msg = {
525 return __rte_pmd_bphy_enq_deq(dev_id, CNXK_BPHY_DEF_QUEUE, &msg,
526 pf_func,
sizeof(*pf_func));
543 struct cnxk_bphy_irq_msg msg = {
547 return __rte_pmd_bphy_enq_deq(dev_id, CNXK_BPHY_DEF_QUEUE, &msg,
548 pf_func,
sizeof(*pf_func));
566 struct cnxk_bphy_cgx_msg_link_info *info)
568 struct cnxk_bphy_cgx_msg msg = {
572 return __rte_pmd_bphy_enq_deq(dev_id, lmac, &msg, info,
sizeof(*info));
589 struct cnxk_bphy_cgx_msg msg = {
593 return __rte_pmd_bphy_enq_deq(dev_id, lmac, &msg, NULL, 0);
610 struct cnxk_bphy_cgx_msg msg = {
614 return __rte_pmd_bphy_enq_deq(dev_id, lmac, &msg, NULL, 0);
631 struct cnxk_bphy_cgx_msg msg = {
635 return __rte_pmd_bphy_enq_deq(dev_id, lmac, &msg, NULL, 0);
652 struct cnxk_bphy_cgx_msg msg = {
656 return __rte_pmd_bphy_enq_deq(dev_id, lmac, &msg, NULL, 0);
674 struct cnxk_bphy_cgx_msg_link_mode *mode)
676 struct cnxk_bphy_cgx_msg msg = {
681 return __rte_pmd_bphy_enq_deq(dev_id, lmac, &msg, NULL, 0);
699 struct cnxk_bphy_cgx_msg_set_link_state *state)
701 struct cnxk_bphy_cgx_msg msg = {
706 return __rte_pmd_bphy_enq_deq(dev_id, lmac, &msg, NULL, 0);
723 struct cnxk_bphy_cgx_msg msg = {
727 return __rte_pmd_bphy_enq_deq(dev_id, lmac, &msg, NULL, 0);
744 struct cnxk_bphy_cgx_msg msg = {
748 return __rte_pmd_bphy_enq_deq(dev_id, lmac, &msg, NULL, 0);
768 struct cnxk_bphy_cgx_msg msg = {
772 return __rte_pmd_bphy_enq_deq(dev_id, lmac, &msg, fec,
sizeof(*fec));
792 struct cnxk_bphy_cgx_msg msg = {
797 return __rte_pmd_bphy_enq_deq(dev_id, lmac, &msg, NULL, 0);
815 struct cnxk_bphy_cgx_msg_cpri_mode_change *mode)
817 struct cnxk_bphy_cgx_msg msg = {
822 return __rte_pmd_bphy_enq_deq(dev_id, lmac, &msg, NULL, 0);
840 struct cnxk_bphy_cgx_msg_cpri_mode_tx_ctrl *mode)
842 struct cnxk_bphy_cgx_msg msg = {
847 return __rte_pmd_bphy_enq_deq(dev_id, lmac, &msg, NULL, 0);
865 struct cnxk_bphy_cgx_msg_cpri_mode_misc *mode)
867 struct cnxk_bphy_cgx_msg msg = {
872 return __rte_pmd_bphy_enq_deq(dev_id, lmac, &msg, NULL, 0);
#define __rte_always_inline
static void * rte_memcpy(void *dst, const void *src, size_t n)
static __rte_always_inline int rte_pmd_bphy_npa_pf_func_get(uint16_t dev_id, uint16_t *pf_func)
static __rte_always_inline int rte_pmd_bphy_cgx_set_link_mode(uint16_t dev_id, uint16_t lmac, struct cnxk_bphy_cgx_msg_link_mode *mode)
@ CNXK_BPHY_CGX_MSG_TYPE_START_RXTX
@ CNXK_BPHY_CGX_MSG_TYPE_INTLBK_ENABLE
@ CNXK_BPHY_CGX_MSG_TYPE_SET_FEC
@ CNXK_BPHY_CGX_MSG_TYPE_SET_LINK_STATE
@ CNXK_BPHY_CGX_MSG_TYPE_PTP_RX_DISABLE
@ CNXK_BPHY_CGX_MSG_TYPE_PTP_RX_ENABLE
@ CNXK_BPHY_CGX_MSG_TYPE_SET_LINK_MODE
@ CNXK_BPHY_CGX_MSG_TYPE_STOP_RXTX
@ CNXK_BPHY_CGX_MSG_TYPE_INTLBK_DISABLE
@ CNXK_BPHY_CGX_MSG_TYPE_GET_SUPPORTED_FEC
@ CNXK_BPHY_CGX_MSG_TYPE_CPRI_MODE_MISC
@ CNXK_BPHY_CGX_MSG_TYPE_CPRI_MODE_CHANGE
@ CNXK_BPHY_CGX_MSG_TYPE_CPRI_TX_CONTROL
@ CNXK_BPHY_CGX_MSG_TYPE_GET_LINKINFO
static __rte_always_inline int rte_pmd_bphy_cgx_get_link_info(uint16_t dev_id, uint16_t lmac, struct cnxk_bphy_cgx_msg_link_info *info)
static __rte_always_inline int rte_pmd_bphy_intr_init(uint16_t dev_id)
static __rte_always_inline int rte_pmd_bphy_cgx_set_link_state(uint16_t dev_id, uint16_t lmac, struct cnxk_bphy_cgx_msg_set_link_state *state)
static __rte_always_inline int rte_pmd_bphy_cgx_cpri_tx_control(uint16_t dev_id, uint16_t lmac, struct cnxk_bphy_cgx_msg_cpri_mode_tx_ctrl *mode)
static __rte_always_inline int rte_pmd_bphy_cgx_intlbk_enable(uint16_t dev_id, uint16_t lmac)
@ CNXK_BPHY_CGX_MODE_GROUP_ETH
@ CNXK_BPHY_CGX_MODE_GROUP_CPRI
static __rte_always_inline int rte_pmd_bphy_cgx_intlbk_disable(uint16_t dev_id, uint16_t lmac)
cnxk_bphy_cgx_eth_mode_cpri
@ CNXK_BPHY_CGX_ETH_MODE_CPRI_2_4G_BIT
@ CNXK_BPHY_CGX_ETH_MODE_CPRI_24_3G_BIT
@ CNXK_BPHY_CGX_ETH_MODE_CPRI_10_1_BIT
@ CNXK_BPHY_CGX_ETH_MODE_CPRI_6_1G_BIT
@ CNXK_BPHY_CGX_ETH_MODE_CPRI_9_8G_BIT
@ CNXK_BPHY_CGX_ETH_MODE_CPRI_4_9G_BIT
@ CNXK_BPHY_CGX_ETH_MODE_CPRI_3_1G_BIT
static __rte_always_inline int rte_pmd_bphy_cgx_cpri_mode_misc(uint16_t dev_id, uint16_t lmac, struct cnxk_bphy_cgx_msg_cpri_mode_misc *mode)
static __rte_always_inline int rte_pmd_bphy_cgx_get_supported_fec(uint16_t dev_id, uint16_t lmac, enum cnxk_bphy_cgx_eth_link_fec *fec)
static __rte_always_inline int rte_pmd_bphy_cgx_set_fec(uint16_t dev_id, uint16_t lmac, enum cnxk_bphy_cgx_eth_link_fec fec)
static __rte_always_inline int rte_pmd_bphy_cgx_start_rxtx(uint16_t dev_id, uint16_t lmac)
static __rte_always_inline int rte_pmd_bphy_cgx_ptp_rx_enable(uint16_t dev_id, uint16_t lmac)
void(* cnxk_bphy_intr_handler_t)(int irq_num, void *isr_data)
cnxk_bphy_cgx_eth_link_fec
@ CNXK_BPHY_CGX_ETH_LINK_FEC_NONE
@ CNXK_BPHY_CGX_ETH_LINK_FEC_RS
@ CNXK_BPHY_CGX_ETH_LINK_FEC_BASE_R
static __rte_always_inline int rte_pmd_bphy_intr_fini(uint16_t dev_id)
static __rte_always_inline int rte_pmd_bphy_sso_pf_func_get(uint16_t dev_id, uint16_t *pf_func)
static __rte_always_inline int rte_pmd_bphy_cgx_stop_rxtx(uint16_t dev_id, uint16_t lmac)
int rte_pmd_bphy_sso_pf_func_get_rmt(uint16_t *pf_func)
static __rte_always_inline int rte_pmd_bphy_cgx_ptp_rx_disable(uint16_t dev_id, uint16_t lmac)
static __rte_always_inline int rte_pmd_bphy_intr_register(uint16_t dev_id, int irq_num, cnxk_bphy_intr_handler_t handler, void *data, int cpu)
@ CNXK_BPHY_IRQ_MSG_TYPE_REGISTER
@ CNXK_BPHY_IRQ_MSG_TYPE_MEM_GET
@ CNXK_BPHY_IRQ_MSG_TYPE_UNREGISTER
@ CNXK_BPHY_MSG_TYPE_SSO_PF_FUNC
@ CNXK_BPHY_IRQ_MSG_TYPE_FINI
@ CNXK_BPHY_MSG_TYPE_NPA_PF_FUNC
@ CNXK_BPHY_IRQ_MSG_TYPE_INIT
static __rte_always_inline int rte_pmd_bphy_cgx_cpri_mode_change(uint16_t dev_id, uint16_t lmac, struct cnxk_bphy_cgx_msg_cpri_mode_change *mode)
int rte_pmd_bphy_npa_pf_func_get_rmt(uint16_t *pf_func)
cnxk_bphy_cgx_eth_link_speed
@ CNXK_BPHY_CGX_ETH_LINK_SPEED_25G
@ CNXK_BPHY_CGX_ETH_LINK_SPEED_5G
@ CNXK_BPHY_CGX_ETH_LINK_SPEED_10G
@ CNXK_BPHY_CGX_ETH_LINK_SPEED_100M
@ CNXK_BPHY_CGX_ETH_LINK_SPEED_50G
@ CNXK_BPHY_CGX_ETH_LINK_SPEED_1G
@ CNXK_BPHY_CGX_ETH_LINK_SPEED_100G
@ CNXK_BPHY_CGX_ETH_LINK_SPEED_NONE
@ CNXK_BPHY_CGX_ETH_LINK_SPEED_40G
@ CNXK_BPHY_CGX_ETH_LINK_SPEED_80G
@ CNXK_BPHY_CGX_ETH_LINK_SPEED_20G
@ CNXK_BPHY_CGX_ETH_LINK_SPEED_10M
@ CNXK_BPHY_CGX_ETH_LINK_SPEED_2HG
static __rte_always_inline int rte_pmd_bphy_intr_unregister(uint16_t dev_id, int irq_num)
cnxk_bphy_cgx_eth_link_mode
@ CNXK_BPHY_CGX_ETH_LINK_MODE_50GBASE_KR2_C_BIT
@ CNXK_BPHY_CGX_ETH_LINK_MODE_SGMII_BIT
@ CNXK_BPHY_CGX_ETH_LINK_MODE_40G_KR4_BIT
@ CNXK_BPHY_CGX_ETH_LINK_MODE_25GBASE_KR_C_BIT
@ CNXK_BPHY_CGX_ETH_LINK_MODE_SFI_1G_BIT
@ CNXK_BPHY_CGX_ETH_LINK_MODE_10G_C2C_BIT
@ CNXK_BPHY_CGX_ETH_LINK_MODE_100GAUI_2_C2M_BIT
@ CNXK_BPHY_CGX_ETH_LINK_MODE_50G_CR_BIT
@ CNXK_BPHY_CGX_ETH_LINK_MODE_10G_KR_BIT
@ CNXK_BPHY_CGX_ETH_LINK_MODE_100G_CR4_BIT
@ CNXK_BPHY_CGX_ETH_LINK_MODE_100GBASE_KR2_BIT
@ CNXK_BPHY_CGX_ETH_LINK_MODE_50GAUI_2_C2M_BIT
@ CNXK_BPHY_CGX_ETH_LINK_MODE_40G_CR4_BIT
@ CNXK_BPHY_CGX_ETH_LINK_MODE_40G_C2M_BIT
@ CNXK_BPHY_CGX_ETH_LINK_MODE_25G_CR_BIT
@ CNXK_BPHY_CGX_ETH_LINK_MODE_100G_KR4_BIT
@ CNXK_BPHY_CGX_ETH_LINK_MODE_100GAUI_2_C2C_BIT
@ CNXK_BPHY_CGX_ETH_LINK_MODE_50G_4_C2C_BIT
@ CNXK_BPHY_CGX_ETH_LINK_MODE_50GAUI_2_C2C_BIT
@ CNXK_BPHY_CGX_ETH_LINK_MODE_20G_C2C_BIT
@ CNXK_BPHY_CGX_ETH_LINK_MODE_25G_KR_BIT
@ CNXK_BPHY_CGX_ETH_LINK_MODE_25G_C2C_BIT
@ CNXK_BPHY_CGX_ETH_LINK_MODE_25G_C2M_BIT
@ CNXK_BPHY_CGX_ETH_LINK_MODE_40G_C2C_BIT
@ CNXK_BPHY_CGX_ETH_LINK_MODE_50G_KR_BIT
@ CNXK_BPHY_CGX_ETH_LINK_MODE_25GBASE_CR_C_BIT
@ CNXK_BPHY_CGX_ETH_LINK_MODE_50G_C2M_BIT
@ CNXK_BPHY_CGX_ETH_LINK_MODE_100GBASE_CR2_BIT
@ CNXK_BPHY_CGX_ETH_LINK_MODE_100G_C2C_BIT
@ CNXK_BPHY_CGX_ETH_LINK_MODE_QSGMII_BIT
@ CNXK_BPHY_CGX_ETH_LINK_MODE_25G_2_C2C_BIT
@ CNXK_BPHY_CGX_ETH_LINK_MODE_80GAUI_C2C_BIT
@ CNXK_BPHY_CGX_ETH_LINK_MODE_100G_C2M_BIT
@ CNXK_BPHY_CGX_ETH_LINK_MODE_40GAUI_C2C_BIT
@ CNXK_BPHY_CGX_ETH_LINK_MODE_10G_C2M_BIT
@ CNXK_BPHY_CGX_ETH_LINK_MODE_50GBASE_CR2_C_BIT
@ CNXK_BPHY_CGX_ETH_LINK_MODE_50G_C2C_BIT
@ CNXK_BPHY_CGX_ETH_LINK_MODE_1000_BASEX_BIT
static __rte_always_inline int rte_pmd_bphy_intr_mem_get(uint16_t dev_id, struct cnxk_bphy_mem *mem)
int rte_rawdev_enqueue_buffers(uint16_t dev_id, struct rte_rawdev_buf **buffers, unsigned int count, rte_rawdev_obj_t context)
int rte_rawdev_dequeue_buffers(uint16_t dev_id, struct rte_rawdev_buf **buffers, unsigned int count, rte_rawdev_obj_t context)