DPDK 26.11.0-rc1
Typedefs | Enumerations | Functions
rte_pmd_bphy.h File Reference
#include <stdint.h>
#include <rte_common.h>
#include <rte_dev.h>
#include <rte_malloc.h>
#include <rte_memcpy.h>
#include <rte_rawdev.h>

Go to the source code of this file.

Typedefs

typedef void(* cnxk_bphy_intr_handler_t) (int irq_num, void *isr_data)
 

Enumerations

enum  cnxk_bphy_cgx_msg_type {
  CNXK_BPHY_CGX_MSG_TYPE_GET_LINKINFO , CNXK_BPHY_CGX_MSG_TYPE_INTLBK_DISABLE , CNXK_BPHY_CGX_MSG_TYPE_INTLBK_ENABLE , 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_SET_LINK_STATE , CNXK_BPHY_CGX_MSG_TYPE_START_RXTX ,
  CNXK_BPHY_CGX_MSG_TYPE_STOP_RXTX , CNXK_BPHY_CGX_MSG_TYPE_GET_SUPPORTED_FEC , CNXK_BPHY_CGX_MSG_TYPE_SET_FEC , CNXK_BPHY_CGX_MSG_TYPE_CPRI_MODE_CHANGE ,
  CNXK_BPHY_CGX_MSG_TYPE_CPRI_TX_CONTROL , CNXK_BPHY_CGX_MSG_TYPE_CPRI_MODE_MISC
}
 
enum  cnxk_bphy_cgx_eth_link_speed {
  CNXK_BPHY_CGX_ETH_LINK_SPEED_NONE , CNXK_BPHY_CGX_ETH_LINK_SPEED_10M , CNXK_BPHY_CGX_ETH_LINK_SPEED_100M , CNXK_BPHY_CGX_ETH_LINK_SPEED_1G ,
  CNXK_BPHY_CGX_ETH_LINK_SPEED_2HG , CNXK_BPHY_CGX_ETH_LINK_SPEED_5G , CNXK_BPHY_CGX_ETH_LINK_SPEED_10G , CNXK_BPHY_CGX_ETH_LINK_SPEED_20G ,
  CNXK_BPHY_CGX_ETH_LINK_SPEED_25G , CNXK_BPHY_CGX_ETH_LINK_SPEED_40G , CNXK_BPHY_CGX_ETH_LINK_SPEED_50G , CNXK_BPHY_CGX_ETH_LINK_SPEED_80G ,
  CNXK_BPHY_CGX_ETH_LINK_SPEED_100G , __CNXK_BPHY_CGX_ETH_LINK_SPEED_MAX
}
 
enum  cnxk_bphy_cgx_eth_link_fec { CNXK_BPHY_CGX_ETH_LINK_FEC_NONE , CNXK_BPHY_CGX_ETH_LINK_FEC_BASE_R , CNXK_BPHY_CGX_ETH_LINK_FEC_RS , __CNXK_BPHY_CGX_ETH_LINK_FEC_MAX }
 
enum  cnxk_bphy_cgx_eth_link_mode {
  CNXK_BPHY_CGX_ETH_LINK_MODE_SGMII_BIT , CNXK_BPHY_CGX_ETH_LINK_MODE_1000_BASEX_BIT , CNXK_BPHY_CGX_ETH_LINK_MODE_QSGMII_BIT , CNXK_BPHY_CGX_ETH_LINK_MODE_10G_C2C_BIT ,
  CNXK_BPHY_CGX_ETH_LINK_MODE_10G_C2M_BIT , CNXK_BPHY_CGX_ETH_LINK_MODE_10G_KR_BIT , CNXK_BPHY_CGX_ETH_LINK_MODE_20G_C2C_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_25G_2_C2C_BIT , CNXK_BPHY_CGX_ETH_LINK_MODE_25G_CR_BIT , CNXK_BPHY_CGX_ETH_LINK_MODE_25G_KR_BIT ,
  CNXK_BPHY_CGX_ETH_LINK_MODE_40G_C2C_BIT , CNXK_BPHY_CGX_ETH_LINK_MODE_40G_C2M_BIT , CNXK_BPHY_CGX_ETH_LINK_MODE_40G_CR4_BIT , CNXK_BPHY_CGX_ETH_LINK_MODE_40G_KR4_BIT ,
  CNXK_BPHY_CGX_ETH_LINK_MODE_40GAUI_C2C_BIT , CNXK_BPHY_CGX_ETH_LINK_MODE_50G_C2C_BIT , CNXK_BPHY_CGX_ETH_LINK_MODE_50G_C2M_BIT , CNXK_BPHY_CGX_ETH_LINK_MODE_50G_4_C2C_BIT ,
  CNXK_BPHY_CGX_ETH_LINK_MODE_50G_CR_BIT , CNXK_BPHY_CGX_ETH_LINK_MODE_50G_KR_BIT , CNXK_BPHY_CGX_ETH_LINK_MODE_80GAUI_C2C_BIT , CNXK_BPHY_CGX_ETH_LINK_MODE_100G_C2C_BIT ,
  CNXK_BPHY_CGX_ETH_LINK_MODE_100G_C2M_BIT , CNXK_BPHY_CGX_ETH_LINK_MODE_100G_CR4_BIT , CNXK_BPHY_CGX_ETH_LINK_MODE_100G_KR4_BIT , CNXK_BPHY_CGX_ETH_LINK_MODE_50GAUI_2_C2C_BIT ,
  CNXK_BPHY_CGX_ETH_LINK_MODE_50GAUI_2_C2M_BIT , CNXK_BPHY_CGX_ETH_LINK_MODE_50GBASE_CR2_C_BIT , CNXK_BPHY_CGX_ETH_LINK_MODE_50GBASE_KR2_C_BIT , CNXK_BPHY_CGX_ETH_LINK_MODE_100GAUI_2_C2C_BIT ,
  CNXK_BPHY_CGX_ETH_LINK_MODE_100GAUI_2_C2M_BIT , CNXK_BPHY_CGX_ETH_LINK_MODE_100GBASE_CR2_BIT , CNXK_BPHY_CGX_ETH_LINK_MODE_100GBASE_KR2_BIT , CNXK_BPHY_CGX_ETH_LINK_MODE_SFI_1G_BIT ,
  CNXK_BPHY_CGX_ETH_LINK_MODE_25GBASE_CR_C_BIT , CNXK_BPHY_CGX_ETH_LINK_MODE_25GBASE_KR_C_BIT , __CNXK_BPHY_CGX_ETH_LINK_MODE_MAX
}
 
enum  cnxk_bphy_cgx_eth_mode_cpri {
  CNXK_BPHY_CGX_ETH_MODE_CPRI_2_4G_BIT , CNXK_BPHY_CGX_ETH_MODE_CPRI_3_1G_BIT , CNXK_BPHY_CGX_ETH_MODE_CPRI_4_9G_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_10_1_BIT , CNXK_BPHY_CGX_ETH_MODE_CPRI_24_3G_BIT
}
 
enum  cnxk_bphy_cgx_mode_group { CNXK_BPHY_CGX_MODE_GROUP_ETH , CNXK_BPHY_CGX_MODE_GROUP_CPRI = 2 }
 
enum  cnxk_bphy_irq_msg_type {
  CNXK_BPHY_IRQ_MSG_TYPE_INIT , CNXK_BPHY_IRQ_MSG_TYPE_FINI , CNXK_BPHY_IRQ_MSG_TYPE_REGISTER , CNXK_BPHY_IRQ_MSG_TYPE_UNREGISTER ,
  CNXK_BPHY_IRQ_MSG_TYPE_MEM_GET , CNXK_BPHY_MSG_TYPE_NPA_PF_FUNC , CNXK_BPHY_MSG_TYPE_SSO_PF_FUNC
}
 

Functions

static __rte_always_inline int rte_pmd_bphy_intr_init (uint16_t dev_id)
 
static __rte_always_inline int rte_pmd_bphy_intr_fini (uint16_t dev_id)
 
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)
 
static __rte_always_inline int rte_pmd_bphy_intr_unregister (uint16_t dev_id, int irq_num)
 
static __rte_always_inline int rte_pmd_bphy_intr_mem_get (uint16_t dev_id, struct cnxk_bphy_mem *mem)
 
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_sso_pf_func_get (uint16_t dev_id, uint16_t *pf_func)
 
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_cgx_intlbk_disable (uint16_t dev_id, uint16_t lmac)
 
static __rte_always_inline int rte_pmd_bphy_cgx_intlbk_enable (uint16_t dev_id, uint16_t lmac)
 
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_cgx_ptp_rx_enable (uint16_t dev_id, uint16_t lmac)
 
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)
 
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_start_rxtx (uint16_t dev_id, uint16_t lmac)
 
static __rte_always_inline int rte_pmd_bphy_cgx_stop_rxtx (uint16_t dev_id, uint16_t lmac)
 
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_cpri_mode_change (uint16_t dev_id, uint16_t lmac, struct cnxk_bphy_cgx_msg_cpri_mode_change *mode)
 
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_cpri_mode_misc (uint16_t dev_id, uint16_t lmac, struct cnxk_bphy_cgx_msg_cpri_mode_misc *mode)
 
int rte_pmd_bphy_npa_pf_func_get_rmt (uint16_t *pf_func)
 
int rte_pmd_bphy_sso_pf_func_get_rmt (uint16_t *pf_func)
 

Detailed Description

Marvell CGX and BPHY PMD specific structures and interface

This API allows applications to manage BPHY memory in user space along with installing interrupt handlers for low latency signal processing.

Definition in file rte_pmd_bphy.h.

Typedef Documentation

◆ cnxk_bphy_intr_handler_t

typedef void(* cnxk_bphy_intr_handler_t) (int irq_num, void *isr_data)

BPHY interrupt handler

Parameters
irq_numZero-based interrupt number
isr_dataCookie passed to interrupt handler

Definition at line 299 of file rte_pmd_bphy.h.

Enumeration Type Documentation

◆ cnxk_bphy_cgx_msg_type

Available message types

Enumerator
CNXK_BPHY_CGX_MSG_TYPE_GET_LINKINFO 

Type used to obtain link information

CNXK_BPHY_CGX_MSG_TYPE_INTLBK_DISABLE 

Type used to disable internal loopback

CNXK_BPHY_CGX_MSG_TYPE_INTLBK_ENABLE 

Type used to enable loopback

CNXK_BPHY_CGX_MSG_TYPE_PTP_RX_DISABLE 

Type used to disable PTP on RX

CNXK_BPHY_CGX_MSG_TYPE_PTP_RX_ENABLE 

Type used to enable PTP on RX

CNXK_BPHY_CGX_MSG_TYPE_SET_LINK_MODE 

Type used to set link mode

CNXK_BPHY_CGX_MSG_TYPE_SET_LINK_STATE 

Type used to set link state

CNXK_BPHY_CGX_MSG_TYPE_START_RXTX 

Type used to start transmission and packet reception

CNXK_BPHY_CGX_MSG_TYPE_STOP_RXTX 

Type used to stop transmission and packet reception

CNXK_BPHY_CGX_MSG_TYPE_GET_SUPPORTED_FEC 

Type used to obtain supported FEC

CNXK_BPHY_CGX_MSG_TYPE_SET_FEC 

Type used to set FEC

CNXK_BPHY_CGX_MSG_TYPE_CPRI_MODE_CHANGE 

Type used to switch from eCPRI to CPRI

CNXK_BPHY_CGX_MSG_TYPE_CPRI_TX_CONTROL 

Type used to enable TX for CPRI SERDES

CNXK_BPHY_CGX_MSG_TYPE_CPRI_MODE_MISC 

Type use to change misc CPRI SERDES settings

Definition at line 36 of file rte_pmd_bphy.h.

◆ cnxk_bphy_cgx_eth_link_speed

Available link speeds

Enumerator
CNXK_BPHY_CGX_ETH_LINK_SPEED_NONE 

None

CNXK_BPHY_CGX_ETH_LINK_SPEED_10M 

10 Mbps

CNXK_BPHY_CGX_ETH_LINK_SPEED_100M 

100 Mbps

CNXK_BPHY_CGX_ETH_LINK_SPEED_1G 

1 Gbps

CNXK_BPHY_CGX_ETH_LINK_SPEED_2HG 

2.5 Gbps

CNXK_BPHY_CGX_ETH_LINK_SPEED_5G 

5 Gbps

CNXK_BPHY_CGX_ETH_LINK_SPEED_10G 

10 Gbps

CNXK_BPHY_CGX_ETH_LINK_SPEED_20G 

20 Gbps

CNXK_BPHY_CGX_ETH_LINK_SPEED_25G 

25 Gbps

CNXK_BPHY_CGX_ETH_LINK_SPEED_40G 

40 Gbps

CNXK_BPHY_CGX_ETH_LINK_SPEED_50G 

50 Gbps

CNXK_BPHY_CGX_ETH_LINK_SPEED_80G 

80 Gbps

CNXK_BPHY_CGX_ETH_LINK_SPEED_100G 

100 Gbps

Definition at line 68 of file rte_pmd_bphy.h.

◆ cnxk_bphy_cgx_eth_link_fec

Available FEC modes

Enumerator
CNXK_BPHY_CGX_ETH_LINK_FEC_NONE 

Disable FEC

CNXK_BPHY_CGX_ETH_LINK_FEC_BASE_R 

Base FEC (IEEE 802.3 CLause 74)

CNXK_BPHY_CGX_ETH_LINK_FEC_RS 

Reed-Solomon FEC

Definition at line 86 of file rte_pmd_bphy.h.

◆ cnxk_bphy_cgx_eth_link_mode

Available link modes

Enumerator
CNXK_BPHY_CGX_ETH_LINK_MODE_SGMII_BIT 

SGMII

CNXK_BPHY_CGX_ETH_LINK_MODE_1000_BASEX_BIT 

1000BASE-X

CNXK_BPHY_CGX_ETH_LINK_MODE_QSGMII_BIT 

QSGMII

CNXK_BPHY_CGX_ETH_LINK_MODE_10G_C2C_BIT 

10GBASE-C2C

CNXK_BPHY_CGX_ETH_LINK_MODE_10G_C2M_BIT 

10GBASE-C2M

CNXK_BPHY_CGX_ETH_LINK_MODE_10G_KR_BIT 

10GBASE-KR

CNXK_BPHY_CGX_ETH_LINK_MODE_20G_C2C_BIT 

20GBASE-C2C

CNXK_BPHY_CGX_ETH_LINK_MODE_25G_C2C_BIT 

25GBASE-C2C

CNXK_BPHY_CGX_ETH_LINK_MODE_25G_C2M_BIT 

25GBASE-C2M

CNXK_BPHY_CGX_ETH_LINK_MODE_25G_2_C2C_BIT 

25GBASE-2-C2M

CNXK_BPHY_CGX_ETH_LINK_MODE_25G_CR_BIT 

25GBASE-CR

CNXK_BPHY_CGX_ETH_LINK_MODE_25G_KR_BIT 

25GBASE-KR

CNXK_BPHY_CGX_ETH_LINK_MODE_40G_C2C_BIT 

40GBASE-C2C

CNXK_BPHY_CGX_ETH_LINK_MODE_40G_C2M_BIT 

40GBASE-C2M

CNXK_BPHY_CGX_ETH_LINK_MODE_40G_CR4_BIT 

40GBASE-CR4

CNXK_BPHY_CGX_ETH_LINK_MODE_40G_KR4_BIT 

40GBASE-KR4

CNXK_BPHY_CGX_ETH_LINK_MODE_40GAUI_C2C_BIT 

40GAUI-C2C

CNXK_BPHY_CGX_ETH_LINK_MODE_50G_C2C_BIT 

50GBASE-C2C

CNXK_BPHY_CGX_ETH_LINK_MODE_50G_C2M_BIT 

50GBASE-C2M

CNXK_BPHY_CGX_ETH_LINK_MODE_50G_4_C2C_BIT 

50GBASE-4-C2C

CNXK_BPHY_CGX_ETH_LINK_MODE_50G_CR_BIT 

50GBASE-CR

CNXK_BPHY_CGX_ETH_LINK_MODE_50G_KR_BIT 

50GBASE-KR

CNXK_BPHY_CGX_ETH_LINK_MODE_80GAUI_C2C_BIT 

80GAUI-C2C

CNXK_BPHY_CGX_ETH_LINK_MODE_100G_C2C_BIT 

100GBASE-C2C

CNXK_BPHY_CGX_ETH_LINK_MODE_100G_C2M_BIT 

100GBASE-C2M

CNXK_BPHY_CGX_ETH_LINK_MODE_100G_CR4_BIT 

100GBASE-CR4

CNXK_BPHY_CGX_ETH_LINK_MODE_100G_KR4_BIT 

100GBASE-KR4

CNXK_BPHY_CGX_ETH_LINK_MODE_50GAUI_2_C2C_BIT 

50GAUI-2-C2C

CNXK_BPHY_CGX_ETH_LINK_MODE_50GAUI_2_C2M_BIT 

50GAUI-2-C2M

CNXK_BPHY_CGX_ETH_LINK_MODE_50GBASE_CR2_C_BIT 

50GBASE-CR2-C

CNXK_BPHY_CGX_ETH_LINK_MODE_50GBASE_KR2_C_BIT 

50GBASE-KR2-C

CNXK_BPHY_CGX_ETH_LINK_MODE_100GAUI_2_C2C_BIT 

100GAUI-2-C2C

CNXK_BPHY_CGX_ETH_LINK_MODE_100GAUI_2_C2M_BIT 

100GAUI-2-C2M

CNXK_BPHY_CGX_ETH_LINK_MODE_100GBASE_CR2_BIT 

100GBASE-CR2

CNXK_BPHY_CGX_ETH_LINK_MODE_100GBASE_KR2_BIT 

100GBASE-KR2

CNXK_BPHY_CGX_ETH_LINK_MODE_SFI_1G_BIT 

SFI-1G

CNXK_BPHY_CGX_ETH_LINK_MODE_25GBASE_CR_C_BIT 

25GBASE-CR-C

CNXK_BPHY_CGX_ETH_LINK_MODE_25GBASE_KR_C_BIT 

25GBASE-KR-C

Definition at line 97 of file rte_pmd_bphy.h.

◆ cnxk_bphy_cgx_eth_mode_cpri

Available CPRI modes

Enumerator
CNXK_BPHY_CGX_ETH_MODE_CPRI_2_4G_BIT 

2.4G Lane Rate

CNXK_BPHY_CGX_ETH_MODE_CPRI_3_1G_BIT 

3.1G Lane Rate

CNXK_BPHY_CGX_ETH_MODE_CPRI_4_9G_BIT 

4.9G Lane Rate

CNXK_BPHY_CGX_ETH_MODE_CPRI_6_1G_BIT 

6.1G Lane Rate

CNXK_BPHY_CGX_ETH_MODE_CPRI_9_8G_BIT 

9.8G Lane Rate

CNXK_BPHY_CGX_ETH_MODE_CPRI_10_1_BIT 

10.1G Lane Rate

CNXK_BPHY_CGX_ETH_MODE_CPRI_24_3G_BIT 

24.3G Lane Rate

Definition at line 178 of file rte_pmd_bphy.h.

◆ cnxk_bphy_cgx_mode_group

Available mode groups

Enumerator
CNXK_BPHY_CGX_MODE_GROUP_ETH 

ETH group

CNXK_BPHY_CGX_MODE_GROUP_CPRI 

CPRI group

Definition at line 196 of file rte_pmd_bphy.h.

◆ cnxk_bphy_irq_msg_type

Available IRQ configuration commands

Enumerator
CNXK_BPHY_IRQ_MSG_TYPE_INIT 

Type used to initialize interrupts

CNXK_BPHY_IRQ_MSG_TYPE_FINI 

Type used to deinitialize interrupts

CNXK_BPHY_IRQ_MSG_TYPE_REGISTER 

Type used to register interrupt

CNXK_BPHY_IRQ_MSG_TYPE_UNREGISTER 

Type used to unregister interrupt

CNXK_BPHY_IRQ_MSG_TYPE_MEM_GET 

Type used to retrieve BPHY memory

CNXK_BPHY_MSG_TYPE_NPA_PF_FUNC 

Type used to retrieve NPA PF function

CNXK_BPHY_MSG_TYPE_SSO_PF_FUNC 

Type used to retrieve NPA SSO function

Definition at line 309 of file rte_pmd_bphy.h.

Function Documentation

◆ rte_pmd_bphy_intr_init()

static __rte_always_inline int rte_pmd_bphy_intr_init ( uint16_t  dev_id)
static

Initialize BPHY subsystem

Parameters
dev_idThe identifier of the device
Returns
Returns 0 on success, negative error code otherwise

Definition at line 392 of file rte_pmd_bphy.h.

◆ rte_pmd_bphy_intr_fini()

static __rte_always_inline int rte_pmd_bphy_intr_fini ( uint16_t  dev_id)
static

Deinitialize BPHY subsystem

Parameters
dev_idThe identifier of the device
Returns
Returns 0 on success, negative error code otherwise

Definition at line 412 of file rte_pmd_bphy.h.

◆ rte_pmd_bphy_intr_register()

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 
)
static

Register BPHY interrupt handler

Parameters
dev_idThe identifier of the device
irq_numZero-based interrupt number
handlerInterrupt handler to be executed
dataData to be passed to interrupt handler
cpuCPU number which will be handling interrupt
Returns
Returns 0 on success, negative error code otherwise

Definition at line 440 of file rte_pmd_bphy.h.

◆ rte_pmd_bphy_intr_unregister()

static __rte_always_inline int rte_pmd_bphy_intr_unregister ( uint16_t  dev_id,
int  irq_num 
)
static

Unregister BPHY interrupt handler

Parameters
dev_idThe identifier of the device
irq_numZero-based interrupt number used during registration
Returns
Returns 0 on success, negative error code otherwise

Definition at line 471 of file rte_pmd_bphy.h.

◆ rte_pmd_bphy_intr_mem_get()

static __rte_always_inline int rte_pmd_bphy_intr_mem_get ( uint16_t  dev_id,
struct cnxk_bphy_mem *  mem 
)
static

Obtain BPHY memory

Parameters
dev_idThe identifier of the device
memMemory structure which will be filled for memory access
Returns
Returns 0 on success, negative error code otherwise

Definition at line 497 of file rte_pmd_bphy.h.

◆ rte_pmd_bphy_npa_pf_func_get()

static __rte_always_inline int rte_pmd_bphy_npa_pf_func_get ( uint16_t  dev_id,
uint16_t *  pf_func 
)
static

Obtain NPA PF func

Parameters
dev_idThe identifier of the device
pf_funcNPA PF function to obtain
Returns
Returns 0 on success, negative error code otherwise

Definition at line 519 of file rte_pmd_bphy.h.

◆ rte_pmd_bphy_sso_pf_func_get()

static __rte_always_inline int rte_pmd_bphy_sso_pf_func_get ( uint16_t  dev_id,
uint16_t *  pf_func 
)
static

Obtain SSO PF func

Parameters
dev_idThe identifier of the device
pf_funcSSO PF function to obtain
Returns
Returns 0 on success, negative error code otherwise

Definition at line 541 of file rte_pmd_bphy.h.

◆ rte_pmd_bphy_cgx_get_link_info()

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

Obtain link information

Parameters
dev_idThe identifier of the device
lmacLMAC number for operation
infoLink information structure
Returns
Returns 0 on success, negative error code otherwise

Definition at line 565 of file rte_pmd_bphy.h.

◆ rte_pmd_bphy_cgx_intlbk_disable()

static __rte_always_inline int rte_pmd_bphy_cgx_intlbk_disable ( uint16_t  dev_id,
uint16_t  lmac 
)
static

Disable loopback mode for an interface

Parameters
dev_idThe identifier of the device
lmacLMAC number for operation
Returns
Returns 0 on success, negative error code otherwise

Definition at line 587 of file rte_pmd_bphy.h.

◆ rte_pmd_bphy_cgx_intlbk_enable()

static __rte_always_inline int rte_pmd_bphy_cgx_intlbk_enable ( uint16_t  dev_id,
uint16_t  lmac 
)
static

Enable loopback mode for an interface

Parameters
dev_idThe identifier of the device
lmacLMAC number for operation
Returns
Returns 0 on success, negative error code otherwise

Definition at line 608 of file rte_pmd_bphy.h.

◆ rte_pmd_bphy_cgx_ptp_rx_disable()

static __rte_always_inline int rte_pmd_bphy_cgx_ptp_rx_disable ( uint16_t  dev_id,
uint16_t  lmac 
)
static

Disable PTP on RX path

Parameters
dev_idThe identifier of the device
lmacLMAC number for operation
Returns
Returns 0 on success, negative error code otherwise

Definition at line 629 of file rte_pmd_bphy.h.

◆ rte_pmd_bphy_cgx_ptp_rx_enable()

static __rte_always_inline int rte_pmd_bphy_cgx_ptp_rx_enable ( uint16_t  dev_id,
uint16_t  lmac 
)
static

Enable PTP on RX path

Parameters
dev_idThe identifier of the device
lmacLMAC number for operation
Returns
Returns 0 on success, negative error code otherwise

Definition at line 650 of file rte_pmd_bphy.h.

◆ rte_pmd_bphy_cgx_set_link_mode()

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 
)
static

Set link mode for a CGX

Parameters
dev_idThe identifier of the device
lmacLMAC number for operation
modeLink mode to set
Returns
Returns 0 on success, negative error code otherwise

Definition at line 673 of file rte_pmd_bphy.h.

◆ rte_pmd_bphy_cgx_set_link_state()

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

Set link state for a CGX

Parameters
dev_idThe identifier of the device
lmacLMAC number for operation
stateLink state to set
Returns
Returns 0 on success, negative error code otherwise

Definition at line 698 of file rte_pmd_bphy.h.

◆ rte_pmd_bphy_cgx_start_rxtx()

static __rte_always_inline int rte_pmd_bphy_cgx_start_rxtx ( uint16_t  dev_id,
uint16_t  lmac 
)
static

Start CGX

Parameters
dev_idThe identifier of the device
lmacLMAC number for operation
Returns
Returns 0 on success, negative error code otherwise

Definition at line 721 of file rte_pmd_bphy.h.

◆ rte_pmd_bphy_cgx_stop_rxtx()

static __rte_always_inline int rte_pmd_bphy_cgx_stop_rxtx ( uint16_t  dev_id,
uint16_t  lmac 
)
static

Stop CGX

Parameters
dev_idThe identifier of the device
lmacLMAC number for operation
Returns
Returns 0 on success, negative error code otherwise

Definition at line 742 of file rte_pmd_bphy.h.

◆ rte_pmd_bphy_cgx_get_supported_fec()

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

Get supported list FEC mode

Parameters
dev_idThe identifier of the device
lmacLMAC number for operation
fecFEC structure which holds information
Returns
Returns 0 on success, negative error code otherwise

Definition at line 765 of file rte_pmd_bphy.h.

◆ rte_pmd_bphy_cgx_set_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

Set FEC mode for a device

Parameters
dev_idThe identifier of the device
lmacLMAC number for operation
fecFEC structure which holds information to set
Returns
Returns 0 on success, negative error code otherwise

Definition at line 789 of file rte_pmd_bphy.h.

◆ rte_pmd_bphy_cgx_cpri_mode_change()

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 
)
static

Switch from eCPRI to CPRI and change

Parameters
dev_idThe identifier of the device
lmacLMAC number for operation
modeCPRI structure which holds configuration data
Returns
Returns 0 on success, negative error code otherwise

Definition at line 814 of file rte_pmd_bphy.h.

◆ rte_pmd_bphy_cgx_cpri_tx_control()

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

Enable TX for SERDES configured in CPRI mode

Parameters
dev_idThe identifier of the device
lmacLMAC number for operation
modeCPRI TX control structure holding control data
Returns
Returns 0 on success, negative error code otherwise

Definition at line 839 of file rte_pmd_bphy.h.

◆ rte_pmd_bphy_cgx_cpri_mode_misc()

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

CPRI misc settings

Parameters
dev_idThe identifier of the device
lmacLMAC number for operation
modeCPRI settings holding misc control data
Returns
Returns 0 on success, negative error code otherwise

Definition at line 864 of file rte_pmd_bphy.h.

◆ rte_pmd_bphy_npa_pf_func_get_rmt()

int rte_pmd_bphy_npa_pf_func_get_rmt ( uint16_t *  pf_func)

Obtain NPA PF func

Parameters
pf_funcAddress of an NPA PF and function for NPA free pointer requests to obtain
Returns
Returns 0 on success, negative error code otherwise

◆ rte_pmd_bphy_sso_pf_func_get_rmt()

int rte_pmd_bphy_sso_pf_func_get_rmt ( uint16_t *  pf_func)

Obtain SSO PF func

Parameters
pf_funcAddress SSO PF and function for SSO add-work requests to obtain
Returns
Returns 0 on success, negative error code otherwise