iPXE
vxge_config.h File Reference
#include <stdint.h>
#include <ipxe/list.h>
#include <ipxe/pci.h>

Go to the source code of this file.

Data Structures

struct  vxge_hw_ring_rxd_1
 struct vxge_hw_ring_rxd_1 - One buffer mode RxD for ring More...
struct  vxge_hw_fifo_txd
 struct vxge_hw_fifo_txd - Transmit Descriptor More...
struct  vxge_hw_device_date
struct  vxge_hw_device_version
struct  __vxge_hw_non_offload_db_wrapper
struct  __vxge_hw_fifo
struct  __vxge_hw_ring_block
struct  __vxge_hw_ring
struct  __vxge_hw_virtualpath
struct  vxge_hw_device_hw_info
 struct vxge_hw_device_hw_info - Device information @host_type: Host Type @func_id: Function Id @vpath_mask: vpath bit mask @fw_version: Firmware version @fw_date: Firmware Date @flash_version: Firmware version @flash_date: Firmware Date @mac_addrs: Mac addresses for each vpath @mac_addr_masks: Mac address masks for each vpath More...
struct  __vxge_hw_device
 struct __vxge_hw_device - Hal device object @magic: Magic Number @bar0: BAR0 virtual address. More...

Macros

#define VXGE_CONFIG_H
#define VXGE_CACHE_LINE_SIZE   4096
#define WAIT_FACTOR   1
#define VXGE_HW_MAC_MAX_WIRE_PORTS   2
#define VXGE_HW_MAC_MAX_AGGR_PORTS   2
#define VXGE_HW_MAC_MAX_PORTS   3
#define VXGE_HW_MIN_MTU   68
#define VXGE_HW_MAX_MTU   9600
#define VXGE_HW_DEFAULT_MTU   1500
#define __iomem
#define ____cacheline_aligned
#define VXGE_NONE   0x00
 debug filtering masks
#define VXGE_INFO   0x01
#define VXGE_INTR   0x02
#define VXGE_XMIT   0x04
#define VXGE_POLL   0x08
#define VXGE_ERR   0x10
#define VXGE_TRACE   0x20
#define VXGE_ALL
#define NULL_VPID   0xFFFFFFFF
#define VXGE_HW_EVENT_BASE   0
#define VXGE_LL_EVENT_BASE   100
#define VXGE_HW_BASE_INF   100
#define VXGE_HW_BASE_ERR   200
#define VXGE_HW_BASE_BADCFG   300
#define VXGE_HW_DEF_DEVICE_POLL_MILLIS   1000
#define VXGE_HW_MAX_PAYLOAD_SIZE_512   2
#define VXGE_HW_RING_RXD_RTH_BUCKET_GET(ctrl0)
#define VXGE_HW_RING_RXD_LIST_OWN_ADAPTER   vxge_mBIT(7)
#define VXGE_HW_RING_RXD_FAST_PATH_ELIGIBLE_GET(ctrl0)
#define VXGE_HW_RING_RXD_L3_CKSUM_CORRECT_GET(ctrl0)
#define VXGE_HW_RING_RXD_L4_CKSUM_CORRECT_GET(ctrl0)
#define VXGE_HW_RING_RXD_T_CODE_GET(ctrl0)
#define VXGE_HW_RING_RXD_T_CODE(val)
#define VXGE_HW_RING_RXD_T_CODE_UNUSED   VXGE_HW_RING_T_CODE_UNUSED
#define VXGE_HW_RING_RXD_SYN_GET(ctrl0)
#define VXGE_HW_RING_RXD_IS_ICMP_GET(ctrl0)
#define VXGE_HW_RING_RXD_RTH_SPDM_HIT_GET(ctrl0)
#define VXGE_HW_RING_RXD_RTH_IT_HIT_GET(ctrl0)
#define VXGE_HW_RING_RXD_RTH_HASH_TYPE_GET(ctrl0)
#define VXGE_HW_RING_RXD_IS_VLAN_GET(ctrl0)
#define VXGE_HW_RING_RXD_ETHER_ENCAP_GET(ctrl0)
#define VXGE_HW_RING_RXD_FRAME_PROTO_GET(ctrl0)
#define VXGE_HW_RING_RXD_L3_CKSUM_GET(ctrl0)
#define VXGE_HW_RING_RXD_L4_CKSUM_GET(ctrl0)
#define VXGE_HW_RING_RXD_1_BUFFER0_SIZE_GET(ctrl1)
#define VXGE_HW_RING_RXD_1_BUFFER0_SIZE(val)
#define VXGE_HW_RING_RXD_1_BUFFER0_SIZE_MASK   vxge_vBIT(0x3FFF, 2, 14)
#define VXGE_HW_RING_RXD_1_RTH_HASH_VAL_GET(ctrl1)
#define VXGE_HW_RING_RXD_VLAN_TAG_GET(ctrl1)
#define VXGE_HW_FIFO_TXD_LIST_OWN_ADAPTER   vxge_mBIT(7)
#define VXGE_HW_FIFO_TXD_T_CODE_GET(ctrl0)
#define VXGE_HW_FIFO_TXD_T_CODE(val)
#define VXGE_HW_FIFO_TXD_T_CODE_UNUSED   VXGE_HW_FIFO_T_CODE_UNUSED
#define VXGE_HW_FIFO_TXD_GATHER_CODE(val)
#define VXGE_HW_FIFO_TXD_GATHER_CODE_FIRST   VXGE_HW_FIFO_GATHER_CODE_FIRST
#define VXGE_HW_FIFO_TXD_GATHER_CODE_LAST   VXGE_HW_FIFO_GATHER_CODE_LAST
#define VXGE_HW_FIFO_TXD_LSO_EN   vxge_mBIT(30)
#define VXGE_HW_FIFO_TXD_LSO_MSS(val)
#define VXGE_HW_FIFO_TXD_BUFFER_SIZE(val)
#define VXGE_HW_FIFO_TXD_TX_CKO_IPV4_EN   vxge_mBIT(5)
#define VXGE_HW_FIFO_TXD_TX_CKO_TCP_EN   vxge_mBIT(6)
#define VXGE_HW_FIFO_TXD_TX_CKO_UDP_EN   vxge_mBIT(7)
#define VXGE_HW_FIFO_TXD_VLAN_ENABLE   vxge_mBIT(15)
#define VXGE_HW_FIFO_TXD_VLAN_TAG(val)
#define VXGE_HW_FIFO_TXD_NO_BW_LIMIT   vxge_mBIT(43)
#define VXGE_HW_FIFO_TXD_INT_NUMBER(val)
#define VXGE_HW_FIFO_TXD_INT_TYPE_PER_LIST   vxge_mBIT(46)
#define VXGE_HW_FIFO_TXD_INT_TYPE_UTILZ   vxge_mBIT(47)
#define VXGE_HW_FW_STRLEN   32
 struct vxge_hw_device_date - Date Format @day: Day @month: Month @year: Year
#define VXGE_HW_NODBW_GET_TYPE(ctrl0)
#define VXGE_HW_NODBW_TYPE(val)
#define VXGE_HW_NODBW_TYPE_NODBW   0
#define VXGE_HW_NODBW_GET_LAST_TXD_NUMBER(ctrl0)
#define VXGE_HW_NODBW_LAST_TXD_NUMBER(val)
#define VXGE_HW_NODBW_GET_NO_SNOOP(ctrl0)
#define VXGE_HW_NODBW_LIST_NO_SNOOP(val)
#define VXGE_HW_NODBW_LIST_NO_SNOOP_TXD_READ_TXD0_WRITE   0x2
#define VXGE_HW_NODBW_LIST_NO_SNOOP_TX_FRAME_DATA_READ   0x1
#define VXGE_HW_FIFO_TXD_DEPTH   128
#define VXGE_HW_MAX_RXDS_PER_BLOCK_1   127
#define END_OF_BLOCK   0xFEFFFFFFFFFFFFFFULL
#define VXGE_HW_RING_RXD_QWORDS_MODE_1   4
#define VXGE_HW_RING_RXD_QWORD_LIMIT   16
#define VXGE_HW_RING_BUF_PER_BLOCK   9
#define VXGE_HW_RING_RX_POLL_WEIGHT   8
#define VXGE_HW_VP_NOT_OPEN   0
#define VXGE_HW_VP_OPEN   1
#define VXGE_HW_INFO_LEN   64
#define VXGE_HW_PMD_INFO_LEN   16
#define VXGE_MAX_PRINT_BUF_SIZE   128
#define VXGE_HW_NO_MR_NO_SR_NORMAL_FUNCTION   0
#define VXGE_HW_MR_NO_SR_VH0_BASE_FUNCTION   1
#define VXGE_HW_NO_MR_SR_VH0_FUNCTION0   2
#define VXGE_HW_NO_MR_SR_VH0_VIRTUAL_FUNCTION   3
#define VXGE_HW_MR_SR_VH0_INVALID_CONFIG   4
#define VXGE_HW_SR_VH_FUNCTION0   5
#define VXGE_HW_SR_VH_VIRTUAL_FUNCTION   6
#define VXGE_HW_VH_NORMAL_FUNCTION   7
#define VXGE_HW_FUNCTION_MODE_MIN   0
#define VXGE_HW_FUNCTION_MODE_MAX   11
#define VXGE_HW_FUNCTION_MODE_SINGLE_FUNCTION   0
#define VXGE_HW_FUNCTION_MODE_MULTI_FUNCTION   1
#define VXGE_HW_FUNCTION_MODE_SRIOV   2
#define VXGE_HW_FUNCTION_MODE_MRIOV   3
#define VXGE_HW_FUNCTION_MODE_MRIOV_8   4
#define VXGE_HW_FUNCTION_MODE_MULTI_FUNCTION_17   5
#define VXGE_HW_FUNCTION_MODE_SRIOV_8   6
#define VXGE_HW_FUNCTION_MODE_SRIOV_4   7
#define VXGE_HW_FUNCTION_MODE_MULTI_FUNCTION_2   8
#define VXGE_HW_FUNCTION_MODE_MULTI_FUNCTION_4   9
#define VXGE_HW_FUNCTION_MODE_MRIOV_4   10
#define VXGE_HW_FUNCTION_MODE_MULTI_FUNCTION_DIRECT_IO   11
#define VXGE_HW_DEVICE_MAGIC   0x12345678
#define VXGE_HW_DEVICE_DEAD   0xDEADDEAD
#define VXGE_HW_DEVICE_ACCESS_RIGHT_VPATH   0x1
#define VXGE_HW_DEVICE_ACCESS_RIGHT_SRPCIM   0x2
#define VXGE_HW_DEVICE_ACCESS_RIGHT_MRPCIM   0x4
#define VXGE_HW_DEVICE_LINK_STATE_SET(hldev, ls)
#define VXGE_HW_DEVICE_TIM_INT_MASK_SET(m0, m1, i)
#define VXGE_HW_DEVICE_TIM_INT_MASK_RESET(m0, m1, i)
#define vxge_debug(mask, fmt...)
#define vxge_trace()

Enumerations

enum  vxge_hw_status {
  VXGE_HW_OK = 0 , VXGE_HW_FAIL = 1 , VXGE_HW_PENDING = 2 , VXGE_HW_COMPLETIONS_REMAIN = 3 ,
  VXGE_HW_INF_NO_MORE_COMPLETED_DESCRIPTORS = VXGE_HW_BASE_INF + 1 , VXGE_HW_INF_OUT_OF_DESCRIPTORS = VXGE_HW_BASE_INF + 2 , VXGE_HW_INF_SW_LRO_BEGIN = VXGE_HW_BASE_INF + 3 , VXGE_HW_INF_SW_LRO_CONT = VXGE_HW_BASE_INF + 4 ,
  VXGE_HW_INF_SW_LRO_UNCAPABLE = VXGE_HW_BASE_INF + 5 , VXGE_HW_INF_SW_LRO_FLUSH_SESSION = VXGE_HW_BASE_INF + 6 , VXGE_HW_INF_SW_LRO_FLUSH_BOTH = VXGE_HW_BASE_INF + 7 , VXGE_HW_ERR_INVALID_HANDLE = VXGE_HW_BASE_ERR + 1 ,
  VXGE_HW_ERR_OUT_OF_MEMORY = VXGE_HW_BASE_ERR + 2 , VXGE_HW_ERR_VPATH_NOT_AVAILABLE = VXGE_HW_BASE_ERR + 3 , VXGE_HW_ERR_VPATH_NOT_OPEN = VXGE_HW_BASE_ERR + 4 , VXGE_HW_ERR_WRONG_IRQ = VXGE_HW_BASE_ERR + 5 ,
  VXGE_HW_ERR_SWAPPER_CTRL = VXGE_HW_BASE_ERR + 6 , VXGE_HW_ERR_INVALID_MTU_SIZE = VXGE_HW_BASE_ERR + 7 , VXGE_HW_ERR_INVALID_INDEX = VXGE_HW_BASE_ERR + 8 , VXGE_HW_ERR_INVALID_TYPE = VXGE_HW_BASE_ERR + 9 ,
  VXGE_HW_ERR_INVALID_OFFSET = VXGE_HW_BASE_ERR + 10 , VXGE_HW_ERR_INVALID_DEVICE = VXGE_HW_BASE_ERR + 11 , VXGE_HW_ERR_VERSION_CONFLICT = VXGE_HW_BASE_ERR + 12 , VXGE_HW_ERR_INVALID_PCI_INFO = VXGE_HW_BASE_ERR + 13 ,
  VXGE_HW_ERR_INVALID_TCODE = VXGE_HW_BASE_ERR + 14 , VXGE_HW_ERR_INVALID_BLOCK_SIZE = VXGE_HW_BASE_ERR + 15 , VXGE_HW_ERR_INVALID_STATE = VXGE_HW_BASE_ERR + 16 , VXGE_HW_ERR_PRIVILAGED_OPEARATION = VXGE_HW_BASE_ERR + 17 ,
  VXGE_HW_ERR_INVALID_PORT = VXGE_HW_BASE_ERR + 18 , VXGE_HW_ERR_FIFO = VXGE_HW_BASE_ERR + 19 , VXGE_HW_ERR_VPATH = VXGE_HW_BASE_ERR + 20 , VXGE_HW_ERR_CRITICAL = VXGE_HW_BASE_ERR + 21 ,
  VXGE_HW_ERR_SLOT_FREEZE = VXGE_HW_BASE_ERR + 22 , VXGE_HW_ERR_INVALID_MIN_BANDWIDTH = VXGE_HW_BASE_ERR + 25 , VXGE_HW_ERR_INVALID_MAX_BANDWIDTH = VXGE_HW_BASE_ERR + 26 , VXGE_HW_ERR_INVALID_TOTAL_BANDWIDTH = VXGE_HW_BASE_ERR + 27 ,
  VXGE_HW_ERR_INVALID_BANDWIDTH_LIMIT = VXGE_HW_BASE_ERR + 28 , VXGE_HW_ERR_RESET_IN_PROGRESS = VXGE_HW_BASE_ERR + 29 , VXGE_HW_ERR_OUT_OF_SPACE = VXGE_HW_BASE_ERR + 30 , VXGE_HW_ERR_INVALID_FUNC_MODE = VXGE_HW_BASE_ERR + 31 ,
  VXGE_HW_ERR_INVALID_DP_MODE = VXGE_HW_BASE_ERR + 32 , VXGE_HW_ERR_INVALID_FAILURE_BEHAVIOUR = VXGE_HW_BASE_ERR + 33 , VXGE_HW_ERR_INVALID_L2_SWITCH_STATE = VXGE_HW_BASE_ERR + 34 , VXGE_HW_ERR_INVALID_CATCH_BASIN_MODE = VXGE_HW_BASE_ERR + 35 ,
  VXGE_HW_BADCFG_RING_INDICATE_MAX_PKTS = VXGE_HW_BASE_BADCFG + 1 , VXGE_HW_BADCFG_FIFO_BLOCKS = VXGE_HW_BASE_BADCFG + 2 , VXGE_HW_BADCFG_VPATH_MTU = VXGE_HW_BASE_BADCFG + 3 , VXGE_HW_BADCFG_VPATH_RPA_STRIP_VLAN_TAG = VXGE_HW_BASE_BADCFG + 4 ,
  VXGE_HW_BADCFG_VPATH_MIN_BANDWIDTH = VXGE_HW_BASE_BADCFG + 5 , VXGE_HW_BADCFG_VPATH_BANDWIDTH_LIMIT = VXGE_HW_BASE_BADCFG + 6 , VXGE_HW_BADCFG_INTR_MODE = VXGE_HW_BASE_BADCFG + 7 , VXGE_HW_BADCFG_RTS_MAC_EN = VXGE_HW_BASE_BADCFG + 8 ,
  VXGE_HW_BADCFG_VPATH_AGGR_ACK = VXGE_HW_BASE_BADCFG + 9 , VXGE_HW_BADCFG_VPATH_PRIORITY = VXGE_HW_BASE_BADCFG + 10 , VXGE_HW_EOF_TRACE_BUF = -1
}
enum  vxge_hw_device_link_state { VXGE_HW_LINK_NONE , VXGE_HW_LINK_DOWN , VXGE_HW_LINK_UP }
 enum enum vxge_hw_device_link_state - Link state enumeration. More...
enum  vxge_hw_txdl_state { VXGE_HW_TXDL_STATE_NONE = 0 , VXGE_HW_TXDL_STATE_AVAIL = 1 , VXGE_HW_TXDL_STATE_POSTED = 2 , VXGE_HW_TXDL_STATE_FREED = 3 }
 enum enum vxge_hw_txdl_state - Descriptor (TXDL) state. More...

Functions

 FILE_LICENCE (GPL2_ONLY)
u64 __vxge_hw_vpath_pci_func_mode_get (u32 vp_id, struct vxge_hw_vpath_reg __iomem *vpath_reg)
static void __vxge_hw_desc_offset_up (u16 upper_limit, u16 *offset)
static void vxge_hw_ring_rxd_offset_up (u16 *offset)
static void vxge_hw_fifo_txd_offset_up (u16 *offset)
static void vxge_hw_ring_rxd_1b_set (struct vxge_hw_ring_rxd_1 *rxdp, struct io_buffer *iob, u32 size)
 vxge_hw_ring_rxd_1b_set - Prepare 1-buffer-mode descriptor.
enum vxge_hw_status vxge_hw_device_hw_info_get (struct pci_device *pdev, void __iomem *bar0, struct vxge_hw_device_hw_info *hw_info)
 vxge_hw_device_hw_info_get - Get the hw information Returns the vpath mask that has the bits set for each vpath allocated for the driver, FW version information and the first mac addresse for each vpath
enum vxge_hw_status __vxge_hw_vpath_fw_ver_get (struct vxge_hw_vpath_reg __iomem *vpath_reg, struct vxge_hw_device_hw_info *hw_info)
enum vxge_hw_status __vxge_hw_vpath_card_info_get (struct vxge_hw_vpath_reg __iomem *vpath_reg, struct vxge_hw_device_hw_info *hw_info)
static enum vxge_hw_device_link_state vxge_hw_device_link_state_get (struct __vxge_hw_device *devh)
 vxge_hw_device_link_state_get - Get link state.
void vxge_hw_device_terminate (struct __vxge_hw_device *devh)
enum vxge_hw_status vxge_hw_device_initialize (struct __vxge_hw_device **devh, void *bar0, struct pci_device *pdev, u8 titan1)
enum vxge_hw_status vxge_hw_vpath_open (struct __vxge_hw_device *hldev, struct vxge_vpath *vpath)
enum vxge_hw_status __vxge_hw_device_vpath_reset_in_prog_check (u64 __iomem *vpath_rst_in_prog)
enum vxge_hw_status vxge_hw_vpath_close (struct __vxge_hw_virtualpath *vpath)
enum vxge_hw_status vxge_hw_vpath_reset (struct __vxge_hw_virtualpath *vpath)
enum vxge_hw_status vxge_hw_vpath_recover_from_reset (struct __vxge_hw_virtualpath *vpath)
void vxge_hw_vpath_enable (struct __vxge_hw_virtualpath *vpath)
enum vxge_hw_status vxge_hw_vpath_mtu_set (struct __vxge_hw_virtualpath *vpath, u32 new_mtu)
void vxge_hw_vpath_rx_doorbell_init (struct __vxge_hw_virtualpath *vpath)
void __vxge_hw_device_pci_e_init (struct __vxge_hw_device *hldev)
enum vxge_hw_status __vxge_hw_legacy_swapper_set (struct vxge_hw_legacy_reg __iomem *legacy_reg)
enum vxge_hw_status __vxge_hw_vpath_swapper_set (struct vxge_hw_vpath_reg __iomem *vpath_reg)
enum vxge_hw_status __vxge_hw_kdfc_swapper_set (struct vxge_hw_legacy_reg __iomem *legacy_reg, struct vxge_hw_vpath_reg __iomem *vpath_reg)
enum vxge_hw_status __vxge_hw_device_register_poll (void __iomem *reg, u64 mask, u32 max_millis)
static void __vxge_hw_pio_mem_write32_upper (u32 val, void __iomem *addr)
static void __vxge_hw_pio_mem_write32_lower (u32 val, void __iomem *addr)
static enum vxge_hw_status __vxge_hw_pio_mem_write64 (u64 val64, void __iomem *addr, u64 mask, u32 max_millis)
void __vxge_hw_device_host_info_get (struct __vxge_hw_device *hldev)
enum vxge_hw_status __vxge_hw_device_initialize (struct __vxge_hw_device *hldev)
enum vxge_hw_status __vxge_hw_vpath_pci_read (struct __vxge_hw_virtualpath *vpath, u32 phy_func_0, u32 offset, u32 *val)
enum vxge_hw_status __vxge_hw_vpath_addr_get (struct vxge_hw_vpath_reg __iomem *vpath_reg, u8(macaddr)[ETH_ALEN], u8(macaddr_mask)[ETH_ALEN])
u32 __vxge_hw_vpath_func_id_get (struct vxge_hw_vpmgmt_reg __iomem *vpmgmt_reg)
enum vxge_hw_status __vxge_hw_vpath_reset_check (struct __vxge_hw_virtualpath *vpath)
enum vxge_hw_status vxge_hw_vpath_strip_fcs_check (struct __vxge_hw_device *hldev, u64 vpath_mask)
enum vxge_hw_status vxge_hw_get_func_mode (struct __vxge_hw_device *hldev, u32 *func_mode)
enum vxge_hw_status vxge_hw_set_fw_api (struct __vxge_hw_device *hldev, u64 vp_id, u32 action, u32 offset, u64 data0, u64 data1)
void vxge_hw_vpath_set_zero_rx_frm_len (struct __vxge_hw_device *hldev)

Variables

static const u16 debug_filter = VXGE_ERR
 vxge_debug @mask: mask for the debug @fmt: printf like format string

Macro Definition Documentation

◆ VXGE_CONFIG_H

#define VXGE_CONFIG_H

Definition at line 18 of file vxge_config.h.

◆ VXGE_CACHE_LINE_SIZE

#define VXGE_CACHE_LINE_SIZE   4096

Definition at line 25 of file vxge_config.h.

◆ WAIT_FACTOR

#define WAIT_FACTOR   1

Definition at line 28 of file vxge_config.h.

Referenced by vxge_hw_set_fw_api().

◆ VXGE_HW_MAC_MAX_WIRE_PORTS

#define VXGE_HW_MAC_MAX_WIRE_PORTS   2

Definition at line 30 of file vxge_config.h.

◆ VXGE_HW_MAC_MAX_AGGR_PORTS

#define VXGE_HW_MAC_MAX_AGGR_PORTS   2

Definition at line 31 of file vxge_config.h.

◆ VXGE_HW_MAC_MAX_PORTS

#define VXGE_HW_MAC_MAX_PORTS   3

Definition at line 32 of file vxge_config.h.

◆ VXGE_HW_MIN_MTU

#define VXGE_HW_MIN_MTU   68

Definition at line 34 of file vxge_config.h.

Referenced by vxge_hw_vpath_mtu_set().

◆ VXGE_HW_MAX_MTU

#define VXGE_HW_MAX_MTU   9600

Definition at line 35 of file vxge_config.h.

◆ VXGE_HW_DEFAULT_MTU

#define VXGE_HW_DEFAULT_MTU   1500

Definition at line 36 of file vxge_config.h.

Referenced by vxge_open(), and vxge_probe().

◆ __iomem

#define __iomem

Definition at line 39 of file vxge_config.h.

◆ ____cacheline_aligned

#define ____cacheline_aligned

Definition at line 43 of file vxge_config.h.

◆ VXGE_NONE

#define VXGE_NONE   0x00

debug filtering masks

Definition at line 49 of file vxge_config.h.

◆ VXGE_INFO

◆ VXGE_INTR

#define VXGE_INTR   0x02

Definition at line 51 of file vxge_config.h.

Referenced by __vxge_hw_vpath_alarm_process().

◆ VXGE_XMIT

#define VXGE_XMIT   0x04

Definition at line 52 of file vxge_config.h.

Referenced by vxge_xmit().

◆ VXGE_POLL

#define VXGE_POLL   0x08

Definition at line 53 of file vxge_config.h.

Referenced by vxge_poll().

◆ VXGE_ERR

◆ VXGE_TRACE

#define VXGE_TRACE   0x20

Definition at line 55 of file vxge_config.h.

◆ VXGE_ALL

#define VXGE_ALL
Value:
#define VXGE_POLL
Definition vxge_config.h:53
#define VXGE_XMIT
Definition vxge_config.h:52
#define VXGE_INFO
Definition vxge_config.h:50
#define VXGE_INTR
Definition vxge_config.h:51
#define VXGE_ERR
Definition vxge_config.h:54
#define VXGE_TRACE
Definition vxge_config.h:55

Definition at line 56 of file vxge_config.h.

56#define VXGE_ALL (VXGE_INFO|VXGE_INTR|VXGE_XMIT\
57 |VXGE_POLL|VXGE_ERR|VXGE_TRACE)

◆ NULL_VPID

#define NULL_VPID   0xFFFFFFFF

Definition at line 59 of file vxge_config.h.

◆ VXGE_HW_EVENT_BASE

#define VXGE_HW_EVENT_BASE   0

Definition at line 61 of file vxge_config.h.

◆ VXGE_LL_EVENT_BASE

#define VXGE_LL_EVENT_BASE   100

Definition at line 62 of file vxge_config.h.

◆ VXGE_HW_BASE_INF

#define VXGE_HW_BASE_INF   100

Definition at line 64 of file vxge_config.h.

◆ VXGE_HW_BASE_ERR

#define VXGE_HW_BASE_ERR   200

Definition at line 65 of file vxge_config.h.

◆ VXGE_HW_BASE_BADCFG

#define VXGE_HW_BASE_BADCFG   300

Definition at line 66 of file vxge_config.h.

◆ VXGE_HW_DEF_DEVICE_POLL_MILLIS

◆ VXGE_HW_MAX_PAYLOAD_SIZE_512

#define VXGE_HW_MAX_PAYLOAD_SIZE_512   2

Definition at line 68 of file vxge_config.h.

Referenced by __vxge_hw_vpath_initialize().

◆ VXGE_HW_RING_RXD_RTH_BUCKET_GET

#define VXGE_HW_RING_RXD_RTH_BUCKET_GET ( ctrl0)
Value:
vxge_bVALn(ctrl0, 0, 7)
#define vxge_bVALn(bits, loc, n)
Definition vxge_reg.h:35

Definition at line 157 of file vxge_config.h.

◆ VXGE_HW_RING_RXD_LIST_OWN_ADAPTER

#define VXGE_HW_RING_RXD_LIST_OWN_ADAPTER   vxge_mBIT(7)

Definition at line 159 of file vxge_config.h.

Referenced by vxge_hw_ring_rxd_post(), and vxge_hw_vpath_poll_rx().

◆ VXGE_HW_RING_RXD_FAST_PATH_ELIGIBLE_GET

#define VXGE_HW_RING_RXD_FAST_PATH_ELIGIBLE_GET ( ctrl0)
Value:
vxge_bVALn(ctrl0, 8, 1)

Definition at line 161 of file vxge_config.h.

◆ VXGE_HW_RING_RXD_L3_CKSUM_CORRECT_GET

#define VXGE_HW_RING_RXD_L3_CKSUM_CORRECT_GET ( ctrl0)
Value:
vxge_bVALn(ctrl0, 9, 1)

Definition at line 163 of file vxge_config.h.

◆ VXGE_HW_RING_RXD_L4_CKSUM_CORRECT_GET

#define VXGE_HW_RING_RXD_L4_CKSUM_CORRECT_GET ( ctrl0)
Value:
vxge_bVALn(ctrl0, 10, 1)

Definition at line 165 of file vxge_config.h.

◆ VXGE_HW_RING_RXD_T_CODE_GET

#define VXGE_HW_RING_RXD_T_CODE_GET ( ctrl0)
Value:
vxge_bVALn(ctrl0, 12, 4)

Definition at line 167 of file vxge_config.h.

Referenced by vxge_hw_vpath_poll_rx().

◆ VXGE_HW_RING_RXD_T_CODE

#define VXGE_HW_RING_RXD_T_CODE ( val)
Value:
vxge_vBIT(val, 12, 4)
void __asmcall int val
Definition setjmp.h:12
#define vxge_vBIT(val, loc, sz)
Definition vxge_reg.h:29

Definition at line 168 of file vxge_config.h.

◆ VXGE_HW_RING_RXD_T_CODE_UNUSED

#define VXGE_HW_RING_RXD_T_CODE_UNUSED   VXGE_HW_RING_T_CODE_UNUSED

Definition at line 170 of file vxge_config.h.

◆ VXGE_HW_RING_RXD_SYN_GET

#define VXGE_HW_RING_RXD_SYN_GET ( ctrl0)
Value:
vxge_bVALn(ctrl0, 16, 1)

Definition at line 172 of file vxge_config.h.

◆ VXGE_HW_RING_RXD_IS_ICMP_GET

#define VXGE_HW_RING_RXD_IS_ICMP_GET ( ctrl0)
Value:
vxge_bVALn(ctrl0, 17, 1)

Definition at line 174 of file vxge_config.h.

◆ VXGE_HW_RING_RXD_RTH_SPDM_HIT_GET

#define VXGE_HW_RING_RXD_RTH_SPDM_HIT_GET ( ctrl0)
Value:
vxge_bVALn(ctrl0, 18, 1)

Definition at line 176 of file vxge_config.h.

◆ VXGE_HW_RING_RXD_RTH_IT_HIT_GET

#define VXGE_HW_RING_RXD_RTH_IT_HIT_GET ( ctrl0)
Value:
vxge_bVALn(ctrl0, 19, 1)

Definition at line 178 of file vxge_config.h.

◆ VXGE_HW_RING_RXD_RTH_HASH_TYPE_GET

#define VXGE_HW_RING_RXD_RTH_HASH_TYPE_GET ( ctrl0)
Value:
vxge_bVALn(ctrl0, 20, 4)

Definition at line 180 of file vxge_config.h.

◆ VXGE_HW_RING_RXD_IS_VLAN_GET

#define VXGE_HW_RING_RXD_IS_VLAN_GET ( ctrl0)
Value:
vxge_bVALn(ctrl0, 24, 1)

Definition at line 182 of file vxge_config.h.

◆ VXGE_HW_RING_RXD_ETHER_ENCAP_GET

#define VXGE_HW_RING_RXD_ETHER_ENCAP_GET ( ctrl0)
Value:
vxge_bVALn(ctrl0, 25, 2)

Definition at line 184 of file vxge_config.h.

◆ VXGE_HW_RING_RXD_FRAME_PROTO_GET

#define VXGE_HW_RING_RXD_FRAME_PROTO_GET ( ctrl0)
Value:
vxge_bVALn(ctrl0, 27, 5)

Definition at line 186 of file vxge_config.h.

◆ VXGE_HW_RING_RXD_L3_CKSUM_GET

#define VXGE_HW_RING_RXD_L3_CKSUM_GET ( ctrl0)
Value:
vxge_bVALn(ctrl0, 32, 16)

Definition at line 188 of file vxge_config.h.

◆ VXGE_HW_RING_RXD_L4_CKSUM_GET

#define VXGE_HW_RING_RXD_L4_CKSUM_GET ( ctrl0)
Value:
vxge_bVALn(ctrl0, 48, 16)

Definition at line 190 of file vxge_config.h.

◆ VXGE_HW_RING_RXD_1_BUFFER0_SIZE_GET

#define VXGE_HW_RING_RXD_1_BUFFER0_SIZE_GET ( ctrl1)
Value:
vxge_bVALn(ctrl1, 2, 14)

Definition at line 194 of file vxge_config.h.

Referenced by vxge_hw_vpath_poll_rx().

◆ VXGE_HW_RING_RXD_1_BUFFER0_SIZE

#define VXGE_HW_RING_RXD_1_BUFFER0_SIZE ( val)
Value:
vxge_vBIT(val, 2, 14)

Definition at line 195 of file vxge_config.h.

Referenced by vxge_hw_ring_rxd_1b_set().

◆ VXGE_HW_RING_RXD_1_BUFFER0_SIZE_MASK

#define VXGE_HW_RING_RXD_1_BUFFER0_SIZE_MASK   vxge_vBIT(0x3FFF, 2, 14)

Definition at line 196 of file vxge_config.h.

Referenced by vxge_hw_ring_rxd_1b_set().

◆ VXGE_HW_RING_RXD_1_RTH_HASH_VAL_GET

#define VXGE_HW_RING_RXD_1_RTH_HASH_VAL_GET ( ctrl1)
Value:
vxge_bVALn(ctrl1, 16, 32)

Definition at line 198 of file vxge_config.h.

◆ VXGE_HW_RING_RXD_VLAN_TAG_GET

#define VXGE_HW_RING_RXD_VLAN_TAG_GET ( ctrl1)
Value:
vxge_bVALn(ctrl1, 48, 16)

Definition at line 200 of file vxge_config.h.

◆ VXGE_HW_FIFO_TXD_LIST_OWN_ADAPTER

#define VXGE_HW_FIFO_TXD_LIST_OWN_ADAPTER   vxge_mBIT(7)

◆ VXGE_HW_FIFO_TXD_T_CODE_GET

#define VXGE_HW_FIFO_TXD_T_CODE_GET ( ctrl0)
Value:
vxge_bVALn(ctrl0, 12, 4)

Definition at line 216 of file vxge_config.h.

Referenced by vxge_hw_vpath_poll_tx().

◆ VXGE_HW_FIFO_TXD_T_CODE

#define VXGE_HW_FIFO_TXD_T_CODE ( val)
Value:
vxge_vBIT(val, 12, 4)

Definition at line 217 of file vxge_config.h.

◆ VXGE_HW_FIFO_TXD_T_CODE_UNUSED

#define VXGE_HW_FIFO_TXD_T_CODE_UNUSED   VXGE_HW_FIFO_T_CODE_UNUSED

Definition at line 218 of file vxge_config.h.

◆ VXGE_HW_FIFO_TXD_GATHER_CODE

#define VXGE_HW_FIFO_TXD_GATHER_CODE ( val)
Value:
vxge_vBIT(val, 22, 2)

Definition at line 220 of file vxge_config.h.

Referenced by vxge_hw_fifo_txdl_buffer_set().

◆ VXGE_HW_FIFO_TXD_GATHER_CODE_FIRST

#define VXGE_HW_FIFO_TXD_GATHER_CODE_FIRST   VXGE_HW_FIFO_GATHER_CODE_FIRST

Definition at line 221 of file vxge_config.h.

◆ VXGE_HW_FIFO_TXD_GATHER_CODE_LAST

#define VXGE_HW_FIFO_TXD_GATHER_CODE_LAST   VXGE_HW_FIFO_GATHER_CODE_LAST

Definition at line 222 of file vxge_config.h.

◆ VXGE_HW_FIFO_TXD_LSO_EN

#define VXGE_HW_FIFO_TXD_LSO_EN   vxge_mBIT(30)

Definition at line 224 of file vxge_config.h.

◆ VXGE_HW_FIFO_TXD_LSO_MSS

#define VXGE_HW_FIFO_TXD_LSO_MSS ( val)
Value:
vxge_vBIT(val, 34, 14)

Definition at line 225 of file vxge_config.h.

◆ VXGE_HW_FIFO_TXD_BUFFER_SIZE

#define VXGE_HW_FIFO_TXD_BUFFER_SIZE ( val)
Value:
vxge_vBIT(val, 48, 16)

Definition at line 226 of file vxge_config.h.

Referenced by vxge_hw_fifo_txdl_buffer_set().

◆ VXGE_HW_FIFO_TXD_TX_CKO_IPV4_EN

#define VXGE_HW_FIFO_TXD_TX_CKO_IPV4_EN   vxge_mBIT(5)

Definition at line 229 of file vxge_config.h.

◆ VXGE_HW_FIFO_TXD_TX_CKO_TCP_EN

#define VXGE_HW_FIFO_TXD_TX_CKO_TCP_EN   vxge_mBIT(6)

Definition at line 230 of file vxge_config.h.

◆ VXGE_HW_FIFO_TXD_TX_CKO_UDP_EN

#define VXGE_HW_FIFO_TXD_TX_CKO_UDP_EN   vxge_mBIT(7)

Definition at line 231 of file vxge_config.h.

◆ VXGE_HW_FIFO_TXD_VLAN_ENABLE

#define VXGE_HW_FIFO_TXD_VLAN_ENABLE   vxge_mBIT(15)

Definition at line 232 of file vxge_config.h.

◆ VXGE_HW_FIFO_TXD_VLAN_TAG

#define VXGE_HW_FIFO_TXD_VLAN_TAG ( val)
Value:
vxge_vBIT(val, 16, 16)

Definition at line 234 of file vxge_config.h.

◆ VXGE_HW_FIFO_TXD_NO_BW_LIMIT

#define VXGE_HW_FIFO_TXD_NO_BW_LIMIT   vxge_mBIT(43)

Definition at line 235 of file vxge_config.h.

◆ VXGE_HW_FIFO_TXD_INT_NUMBER

#define VXGE_HW_FIFO_TXD_INT_NUMBER ( val)
Value:
vxge_vBIT(val, 34, 6)

Definition at line 237 of file vxge_config.h.

Referenced by vxge_hw_fifo_txdl_buffer_set().

◆ VXGE_HW_FIFO_TXD_INT_TYPE_PER_LIST

#define VXGE_HW_FIFO_TXD_INT_TYPE_PER_LIST   vxge_mBIT(46)

Definition at line 239 of file vxge_config.h.

Referenced by vxge_hw_fifo_txdl_buffer_set().

◆ VXGE_HW_FIFO_TXD_INT_TYPE_UTILZ

#define VXGE_HW_FIFO_TXD_INT_TYPE_UTILZ   vxge_mBIT(47)

Definition at line 240 of file vxge_config.h.

◆ VXGE_HW_FW_STRLEN

#define VXGE_HW_FW_STRLEN   32

struct vxge_hw_device_date - Date Format @day: Day @month: Month @year: Year

Date
: Date in string format

Structure for returning date

Definition at line 257 of file vxge_config.h.

Referenced by __vxge_hw_vpath_fw_ver_get().

◆ VXGE_HW_NODBW_GET_TYPE

#define VXGE_HW_NODBW_GET_TYPE ( ctrl0)
Value:
vxge_bVALn(ctrl0, 0, 8)

Definition at line 293 of file vxge_config.h.

◆ VXGE_HW_NODBW_TYPE

#define VXGE_HW_NODBW_TYPE ( val)
Value:
vxge_vBIT(val, 0, 8)

Definition at line 294 of file vxge_config.h.

Referenced by __vxge_hw_non_offload_db_post().

◆ VXGE_HW_NODBW_TYPE_NODBW

#define VXGE_HW_NODBW_TYPE_NODBW   0

Definition at line 295 of file vxge_config.h.

Referenced by __vxge_hw_non_offload_db_post().

◆ VXGE_HW_NODBW_GET_LAST_TXD_NUMBER

#define VXGE_HW_NODBW_GET_LAST_TXD_NUMBER ( ctrl0)
Value:
vxge_bVALn(ctrl0, 32, 8)

Definition at line 297 of file vxge_config.h.

◆ VXGE_HW_NODBW_LAST_TXD_NUMBER

#define VXGE_HW_NODBW_LAST_TXD_NUMBER ( val)
Value:
vxge_vBIT(val, 32, 8)

Definition at line 298 of file vxge_config.h.

Referenced by __vxge_hw_non_offload_db_post().

◆ VXGE_HW_NODBW_GET_NO_SNOOP

#define VXGE_HW_NODBW_GET_NO_SNOOP ( ctrl0)
Value:
vxge_bVALn(ctrl0, 56, 8)

Definition at line 300 of file vxge_config.h.

◆ VXGE_HW_NODBW_LIST_NO_SNOOP

#define VXGE_HW_NODBW_LIST_NO_SNOOP ( val)
Value:
vxge_vBIT(val, 56, 8)

Definition at line 301 of file vxge_config.h.

◆ VXGE_HW_NODBW_LIST_NO_SNOOP_TXD_READ_TXD0_WRITE

#define VXGE_HW_NODBW_LIST_NO_SNOOP_TXD_READ_TXD0_WRITE   0x2

Definition at line 302 of file vxge_config.h.

◆ VXGE_HW_NODBW_LIST_NO_SNOOP_TX_FRAME_DATA_READ

#define VXGE_HW_NODBW_LIST_NO_SNOOP_TX_FRAME_DATA_READ   0x1

Definition at line 303 of file vxge_config.h.

◆ VXGE_HW_FIFO_TXD_DEPTH

#define VXGE_HW_FIFO_TXD_DEPTH   128

Definition at line 329 of file vxge_config.h.

Referenced by __vxge_hw_fifo_create(), and vxge_hw_fifo_txd_offset_up().

◆ VXGE_HW_MAX_RXDS_PER_BLOCK_1

#define VXGE_HW_MAX_RXDS_PER_BLOCK_1   127

◆ END_OF_BLOCK

#define END_OF_BLOCK   0xFEFFFFFFFFFFFFFFULL

Definition at line 345 of file vxge_config.h.

◆ VXGE_HW_RING_RXD_QWORDS_MODE_1

#define VXGE_HW_RING_RXD_QWORDS_MODE_1   4

Definition at line 364 of file vxge_config.h.

Referenced by vxge_hw_vpath_doorbell_rx(), and vxge_hw_vpath_rx_doorbell_init().

◆ VXGE_HW_RING_RXD_QWORD_LIMIT

#define VXGE_HW_RING_RXD_QWORD_LIMIT   16

Definition at line 367 of file vxge_config.h.

Referenced by __vxge_hw_ring_create().

◆ VXGE_HW_RING_BUF_PER_BLOCK

#define VXGE_HW_RING_BUF_PER_BLOCK   9

Definition at line 371 of file vxge_config.h.

Referenced by __vxge_hw_ring_create(), and vxge_hw_ring_replenish().

◆ VXGE_HW_RING_RX_POLL_WEIGHT

#define VXGE_HW_RING_RX_POLL_WEIGHT   8

Definition at line 375 of file vxge_config.h.

Referenced by __vxge_hw_ring_create().

◆ VXGE_HW_VP_NOT_OPEN

◆ VXGE_HW_VP_OPEN

#define VXGE_HW_VP_OPEN   1

Definition at line 394 of file vxge_config.h.

Referenced by __vxge_hw_vp_initialize(), and vxge_hw_vpath_open().

◆ VXGE_HW_INFO_LEN

#define VXGE_HW_INFO_LEN   64

Definition at line 409 of file vxge_config.h.

Referenced by vxge_probe().

◆ VXGE_HW_PMD_INFO_LEN

#define VXGE_HW_PMD_INFO_LEN   16

Definition at line 410 of file vxge_config.h.

◆ VXGE_MAX_PRINT_BUF_SIZE

#define VXGE_MAX_PRINT_BUF_SIZE   128

Definition at line 411 of file vxge_config.h.

◆ VXGE_HW_NO_MR_NO_SR_NORMAL_FUNCTION

#define VXGE_HW_NO_MR_NO_SR_NORMAL_FUNCTION   0

Definition at line 429 of file vxge_config.h.

Referenced by __vxge_hw_device_access_rights_get().

◆ VXGE_HW_MR_NO_SR_VH0_BASE_FUNCTION

#define VXGE_HW_MR_NO_SR_VH0_BASE_FUNCTION   1

Definition at line 430 of file vxge_config.h.

Referenced by __vxge_hw_device_access_rights_get().

◆ VXGE_HW_NO_MR_SR_VH0_FUNCTION0

#define VXGE_HW_NO_MR_SR_VH0_FUNCTION0   2

Definition at line 431 of file vxge_config.h.

Referenced by __vxge_hw_device_access_rights_get().

◆ VXGE_HW_NO_MR_SR_VH0_VIRTUAL_FUNCTION

#define VXGE_HW_NO_MR_SR_VH0_VIRTUAL_FUNCTION   3

Definition at line 432 of file vxge_config.h.

Referenced by __vxge_hw_device_access_rights_get().

◆ VXGE_HW_MR_SR_VH0_INVALID_CONFIG

#define VXGE_HW_MR_SR_VH0_INVALID_CONFIG   4

Definition at line 433 of file vxge_config.h.

Referenced by __vxge_hw_device_access_rights_get().

◆ VXGE_HW_SR_VH_FUNCTION0

#define VXGE_HW_SR_VH_FUNCTION0   5

Definition at line 434 of file vxge_config.h.

Referenced by __vxge_hw_device_access_rights_get().

◆ VXGE_HW_SR_VH_VIRTUAL_FUNCTION

#define VXGE_HW_SR_VH_VIRTUAL_FUNCTION   6

Definition at line 435 of file vxge_config.h.

Referenced by __vxge_hw_device_access_rights_get().

◆ VXGE_HW_VH_NORMAL_FUNCTION

#define VXGE_HW_VH_NORMAL_FUNCTION   7

Definition at line 436 of file vxge_config.h.

Referenced by __vxge_hw_device_access_rights_get().

◆ VXGE_HW_FUNCTION_MODE_MIN

#define VXGE_HW_FUNCTION_MODE_MIN   0

Definition at line 438 of file vxge_config.h.

◆ VXGE_HW_FUNCTION_MODE_MAX

#define VXGE_HW_FUNCTION_MODE_MAX   11

Definition at line 439 of file vxge_config.h.

◆ VXGE_HW_FUNCTION_MODE_SINGLE_FUNCTION

#define VXGE_HW_FUNCTION_MODE_SINGLE_FUNCTION   0

Definition at line 441 of file vxge_config.h.

◆ VXGE_HW_FUNCTION_MODE_MULTI_FUNCTION

#define VXGE_HW_FUNCTION_MODE_MULTI_FUNCTION   1

Definition at line 442 of file vxge_config.h.

◆ VXGE_HW_FUNCTION_MODE_SRIOV

#define VXGE_HW_FUNCTION_MODE_SRIOV   2

Definition at line 443 of file vxge_config.h.

◆ VXGE_HW_FUNCTION_MODE_MRIOV

#define VXGE_HW_FUNCTION_MODE_MRIOV   3

Definition at line 444 of file vxge_config.h.

◆ VXGE_HW_FUNCTION_MODE_MRIOV_8

#define VXGE_HW_FUNCTION_MODE_MRIOV_8   4

Definition at line 445 of file vxge_config.h.

◆ VXGE_HW_FUNCTION_MODE_MULTI_FUNCTION_17

#define VXGE_HW_FUNCTION_MODE_MULTI_FUNCTION_17   5

Definition at line 446 of file vxge_config.h.

◆ VXGE_HW_FUNCTION_MODE_SRIOV_8

#define VXGE_HW_FUNCTION_MODE_SRIOV_8   6

Definition at line 447 of file vxge_config.h.

◆ VXGE_HW_FUNCTION_MODE_SRIOV_4

#define VXGE_HW_FUNCTION_MODE_SRIOV_4   7

Definition at line 448 of file vxge_config.h.

◆ VXGE_HW_FUNCTION_MODE_MULTI_FUNCTION_2

#define VXGE_HW_FUNCTION_MODE_MULTI_FUNCTION_2   8

Definition at line 449 of file vxge_config.h.

◆ VXGE_HW_FUNCTION_MODE_MULTI_FUNCTION_4

#define VXGE_HW_FUNCTION_MODE_MULTI_FUNCTION_4   9

Definition at line 450 of file vxge_config.h.

◆ VXGE_HW_FUNCTION_MODE_MRIOV_4

#define VXGE_HW_FUNCTION_MODE_MRIOV_4   10

Definition at line 451 of file vxge_config.h.

◆ VXGE_HW_FUNCTION_MODE_MULTI_FUNCTION_DIRECT_IO

#define VXGE_HW_FUNCTION_MODE_MULTI_FUNCTION_DIRECT_IO   11

Definition at line 452 of file vxge_config.h.

◆ VXGE_HW_DEVICE_MAGIC

#define VXGE_HW_DEVICE_MAGIC   0x12345678

Definition at line 479 of file vxge_config.h.

Referenced by vxge_hw_device_initialize(), and vxge_hw_device_terminate().

◆ VXGE_HW_DEVICE_DEAD

#define VXGE_HW_DEVICE_DEAD   0xDEADDEAD

Definition at line 480 of file vxge_config.h.

Referenced by vxge_hw_device_terminate().

◆ VXGE_HW_DEVICE_ACCESS_RIGHT_VPATH

#define VXGE_HW_DEVICE_ACCESS_RIGHT_VPATH   0x1

Definition at line 492 of file vxge_config.h.

Referenced by __vxge_hw_device_access_rights_get().

◆ VXGE_HW_DEVICE_ACCESS_RIGHT_SRPCIM

#define VXGE_HW_DEVICE_ACCESS_RIGHT_SRPCIM   0x2

Definition at line 493 of file vxge_config.h.

Referenced by __vxge_hw_device_access_rights_get().

◆ VXGE_HW_DEVICE_ACCESS_RIGHT_MRPCIM

#define VXGE_HW_DEVICE_ACCESS_RIGHT_MRPCIM   0x4

◆ VXGE_HW_DEVICE_LINK_STATE_SET

#define VXGE_HW_DEVICE_LINK_STATE_SET ( hldev,
ls )
Value:
(hldev->link_state = ls)

Definition at line 517 of file vxge_config.h.

Referenced by __vxge_hw_vpath_mgmt_read().

◆ VXGE_HW_DEVICE_TIM_INT_MASK_SET

#define VXGE_HW_DEVICE_TIM_INT_MASK_SET ( m0,
m1,
i )
Value:
{ \
if (i < 16) { \
m0[0] |= vxge_vBIT(0x8, (i*4), 4); \
m0[1] |= vxge_vBIT(0x4, (i*4), 4); \
} \
else { \
m1[0] = 0x80000000; \
m1[1] = 0x40000000; \
} \
}

Definition at line 519 of file vxge_config.h.

519#define VXGE_HW_DEVICE_TIM_INT_MASK_SET(m0, m1, i) { \
520 if (i < 16) { \
521 m0[0] |= vxge_vBIT(0x8, (i*4), 4); \
522 m0[1] |= vxge_vBIT(0x4, (i*4), 4); \
523 } \
524 else { \
525 m1[0] = 0x80000000; \
526 m1[1] = 0x40000000; \
527 } \
528}

Referenced by __vxge_hw_vp_initialize().

◆ VXGE_HW_DEVICE_TIM_INT_MASK_RESET

#define VXGE_HW_DEVICE_TIM_INT_MASK_RESET ( m0,
m1,
i )
Value:
{ \
if (i < 16) { \
m0[0] &= ~vxge_vBIT(0x8, (i*4), 4); \
m0[1] &= ~vxge_vBIT(0x4, (i*4), 4); \
} \
else { \
m1[0] = 0; \
m1[1] = 0; \
} \
}

Definition at line 530 of file vxge_config.h.

530#define VXGE_HW_DEVICE_TIM_INT_MASK_RESET(m0, m1, i) { \
531 if (i < 16) { \
532 m0[0] &= ~vxge_vBIT(0x8, (i*4), 4); \
533 m0[1] &= ~vxge_vBIT(0x4, (i*4), 4); \
534 } \
535 else { \
536 m1[0] = 0; \
537 m1[1] = 0; \
538 } \
539}

Referenced by __vxge_hw_vp_terminate().

◆ vxge_debug

#define vxge_debug ( mask,
fmt... )
Value:
do { \
if (debug_filter & mask) \
DBG(fmt); \
} while (0);
int ssize_t const char * fmt
Definition vsprintf.h:73
static const u16 debug_filter
vxge_debug @mask: mask for the debug @fmt: printf like format string

Definition at line 762 of file vxge_config.h.

762#define vxge_debug(mask, fmt...) do { \
763 if (debug_filter & mask) \
764 DBG(fmt); \
765 } while (0);

Referenced by __vxge_hw_fifo_create(), __vxge_hw_ring_create(), __vxge_hw_vpath_alarm_process(), vxge_close(), vxge_device_register(), vxge_device_unregister(), vxge_hw_device_begin_irq(), vxge_hw_device_initialize(), vxge_hw_fifo_free_txdl_get(), vxge_hw_vpath_poll_rx(), vxge_irq(), vxge_open(), vxge_open_vpaths(), vxge_poll(), vxge_probe(), vxge_remove(), vxge_reset_all_vpaths(), vxge_xmit(), and vxge_xmit_compl().

◆ vxge_trace

Enumeration Type Documentation

◆ vxge_hw_status

Enumerator
VXGE_HW_OK 
VXGE_HW_FAIL 
VXGE_HW_PENDING 
VXGE_HW_COMPLETIONS_REMAIN 
VXGE_HW_INF_NO_MORE_COMPLETED_DESCRIPTORS 
VXGE_HW_INF_OUT_OF_DESCRIPTORS 
VXGE_HW_INF_SW_LRO_BEGIN 
VXGE_HW_INF_SW_LRO_CONT 
VXGE_HW_INF_SW_LRO_UNCAPABLE 
VXGE_HW_INF_SW_LRO_FLUSH_SESSION 
VXGE_HW_INF_SW_LRO_FLUSH_BOTH 
VXGE_HW_ERR_INVALID_HANDLE 
VXGE_HW_ERR_OUT_OF_MEMORY 
VXGE_HW_ERR_VPATH_NOT_AVAILABLE 
VXGE_HW_ERR_VPATH_NOT_OPEN 
VXGE_HW_ERR_WRONG_IRQ 
VXGE_HW_ERR_SWAPPER_CTRL 
VXGE_HW_ERR_INVALID_MTU_SIZE 
VXGE_HW_ERR_INVALID_INDEX 
VXGE_HW_ERR_INVALID_TYPE 
VXGE_HW_ERR_INVALID_OFFSET 
VXGE_HW_ERR_INVALID_DEVICE 
VXGE_HW_ERR_VERSION_CONFLICT 
VXGE_HW_ERR_INVALID_PCI_INFO 
VXGE_HW_ERR_INVALID_TCODE 
VXGE_HW_ERR_INVALID_BLOCK_SIZE 
VXGE_HW_ERR_INVALID_STATE 
VXGE_HW_ERR_PRIVILAGED_OPEARATION 
VXGE_HW_ERR_INVALID_PORT 
VXGE_HW_ERR_FIFO 
VXGE_HW_ERR_VPATH 
VXGE_HW_ERR_CRITICAL 
VXGE_HW_ERR_SLOT_FREEZE 
VXGE_HW_ERR_INVALID_MIN_BANDWIDTH 
VXGE_HW_ERR_INVALID_MAX_BANDWIDTH 
VXGE_HW_ERR_INVALID_TOTAL_BANDWIDTH 
VXGE_HW_ERR_INVALID_BANDWIDTH_LIMIT 
VXGE_HW_ERR_RESET_IN_PROGRESS 
VXGE_HW_ERR_OUT_OF_SPACE 
VXGE_HW_ERR_INVALID_FUNC_MODE 
VXGE_HW_ERR_INVALID_DP_MODE 
VXGE_HW_ERR_INVALID_FAILURE_BEHAVIOUR 
VXGE_HW_ERR_INVALID_L2_SWITCH_STATE 
VXGE_HW_ERR_INVALID_CATCH_BASIN_MODE 
VXGE_HW_BADCFG_RING_INDICATE_MAX_PKTS 
VXGE_HW_BADCFG_FIFO_BLOCKS 
VXGE_HW_BADCFG_VPATH_MTU 
VXGE_HW_BADCFG_VPATH_RPA_STRIP_VLAN_TAG 
VXGE_HW_BADCFG_VPATH_MIN_BANDWIDTH 
VXGE_HW_BADCFG_VPATH_BANDWIDTH_LIMIT 
VXGE_HW_BADCFG_INTR_MODE 
VXGE_HW_BADCFG_RTS_MAC_EN 
VXGE_HW_BADCFG_VPATH_AGGR_ACK 
VXGE_HW_BADCFG_VPATH_PRIORITY 
VXGE_HW_EOF_TRACE_BUF 

Definition at line 70 of file vxge_config.h.

70 {
71 VXGE_HW_OK = 0,
72 VXGE_HW_FAIL = 1,
75
83
117
128
130};
#define VXGE_HW_BASE_ERR
Definition vxge_config.h:65
#define VXGE_HW_BASE_INF
Definition vxge_config.h:64
#define VXGE_HW_BASE_BADCFG
Definition vxge_config.h:66
@ VXGE_HW_ERR_SWAPPER_CTRL
Definition vxge_config.h:89
@ VXGE_HW_INF_SW_LRO_UNCAPABLE
Definition vxge_config.h:80
@ VXGE_HW_BADCFG_VPATH_MTU
@ VXGE_HW_ERR_INVALID_TOTAL_BANDWIDTH
@ VXGE_HW_INF_SW_LRO_FLUSH_SESSION
Definition vxge_config.h:81
@ VXGE_HW_ERR_INVALID_PCI_INFO
Definition vxge_config.h:96
@ VXGE_HW_ERR_SLOT_FREEZE
@ VXGE_HW_ERR_VERSION_CONFLICT
Definition vxge_config.h:95
@ VXGE_HW_ERR_INVALID_FUNC_MODE
@ VXGE_HW_BADCFG_VPATH_RPA_STRIP_VLAN_TAG
@ VXGE_HW_ERR_INVALID_PORT
@ VXGE_HW_ERR_INVALID_L2_SWITCH_STATE
@ VXGE_HW_INF_OUT_OF_DESCRIPTORS
Definition vxge_config.h:77
@ VXGE_HW_BADCFG_VPATH_MIN_BANDWIDTH
@ VXGE_HW_ERR_INVALID_MTU_SIZE
Definition vxge_config.h:90
@ VXGE_HW_ERR_INVALID_DEVICE
Definition vxge_config.h:94
@ VXGE_HW_ERR_WRONG_IRQ
Definition vxge_config.h:88
@ VXGE_HW_BADCFG_VPATH_PRIORITY
@ VXGE_HW_ERR_OUT_OF_SPACE
@ VXGE_HW_ERR_INVALID_DP_MODE
@ VXGE_HW_ERR_VPATH_NOT_AVAILABLE
Definition vxge_config.h:86
@ VXGE_HW_ERR_INVALID_MIN_BANDWIDTH
@ VXGE_HW_BADCFG_VPATH_BANDWIDTH_LIMIT
@ VXGE_HW_ERR_INVALID_MAX_BANDWIDTH
@ VXGE_HW_FAIL
Definition vxge_config.h:72
@ VXGE_HW_BADCFG_RTS_MAC_EN
@ VXGE_HW_PENDING
Definition vxge_config.h:73
@ VXGE_HW_OK
Definition vxge_config.h:71
@ VXGE_HW_BADCFG_INTR_MODE
@ VXGE_HW_ERR_INVALID_BANDWIDTH_LIMIT
@ VXGE_HW_ERR_INVALID_TCODE
Definition vxge_config.h:97
@ VXGE_HW_ERR_INVALID_TYPE
Definition vxge_config.h:92
@ VXGE_HW_BADCFG_VPATH_AGGR_ACK
@ VXGE_HW_ERR_INVALID_BLOCK_SIZE
Definition vxge_config.h:98
@ VXGE_HW_ERR_OUT_OF_MEMORY
Definition vxge_config.h:85
@ VXGE_HW_ERR_INVALID_HANDLE
Definition vxge_config.h:84
@ VXGE_HW_INF_NO_MORE_COMPLETED_DESCRIPTORS
Definition vxge_config.h:76
@ VXGE_HW_BADCFG_RING_INDICATE_MAX_PKTS
@ VXGE_HW_ERR_PRIVILAGED_OPEARATION
@ VXGE_HW_ERR_INVALID_STATE
Definition vxge_config.h:99
@ VXGE_HW_ERR_INVALID_OFFSET
Definition vxge_config.h:93
@ VXGE_HW_ERR_VPATH
@ VXGE_HW_COMPLETIONS_REMAIN
Definition vxge_config.h:74
@ VXGE_HW_INF_SW_LRO_FLUSH_BOTH
Definition vxge_config.h:82
@ VXGE_HW_ERR_INVALID_CATCH_BASIN_MODE
@ VXGE_HW_ERR_INVALID_INDEX
Definition vxge_config.h:91
@ VXGE_HW_ERR_CRITICAL
@ VXGE_HW_BADCFG_FIFO_BLOCKS
@ VXGE_HW_ERR_RESET_IN_PROGRESS
@ VXGE_HW_ERR_INVALID_FAILURE_BEHAVIOUR
@ VXGE_HW_ERR_VPATH_NOT_OPEN
Definition vxge_config.h:87
@ VXGE_HW_INF_SW_LRO_CONT
Definition vxge_config.h:79
@ VXGE_HW_INF_SW_LRO_BEGIN
Definition vxge_config.h:78
@ VXGE_HW_EOF_TRACE_BUF
@ VXGE_HW_ERR_FIFO

◆ vxge_hw_device_link_state

enum enum vxge_hw_device_link_state - Link state enumeration.

@VXGE_HW_LINK_NONE: Invalid link state. @VXGE_HW_LINK_DOWN: Link is down. @VXGE_HW_LINK_UP: Link is up.

Enumerator
VXGE_HW_LINK_NONE 
VXGE_HW_LINK_DOWN 
VXGE_HW_LINK_UP 

Definition at line 139 of file vxge_config.h.

139 {
143};
@ VXGE_HW_LINK_NONE
@ VXGE_HW_LINK_UP
@ VXGE_HW_LINK_DOWN

◆ vxge_hw_txdl_state

enum enum vxge_hw_txdl_state - Descriptor (TXDL) state.

@VXGE_HW_TXDL_STATE_NONE: Invalid state. @VXGE_HW_TXDL_STATE_AVAIL: Descriptor is available for reservation. @VXGE_HW_TXDL_STATE_POSTED: Descriptor is posted for processing by the device. @VXGE_HW_TXDL_STATE_FREED: Descriptor is free and can be reused for filling-in and posting later.

Titan/HW descriptor states.

Enumerator
VXGE_HW_TXDL_STATE_NONE 
VXGE_HW_TXDL_STATE_AVAIL 
VXGE_HW_TXDL_STATE_POSTED 
VXGE_HW_TXDL_STATE_FREED 

Definition at line 553 of file vxge_config.h.

553 {
558};
@ VXGE_HW_TXDL_STATE_AVAIL
@ VXGE_HW_TXDL_STATE_NONE
@ VXGE_HW_TXDL_STATE_POSTED
@ VXGE_HW_TXDL_STATE_FREED

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( GPL2_ONLY )

◆ __vxge_hw_vpath_pci_func_mode_get()

u64 __vxge_hw_vpath_pci_func_mode_get ( u32 vp_id,
struct vxge_hw_vpath_reg __iomem * vpath_reg )

References __iomem, and u32.

◆ __vxge_hw_desc_offset_up()

void __vxge_hw_desc_offset_up ( u16 upper_limit,
u16 * offset )
inlinestatic

Definition at line 562 of file vxge_config.h.

564{
565 if (++(*offset) >= upper_limit)
566 *offset = 0;
567}
uint16_t offset
Offset to command line.
Definition bzimage.h:3

References offset, and u16.

Referenced by vxge_hw_fifo_txd_offset_up(), and vxge_hw_ring_rxd_offset_up().

◆ vxge_hw_ring_rxd_offset_up()

void vxge_hw_ring_rxd_offset_up ( u16 * offset)
inlinestatic

Definition at line 570 of file vxge_config.h.

571{
573 offset);
574}
static void __vxge_hw_desc_offset_up(u16 upper_limit, u16 *offset)
#define VXGE_HW_MAX_RXDS_PER_BLOCK_1

References __vxge_hw_desc_offset_up(), offset, u16, and VXGE_HW_MAX_RXDS_PER_BLOCK_1.

Referenced by vxge_hw_vpath_poll_rx().

◆ vxge_hw_fifo_txd_offset_up()

void vxge_hw_fifo_txd_offset_up ( u16 * offset)
inlinestatic

◆ vxge_hw_ring_rxd_1b_set()

void vxge_hw_ring_rxd_1b_set ( struct vxge_hw_ring_rxd_1 * rxdp,
struct io_buffer * iob,
u32 size )
inlinestatic

vxge_hw_ring_rxd_1b_set - Prepare 1-buffer-mode descriptor.

@rxdh: Descriptor handle. @dma_pointer: DMA address of a single receive buffer this descriptor should carry. Note that by the time vxge_hw_ring_rxd_1b_set is called, the receive buffer should be already mapped to the device @size: Size of the receive @dma_pointer buffer.

Prepare 1-buffer-mode Rx descriptor for posting (via vxge_hw_ring_rxd_post()).

This inline helper-function does not return any parameters and always succeeds.

Definition at line 597 of file vxge_config.h.

599{
600 rxdp->host_control = (intptr_t)(iob);
601 rxdp->buffer0_ptr = virt_to_bus(iob->data);
604}
unsigned long intptr_t
Definition stdint.h:21
uint16_t size
Buffer size.
Definition dwmac.h:3
static __always_inline unsigned long virt_to_bus(volatile const void *addr)
Convert virtual address to a bus address.
Definition io.h:184
@ rxdp
Definition sis900.h:32
void * data
Start of data.
Definition iobuf.h:53
#define VXGE_HW_RING_RXD_1_BUFFER0_SIZE_MASK
#define VXGE_HW_RING_RXD_1_BUFFER0_SIZE(val)

References io_buffer::data, rxdp, size, u32, virt_to_bus(), VXGE_HW_RING_RXD_1_BUFFER0_SIZE, and VXGE_HW_RING_RXD_1_BUFFER0_SIZE_MASK.

Referenced by vxge_hw_ring_replenish(), and vxge_hw_vpath_poll_rx().

◆ vxge_hw_device_hw_info_get()

enum vxge_hw_status vxge_hw_device_hw_info_get ( struct pci_device * pdev,
void __iomem * bar0,
struct vxge_hw_device_hw_info * hw_info )

vxge_hw_device_hw_info_get - Get the hw information Returns the vpath mask that has the bits set for each vpath allocated for the driver, FW version information and the first mac addresse for each vpath

Definition at line 385 of file vxge_config.c.

387{
388 u32 i;
389 u64 val64;
390 struct vxge_hw_toc_reg __iomem *toc;
391 struct vxge_hw_mrpcim_reg __iomem *mrpcim_reg;
392 struct vxge_hw_common_reg __iomem *common_reg;
393 struct vxge_hw_vpath_reg __iomem *vpath_reg;
394 struct vxge_hw_vpmgmt_reg __iomem *vpmgmt_reg;
395 struct vxge_hw_legacy_reg __iomem *legacy_reg;
397
398 vxge_trace();
399
400 memset(hw_info, 0, sizeof(struct vxge_hw_device_hw_info));
401
402 legacy_reg = __vxge_hw_device_get_legacy_reg(pdev, bar0);
403 if (legacy_reg == NULL) {
405 goto exit;
406 }
407
408 toc = __vxge_hw_device_toc_get(bar0, legacy_reg);
409 if (toc == NULL) {
411 goto exit;
412 }
413
414 val64 = readq(&toc->toc_common_pointer);
415 common_reg = (struct vxge_hw_common_reg __iomem *)(bar0 + val64);
416
418 (u64 __iomem *)&common_reg->vpath_rst_in_prog);
419 if (status != VXGE_HW_OK)
420 goto exit;
421
422 hw_info->vpath_mask = readq(&common_reg->vpath_assignments);
423
424 val64 = readq(&common_reg->host_type_assignments);
425
426 hw_info->host_type =
428
429 for (i = 0; i < VXGE_HW_MAX_VIRTUAL_PATHS; i++) {
430
431 if (!((hw_info->vpath_mask) & vxge_mBIT(i)))
432 continue;
433
434 val64 = readq(&toc->toc_vpmgmt_pointer[i]);
435
436 vpmgmt_reg = (struct vxge_hw_vpmgmt_reg __iomem *)
437 (bar0 + val64);
438
439 hw_info->func_id = __vxge_hw_vpath_func_id_get(vpmgmt_reg);
441 hw_info->func_id) &
443
444 val64 = readq(&toc->toc_mrpcim_pointer);
445
446 mrpcim_reg = (struct vxge_hw_mrpcim_reg __iomem *)
447 (bar0 + val64);
448
449 writeq(0, &mrpcim_reg->xgmac_gen_fw_memo_mask);
450 wmb();
451 }
452
453 val64 = readq(&toc->toc_vpath_pointer[i]);
454
455 vpath_reg = (struct vxge_hw_vpath_reg __iomem *)(bar0 + val64);
456
457 status = __vxge_hw_vpath_fw_ver_get(vpath_reg, hw_info);
458 if (status != VXGE_HW_OK)
459 goto exit;
460
461 status = __vxge_hw_vpath_card_info_get(vpath_reg, hw_info);
462 if (status != VXGE_HW_OK)
463 goto exit;
464
465 break;
466 }
467
468 for (i = 0; i < VXGE_HW_MAX_VIRTUAL_PATHS; i++) {
469
470 if (!((hw_info->vpath_mask) & vxge_mBIT(i)))
471 continue;
472
473 val64 = readq(&toc->toc_vpath_pointer[i]);
474 vpath_reg = (struct vxge_hw_vpath_reg __iomem *)(bar0 + val64);
475
477 hw_info->mac_addrs[i],
478 hw_info->mac_addr_masks[i]);
479 if (status != VXGE_HW_OK)
480 goto exit;
481 }
482exit:
483 return status;
484}
#define NULL
NULL pointer (VOID *)
Definition Base.h:322
uint8_t status
Status.
Definition ena.h:5
#define __iomem
Definition igbvf_osdep.h:46
#define wmb()
Definition io.h:546
#define readq(io_addr)
Definition io.h:234
#define writeq(data, io_addr)
Definition io.h:273
uint64_t u64
Definition stdint.h:26
void * memset(void *dest, int character, size_t len) __nonnull
struct vxge_hw_device_hw_info - Device information @host_type: Host Type @func_id: Function Id @vpath...
u64 toc_mrpcim_pointer
Definition vxge_reg.h:677
u64 toc_common_pointer
Definition vxge_reg.h:669
u64 toc_vpath_pointer[17]
Definition vxge_reg.h:687
u64 toc_vpmgmt_pointer[17]
Definition vxge_reg.h:683
#define u32
Definition vga.h:21
enum vxge_hw_status __vxge_hw_vpath_card_info_get(struct vxge_hw_vpath_reg __iomem *vpath_reg, struct vxge_hw_device_hw_info *hw_info)
struct vxge_hw_toc_reg __iomem * __vxge_hw_device_toc_get(void __iomem *bar0, struct vxge_hw_legacy_reg __iomem *legacy_reg)
enum vxge_hw_status __vxge_hw_vpath_fw_ver_get(struct vxge_hw_vpath_reg __iomem *vpath_reg, struct vxge_hw_device_hw_info *hw_info)
enum vxge_hw_status __vxge_hw_vpath_addr_get(struct vxge_hw_vpath_reg *vpath_reg, u8(macaddr)[ETH_ALEN], u8(macaddr_mask)[ETH_ALEN])
static struct vxge_hw_legacy_reg __iomem * __vxge_hw_device_get_legacy_reg(struct pci_device *pdev, void __iomem *bar0)
static u32 __vxge_hw_device_access_rights_get(u32 host_type, u32 func_id)
enum vxge_hw_status __vxge_hw_device_vpath_reset_in_prog_check(u64 __iomem *vpath_rst_in_prog)
u32 __vxge_hw_vpath_func_id_get(struct vxge_hw_vpmgmt_reg __iomem *vpmgmt_reg)
#define vxge_trace()
vxge_hw_status
Definition vxge_config.h:70
#define VXGE_HW_DEVICE_ACCESS_RIGHT_MRPCIM
#define VXGE_HW_HOST_TYPE_ASSIGNMENTS_GET_HOST_TYPE_ASSIGNMENTS(bits)
Definition vxge_reg.h:47
#define vxge_mBIT(loc)
Definition vxge_reg.h:24
#define VXGE_HW_MAX_VIRTUAL_PATHS

References __iomem, __vxge_hw_device_access_rights_get(), __vxge_hw_device_get_legacy_reg(), __vxge_hw_device_toc_get(), __vxge_hw_device_vpath_reset_in_prog_check(), __vxge_hw_vpath_addr_get(), __vxge_hw_vpath_card_info_get(), __vxge_hw_vpath_func_id_get(), __vxge_hw_vpath_fw_ver_get(), vxge_hw_device_hw_info::func_id, vxge_hw_device_hw_info::host_type, vxge_hw_common_reg::host_type_assignments, memset(), NULL, readq, status, vxge_hw_toc_reg::toc_common_pointer, vxge_hw_toc_reg::toc_mrpcim_pointer, vxge_hw_toc_reg::toc_vpath_pointer, vxge_hw_toc_reg::toc_vpmgmt_pointer, u32, vxge_hw_common_reg::vpath_assignments, vxge_hw_device_hw_info::vpath_mask, vxge_hw_common_reg::vpath_rst_in_prog, VXGE_HW_DEVICE_ACCESS_RIGHT_MRPCIM, VXGE_HW_ERR_CRITICAL, VXGE_HW_HOST_TYPE_ASSIGNMENTS_GET_HOST_TYPE_ASSIGNMENTS, VXGE_HW_MAX_VIRTUAL_PATHS, VXGE_HW_OK, vxge_mBIT, vxge_trace, wmb, writeq, and vxge_hw_mrpcim_reg::xgmac_gen_fw_memo_mask.

Referenced by vxge_probe().

◆ __vxge_hw_vpath_fw_ver_get()

enum vxge_hw_status __vxge_hw_vpath_fw_ver_get ( struct vxge_hw_vpath_reg __iomem * vpath_reg,
struct vxge_hw_device_hw_info * hw_info )

Definition at line 1057 of file vxge_config.c.

1060{
1061 u64 val64;
1062 u64 data1 = 0ULL;
1063 u64 data2 = 0ULL;
1064 struct vxge_hw_device_version *fw_version = &hw_info->fw_version;
1065 struct vxge_hw_device_date *fw_date = &hw_info->fw_date;
1066 struct vxge_hw_device_version *flash_version = &hw_info->flash_version;
1067 struct vxge_hw_device_date *flash_date = &hw_info->flash_date;
1069
1076
1078 &vpath_reg->rts_access_steer_ctrl,
1081
1082 if (status != VXGE_HW_OK)
1083 goto exit;
1084
1085 val64 = readq(&vpath_reg->rts_access_steer_ctrl);
1086
1088
1089 data1 = readq(&vpath_reg->rts_access_steer_data0);
1090 data2 = readq(&vpath_reg->rts_access_steer_data1);
1091
1092 fw_date->day =
1094 data1);
1095 fw_date->month =
1097 data1);
1098 fw_date->year =
1100 data1);
1101
1102 snprintf(fw_date->date, VXGE_HW_FW_STRLEN, "%d/%d/%d",
1103 fw_date->month, fw_date->day, fw_date->year);
1104
1105 fw_version->major =
1107 fw_version->minor =
1109 fw_version->build =
1111
1112 snprintf(fw_version->version, VXGE_HW_FW_STRLEN, "%d.%d.%d",
1113 fw_version->major, fw_version->minor, fw_version->build);
1114
1115 flash_date->day =
1117 flash_date->month =
1119 flash_date->year =
1121
1122 snprintf(flash_date->date, VXGE_HW_FW_STRLEN, "%d/%d/%d",
1123 flash_date->month, flash_date->day, flash_date->year);
1124
1125 flash_version->major =
1127 flash_version->minor =
1129 flash_version->build =
1131
1132 snprintf(flash_version->version, VXGE_HW_FW_STRLEN, "%d.%d.%d",
1133 flash_version->major, flash_version->minor,
1134 flash_version->build);
1135
1137
1138 } else
1140exit:
1141 return status;
1142}
u32 data1
Definition ar9003_mac.h:4
u32 data2
Definition ar9003_mac.h:6
char date[VXGE_HW_FW_STRLEN]
struct vxge_hw_device_version flash_version
struct vxge_hw_device_date flash_date
struct vxge_hw_device_version fw_version
struct vxge_hw_device_date fw_date
char version[VXGE_HW_FW_STRLEN]
int snprintf(char *buf, size_t size, const char *fmt,...)
Write a formatted string to a buffer.
Definition vsprintf.c:383
static enum vxge_hw_status __vxge_hw_pio_mem_write64(u64 val64, void __iomem *addr, u64 mask, u32 max_millis)
#define VXGE_HW_FW_STRLEN
struct vxge_hw_device_date - Date Format @day: Day @month: Month @year: Year
#define VXGE_HW_DEF_DEVICE_POLL_MILLIS
Definition vxge_config.h:67
#define VXGE_HW_RTS_ACCESS_STEER_CTRL_DATA_STRUCT_SEL(val)
Definition vxge_reg.h:4206
#define VXGE_HW_RTS_ACCESS_STEER_CTRL_OFFSET(val)
Definition vxge_reg.h:4211
#define VXGE_HW_RTS_ACCESS_STEER_CTRL_STROBE
Definition vxge_reg.h:4207
#define VXGE_HW_RTS_ACCESS_STEER_CTRL_DATA_STRUCT_SEL_FW_MEMO
Definition vxge_reg.h:204
#define VXGE_HW_RTS_ACCESS_STEER_DATA0_GET_FW_VER_DAY(bits)
Definition vxge_reg.h:440
#define VXGE_HW_RTS_ACCESS_STEER_CTRL_RMACJ_STATUS
Definition vxge_reg.h:4210
#define VXGE_HW_RTS_ACCESS_STEER_DATA1_GET_FLASH_VER_BUILD(bits)
Definition vxge_reg.h:479
#define VXGE_HW_RTS_ACCESS_STEER_DATA1_GET_FLASH_VER_DAY(bits)
Definition vxge_reg.h:462
#define VXGE_HW_RTS_ACCESS_STEER_DATA1_GET_FLASH_VER_MINOR(bits)
Definition vxge_reg.h:476
#define VXGE_HW_RTS_ACCESS_STEER_DATA1_GET_FLASH_VER_YEAR(bits)
Definition vxge_reg.h:468
#define VXGE_HW_RTS_ACCESS_STEER_CTRL_ACTION_READ_ENTRY
Definition vxge_reg.h:186
#define VXGE_HW_RTS_ACCESS_STEER_DATA0_GET_FW_VER_MAJOR(bits)
Definition vxge_reg.h:451
#define VXGE_HW_RTS_ACCESS_STEER_DATA1_GET_FLASH_VER_MONTH(bits)
Definition vxge_reg.h:465
#define VXGE_HW_RTS_ACCESS_STEER_DATA0_GET_FW_VER_MINOR(bits)
Definition vxge_reg.h:454
#define VXGE_HW_RTS_ACCESS_STEER_DATA1_GET_FLASH_VER_MAJOR(bits)
Definition vxge_reg.h:473
#define VXGE_HW_RTS_ACCESS_STEER_DATA0_GET_FW_VER_BUILD(bits)
Definition vxge_reg.h:457
#define VXGE_HW_RTS_ACCESS_STEER_DATA0_GET_FW_VER_MONTH(bits)
Definition vxge_reg.h:443
#define VXGE_HW_RTS_ACCESS_STEER_DATA0_GET_FW_VER_YEAR(bits)
Definition vxge_reg.h:446
#define VXGE_HW_RTS_ACCESS_STEER_CTRL_ACTION(val)
Definition vxge_reg.h:4205

References __iomem, __vxge_hw_pio_mem_write64(), vxge_hw_device_version::build, data1, data2, vxge_hw_device_date::date, vxge_hw_device_date::day, vxge_hw_device_hw_info::flash_date, vxge_hw_device_hw_info::flash_version, vxge_hw_device_hw_info::fw_date, vxge_hw_device_hw_info::fw_version, vxge_hw_device_version::major, vxge_hw_device_version::minor, vxge_hw_device_date::month, readq, snprintf(), status, u32, vxge_hw_device_version::version, VXGE_HW_DEF_DEVICE_POLL_MILLIS, VXGE_HW_FAIL, VXGE_HW_FW_STRLEN, VXGE_HW_OK, VXGE_HW_RTS_ACCESS_STEER_CTRL_ACTION, VXGE_HW_RTS_ACCESS_STEER_CTRL_ACTION_READ_ENTRY, VXGE_HW_RTS_ACCESS_STEER_CTRL_DATA_STRUCT_SEL, VXGE_HW_RTS_ACCESS_STEER_CTRL_DATA_STRUCT_SEL_FW_MEMO, VXGE_HW_RTS_ACCESS_STEER_CTRL_OFFSET, VXGE_HW_RTS_ACCESS_STEER_CTRL_RMACJ_STATUS, VXGE_HW_RTS_ACCESS_STEER_CTRL_STROBE, VXGE_HW_RTS_ACCESS_STEER_DATA0_GET_FW_VER_BUILD, VXGE_HW_RTS_ACCESS_STEER_DATA0_GET_FW_VER_DAY, VXGE_HW_RTS_ACCESS_STEER_DATA0_GET_FW_VER_MAJOR, VXGE_HW_RTS_ACCESS_STEER_DATA0_GET_FW_VER_MINOR, VXGE_HW_RTS_ACCESS_STEER_DATA0_GET_FW_VER_MONTH, VXGE_HW_RTS_ACCESS_STEER_DATA0_GET_FW_VER_YEAR, VXGE_HW_RTS_ACCESS_STEER_DATA1_GET_FLASH_VER_BUILD, VXGE_HW_RTS_ACCESS_STEER_DATA1_GET_FLASH_VER_DAY, VXGE_HW_RTS_ACCESS_STEER_DATA1_GET_FLASH_VER_MAJOR, VXGE_HW_RTS_ACCESS_STEER_DATA1_GET_FLASH_VER_MINOR, VXGE_HW_RTS_ACCESS_STEER_DATA1_GET_FLASH_VER_MONTH, VXGE_HW_RTS_ACCESS_STEER_DATA1_GET_FLASH_VER_YEAR, and vxge_hw_device_date::year.

Referenced by vxge_hw_device_hw_info_get().

◆ __vxge_hw_vpath_card_info_get()

enum vxge_hw_status __vxge_hw_vpath_card_info_get ( struct vxge_hw_vpath_reg __iomem * vpath_reg,
struct vxge_hw_device_hw_info * hw_info )

Definition at line 936 of file vxge_config.c.

939{
940 u32 i, j;
941 u64 val64;
942 u64 data1 = 0ULL;
943 u64 data2 = 0ULL;
945 u8 *serial_number = hw_info->serial_number;
946 u8 *part_number = hw_info->part_number;
947 u8 *product_desc = hw_info->product_desc;
948
949 __vxge_hw_read_rts_ds(vpath_reg,
951
958
960 &vpath_reg->rts_access_steer_ctrl,
963
964 if (status != VXGE_HW_OK)
965 return status;
966
967 val64 = readq(&vpath_reg->rts_access_steer_ctrl);
968
970 data1 = readq(&vpath_reg->rts_access_steer_data0);
971 ((u64 *)serial_number)[0] = be64_to_cpu(data1);
972
973 data2 = readq(&vpath_reg->rts_access_steer_data1);
974 ((u64 *)serial_number)[1] = be64_to_cpu(data2);
976 } else
977 *serial_number = 0;
978
979 __vxge_hw_read_rts_ds(vpath_reg,
981
988
990 &vpath_reg->rts_access_steer_ctrl,
993
994 if (status != VXGE_HW_OK)
995 return status;
996
997 val64 = readq(&vpath_reg->rts_access_steer_ctrl);
998
1000
1001 data1 = readq(&vpath_reg->rts_access_steer_data0);
1002 ((u64 *)part_number)[0] = be64_to_cpu(data1);
1003
1004 data2 = readq(&vpath_reg->rts_access_steer_data1);
1005 ((u64 *)part_number)[1] = be64_to_cpu(data2);
1006
1008
1009 } else
1010 *part_number = 0;
1011
1012 j = 0;
1013
1016
1017 __vxge_hw_read_rts_ds(vpath_reg, i);
1018
1025
1027 &vpath_reg->rts_access_steer_ctrl,
1030
1031 if (status != VXGE_HW_OK)
1032 return status;
1033
1034 val64 = readq(&vpath_reg->rts_access_steer_ctrl);
1035
1037
1038 data1 = readq(&vpath_reg->rts_access_steer_data0);
1039 ((u64 *)product_desc)[j++] = be64_to_cpu(data1);
1040
1041 data2 = readq(&vpath_reg->rts_access_steer_data1);
1042 ((u64 *)product_desc)[j++] = be64_to_cpu(data2);
1043
1045 } else
1046 *product_desc = 0;
1047 }
1048
1049 return status;
1050}
#define u8
Definition igbvf_osdep.h:40
#define be64_to_cpu(value)
Definition byteswap.h:118
u8 serial_number[VXGE_HW_INFO_LEN]
u8 product_desc[VXGE_HW_INFO_LEN]
u8 part_number[VXGE_HW_INFO_LEN]
static void __vxge_hw_read_rts_ds(struct vxge_hw_vpath_reg __iomem *vpath_reg, u64 dta_struct_sel)
#define VXGE_HW_RTS_ACCESS_STEER_DATA0_MEMO_ITEM_DESC_3
Definition vxge_reg.h:424
#define VXGE_HW_RTS_ACCESS_STEER_DATA0_MEMO_ITEM_DESC_0
Definition vxge_reg.h:421
#define VXGE_HW_RTS_ACCESS_STEER_DATA0_MEMO_ITEM_SERIAL_NUMBER
Definition vxge_reg.h:418
#define VXGE_HW_RTS_ACCESS_STEER_DATA0_MEMO_ITEM_PART_NUMBER
Definition vxge_reg.h:417
#define VXGE_HW_RTS_ACCESS_STEER_CTRL_ACTION_READ_MEMO_ENTRY
Definition vxge_reg.h:188

References __iomem, __vxge_hw_pio_mem_write64(), __vxge_hw_read_rts_ds(), be64_to_cpu, data1, data2, vxge_hw_device_hw_info::part_number, vxge_hw_device_hw_info::product_desc, readq, vxge_hw_device_hw_info::serial_number, status, u32, u8, VXGE_HW_DEF_DEVICE_POLL_MILLIS, VXGE_HW_OK, VXGE_HW_RTS_ACCESS_STEER_CTRL_ACTION, VXGE_HW_RTS_ACCESS_STEER_CTRL_ACTION_READ_MEMO_ENTRY, VXGE_HW_RTS_ACCESS_STEER_CTRL_DATA_STRUCT_SEL, VXGE_HW_RTS_ACCESS_STEER_CTRL_DATA_STRUCT_SEL_FW_MEMO, VXGE_HW_RTS_ACCESS_STEER_CTRL_OFFSET, VXGE_HW_RTS_ACCESS_STEER_CTRL_RMACJ_STATUS, VXGE_HW_RTS_ACCESS_STEER_CTRL_STROBE, VXGE_HW_RTS_ACCESS_STEER_DATA0_MEMO_ITEM_DESC_0, VXGE_HW_RTS_ACCESS_STEER_DATA0_MEMO_ITEM_DESC_3, VXGE_HW_RTS_ACCESS_STEER_DATA0_MEMO_ITEM_PART_NUMBER, and VXGE_HW_RTS_ACCESS_STEER_DATA0_MEMO_ITEM_SERIAL_NUMBER.

Referenced by vxge_hw_device_hw_info_get().

◆ vxge_hw_device_link_state_get()

enum vxge_hw_device_link_state vxge_hw_device_link_state_get ( struct __vxge_hw_device * devh)
inlinestatic

vxge_hw_device_link_state_get - Get link state.

@devh: HW device handle.

Get link state. Returns: link state.

Definition at line 629 of file vxge_config.h.

631{
632 return devh->link_state;
633}
enum vxge_hw_device_link_state link_state

References __vxge_hw_device::link_state.

Referenced by vxge_open().

◆ vxge_hw_device_terminate()

void vxge_hw_device_terminate ( struct __vxge_hw_device * devh)

Definition at line 543 of file vxge_config.c.

544{
545 vxge_trace();
546
547 assert(hldev->magic == VXGE_HW_DEVICE_MAGIC);
548
549 hldev->magic = VXGE_HW_DEVICE_DEAD;
550 free(hldev);
551}
#define assert(condition)
Assert a condition at run-time.
Definition assert.h:50
static void(* free)(struct refcnt *refcnt))
Definition refcnt.h:55
#define VXGE_HW_DEVICE_DEAD
#define VXGE_HW_DEVICE_MAGIC

References assert, free, __vxge_hw_device::magic, VXGE_HW_DEVICE_DEAD, VXGE_HW_DEVICE_MAGIC, and vxge_trace.

Referenced by vxge_hw_device_initialize(), vxge_probe(), and vxge_remove().

◆ vxge_hw_device_initialize()

enum vxge_hw_status vxge_hw_device_initialize ( struct __vxge_hw_device ** devh,
void * bar0,
struct pci_device * pdev,
u8 titan1 )

Definition at line 496 of file vxge_config.c.

501{
502 struct __vxge_hw_device *hldev = NULL;
504
505 vxge_trace();
506
507 hldev = (struct __vxge_hw_device *)
508 zalloc(sizeof(struct __vxge_hw_device));
509 if (hldev == NULL) {
510 vxge_debug(VXGE_ERR, "hldev allocation failed\n");
512 goto exit;
513 }
514
516
517 hldev->bar0 = bar0;
518 hldev->pdev = pdev;
519 hldev->titan1 = titan1;
520
522
524 if (status != VXGE_HW_OK) {
525 vxge_debug(VXGE_ERR, "%s:%d __vxge_hw_device_reg_addr_get "
526 "failed\n", __func__, __LINE__);
528 goto exit;
529 }
530
532
533 *devh = hldev;
534exit:
535 return status;
536}
void * zalloc(size_t size)
Allocate cleared memory.
Definition malloc.c:662
struct __vxge_hw_device - Hal device object @magic: Magic Number @bar0: BAR0 virtual address.
struct pci_device * pdev
void __iomem * bar0
void vxge_hw_device_terminate(struct __vxge_hw_device *hldev)
enum vxge_hw_status __vxge_hw_device_reg_addr_get(struct __vxge_hw_device *hldev)
void __vxge_hw_device_host_info_get(struct __vxge_hw_device *hldev)
void __vxge_hw_device_pci_e_init(struct __vxge_hw_device *hldev)

References __vxge_hw_device_host_info_get(), __vxge_hw_device_pci_e_init(), __vxge_hw_device_reg_addr_get(), __vxge_hw_device::bar0, __vxge_hw_device::magic, NULL, __vxge_hw_device::pdev, status, __vxge_hw_device::titan1, u8, vxge_debug, VXGE_ERR, VXGE_HW_DEVICE_MAGIC, vxge_hw_device_terminate(), VXGE_HW_ERR_OUT_OF_MEMORY, VXGE_HW_OK, vxge_trace, and zalloc().

Referenced by vxge_probe().

◆ vxge_hw_vpath_open()

enum vxge_hw_status vxge_hw_vpath_open ( struct __vxge_hw_device * hldev,
struct vxge_vpath * vpath )

Definition at line 1691 of file vxge_config.c.

1692{
1693 struct __vxge_hw_virtualpath *vpathh;
1695
1696 vxge_trace();
1697
1698 vpathh = &hldev->virtual_path;
1699
1700 if (vpath->vp_open == VXGE_HW_VP_OPEN) {
1702 goto vpath_open_exit1;
1703 }
1704
1706 if (status != VXGE_HW_OK)
1707 goto vpath_open_exit1;
1708
1709 status = __vxge_hw_fifo_create(vpathh, &vpathh->fifoh);
1710 if (status != VXGE_HW_OK)
1711 goto vpath_open_exit2;
1712
1713 status = __vxge_hw_ring_create(vpathh, &vpathh->ringh);
1714 if (status != VXGE_HW_OK)
1715 goto vpath_open_exit3;
1716
1718
1719 return VXGE_HW_OK;
1720
1721vpath_open_exit3:
1722 __vxge_hw_fifo_delete(&vpathh->fifoh);
1723vpath_open_exit2:
1725vpath_open_exit1:
1726 return status;
1727}
struct __vxge_hw_virtualpath virtual_path
struct __vxge_hw_fifo fifoh
struct __vxge_hw_ring ringh
struct __vxge_hw_device * hldev
enum vxge_hw_status __vxge_hw_fifo_delete(struct __vxge_hw_fifo *fifo)
void __vxge_hw_vpath_prc_configure(struct __vxge_hw_device *hldev)
enum vxge_hw_status __vxge_hw_fifo_create(struct __vxge_hw_virtualpath *vpath, struct __vxge_hw_fifo *fifo)
void __vxge_hw_vp_terminate(struct __vxge_hw_device *hldev, struct __vxge_hw_virtualpath *vpath)
enum vxge_hw_status __vxge_hw_vp_initialize(struct __vxge_hw_device *hldev, u32 vp_id, struct __vxge_hw_virtualpath *vpath)
enum vxge_hw_status __vxge_hw_ring_create(struct __vxge_hw_virtualpath *vpath, struct __vxge_hw_ring *ring)
#define VXGE_HW_VP_OPEN

References __vxge_hw_fifo_create(), __vxge_hw_fifo_delete(), __vxge_hw_ring_create(), __vxge_hw_vp_initialize(), __vxge_hw_vp_terminate(), __vxge_hw_vpath_prc_configure(), __vxge_hw_virtualpath::fifoh, __vxge_hw_device::first_vp_id, __vxge_hw_virtualpath::hldev, __vxge_hw_virtualpath::ringh, status, __vxge_hw_device::virtual_path, vxge_vpath::vp_open, VXGE_HW_ERR_INVALID_STATE, VXGE_HW_OK, VXGE_HW_VP_OPEN, and vxge_trace.

Referenced by vxge_open_vpaths().

◆ __vxge_hw_device_vpath_reset_in_prog_check()

enum vxge_hw_status __vxge_hw_device_vpath_reset_in_prog_check ( u64 __iomem * vpath_rst_in_prog)

Definition at line 179 of file vxge_config.c.

180{
182
183 vxge_trace();
184
188 return status;
189}
enum vxge_hw_status __vxge_hw_device_register_poll(void __iomem *reg, u64 mask, u32 max_millis)
#define VXGE_HW_VPATH_RST_IN_PROG_VPATH_RST_IN_PROG(val)
Definition vxge_reg.h:859
u64 vpath_rst_in_prog
Definition vxge_reg.h:151

References __iomem, __vxge_hw_device_register_poll(), status, vpath_rst_in_prog, VXGE_HW_DEF_DEVICE_POLL_MILLIS, VXGE_HW_VPATH_RST_IN_PROG_VPATH_RST_IN_PROG, and vxge_trace.

Referenced by __vxge_hw_device_reg_addr_get(), and vxge_hw_device_hw_info_get().

◆ vxge_hw_vpath_close()

enum vxge_hw_status vxge_hw_vpath_close ( struct __vxge_hw_virtualpath * vpath)

Definition at line 1761 of file vxge_config.c.

1762{
1763 struct __vxge_hw_device *devh = NULL;
1764 u32 vp_id = vpath->vp_id;
1766
1767 vxge_trace();
1768
1769 devh = vpath->hldev;
1770
1771 if (vpath->vp_open == VXGE_HW_VP_NOT_OPEN) {
1773 goto vpath_close_exit;
1774 }
1775
1776 devh->vpaths_deployed &= ~vxge_mBIT(vp_id);
1777
1779
1781
1782 __vxge_hw_vp_terminate(devh, vpath);
1783
1785
1786vpath_close_exit:
1787 return status;
1788}
enum vxge_hw_status __vxge_hw_ring_delete(struct __vxge_hw_ring *ring)
#define VXGE_HW_VP_NOT_OPEN

References __vxge_hw_fifo_delete(), __vxge_hw_ring_delete(), __vxge_hw_vp_terminate(), __vxge_hw_virtualpath::fifoh, __vxge_hw_virtualpath::hldev, NULL, __vxge_hw_virtualpath::ringh, status, u32, __vxge_hw_virtualpath::vp_id, __vxge_hw_virtualpath::vp_open, __vxge_hw_device::vpaths_deployed, VXGE_HW_ERR_VPATH_NOT_OPEN, VXGE_HW_OK, VXGE_HW_VP_NOT_OPEN, vxge_mBIT, and vxge_trace.

Referenced by vxge_close_vpaths().

◆ vxge_hw_vpath_reset()

enum vxge_hw_status vxge_hw_vpath_reset ( struct __vxge_hw_virtualpath * vpath)

Definition at line 1794 of file vxge_config.c.

1795{
1797 u32 vp_id;
1798
1799 vxge_trace();
1800
1801 vp_id = vpath->vp_id;
1802
1803 if (vpath->vp_open == VXGE_HW_VP_NOT_OPEN) {
1805 goto exit;
1806 }
1807
1808 status = __vxge_hw_vpath_reset(vpath->hldev, vp_id);
1809exit:
1810 return status;
1811}
enum vxge_hw_status __vxge_hw_vpath_reset(struct __vxge_hw_device *hldev, u32 vp_id)

References __vxge_hw_vpath_reset(), __vxge_hw_virtualpath::hldev, status, u32, __vxge_hw_virtualpath::vp_id, __vxge_hw_virtualpath::vp_open, VXGE_HW_ERR_VPATH_NOT_OPEN, VXGE_HW_VP_NOT_OPEN, and vxge_trace.

Referenced by vxge_reset_all_vpaths().

◆ vxge_hw_vpath_recover_from_reset()

enum vxge_hw_status vxge_hw_vpath_recover_from_reset ( struct __vxge_hw_virtualpath * vpath)

Definition at line 1819 of file vxge_config.c.

1820{
1822 struct __vxge_hw_device *hldev;
1823 u32 vp_id;
1824
1825 vxge_trace();
1826
1827 vp_id = vpath->vp_id;
1828 hldev = vpath->hldev;
1829
1830 if (vpath->vp_open == VXGE_HW_VP_NOT_OPEN) {
1832 goto exit;
1833 }
1834
1836 if (status != VXGE_HW_OK)
1837 goto exit;
1838
1839 status = __vxge_hw_vpath_initialize(hldev, vp_id);
1840 if (status != VXGE_HW_OK)
1841 goto exit;
1842
1844
1845exit:
1846 return status;
1847}
enum vxge_hw_status __vxge_hw_vpath_reset_check(struct __vxge_hw_virtualpath *vpath)
enum vxge_hw_status __vxge_hw_vpath_initialize(struct __vxge_hw_device *hldev, u32 vp_id)

References __vxge_hw_vpath_initialize(), __vxge_hw_vpath_prc_configure(), __vxge_hw_vpath_reset_check(), __vxge_hw_virtualpath::hldev, status, u32, __vxge_hw_virtualpath::vp_id, __vxge_hw_virtualpath::vp_open, VXGE_HW_ERR_VPATH_NOT_OPEN, VXGE_HW_OK, VXGE_HW_VP_NOT_OPEN, and vxge_trace.

Referenced by vxge_reset_all_vpaths().

◆ vxge_hw_vpath_enable()

void vxge_hw_vpath_enable ( struct __vxge_hw_virtualpath * vpath)

Definition at line 1855 of file vxge_config.c.

1856{
1857 struct __vxge_hw_device *hldev;
1858 u64 val64;
1859
1860 vxge_trace();
1861
1862 hldev = vpath->hldev;
1863
1865 1 << (16 - vpath->vp_id));
1866
1868 &hldev->common_reg->cmn_rsthdlr_cfg1);
1869}
struct vxge_hw_common_reg * common_reg
static void __vxge_hw_pio_mem_write32_upper(u32 val, void __iomem *addr)
#define VXGE_HW_CMN_RSTHDLR_CFG1_CLR_VPATH_RESET(val)
Definition vxge_reg.h:765

References __vxge_hw_pio_mem_write32_upper(), vxge_hw_common_reg::cmn_rsthdlr_cfg1, __vxge_hw_device::common_reg, __vxge_hw_virtualpath::hldev, u32, __vxge_hw_virtualpath::vp_id, vxge_bVALn, VXGE_HW_CMN_RSTHDLR_CFG1_CLR_VPATH_RESET, and vxge_trace.

Referenced by vxge_open().

◆ vxge_hw_vpath_mtu_set()

enum vxge_hw_status vxge_hw_vpath_mtu_set ( struct __vxge_hw_virtualpath * vpath,
u32 new_mtu )

Definition at line 1662 of file vxge_config.c.

1663{
1664 u64 val64;
1666
1667 vxge_trace();
1668
1669 new_mtu += VXGE_HW_MAC_HEADER_MAX_SIZE;
1670
1671 if ((new_mtu < VXGE_HW_MIN_MTU) || (new_mtu > vpath->max_mtu))
1673
1674 val64 = readq(&vpath->vp_reg->rxmac_vcfg0);
1675
1676 val64 &= ~VXGE_HW_RXMAC_VCFG0_RTS_MAX_FRM_LEN(0x3fff);
1677 val64 |= VXGE_HW_RXMAC_VCFG0_RTS_MAX_FRM_LEN(new_mtu);
1678
1679 writeq(val64, &vpath->vp_reg->rxmac_vcfg0);
1680
1681 return status;
1682}
struct vxge_hw_vpath_reg * vp_reg
#define VXGE_HW_MIN_MTU
Definition vxge_config.h:34
#define VXGE_HW_RXMAC_VCFG0_RTS_MAX_FRM_LEN(val)
Definition vxge_reg.h:4193
#define VXGE_HW_MAC_HEADER_MAX_SIZE

References __vxge_hw_virtualpath::max_mtu, readq, vxge_hw_vpath_reg::rxmac_vcfg0, status, u32, __vxge_hw_virtualpath::vp_reg, VXGE_HW_ERR_INVALID_MTU_SIZE, VXGE_HW_MAC_HEADER_MAX_SIZE, VXGE_HW_MIN_MTU, VXGE_HW_OK, VXGE_HW_RXMAC_VCFG0_RTS_MAX_FRM_LEN, vxge_trace, and writeq.

Referenced by vxge_open().

◆ vxge_hw_vpath_rx_doorbell_init()

void vxge_hw_vpath_rx_doorbell_init ( struct __vxge_hw_virtualpath * vpath)

Definition at line 1738 of file vxge_config.c.

1739{
1740 u64 new_count, val64;
1741
1742 vxge_trace();
1743
1744 if (vpath->hldev->titan1) {
1745 new_count = readq(&vpath->vp_reg->rxdmem_size);
1746 new_count &= 0x1fff;
1747 } else
1748 new_count = VXGE_HW_RING_RXD_QWORDS_MODE_1 * 4;
1749
1750 val64 = (VXGE_HW_RXDMEM_SIZE_PRC_RXDMEM_SIZE(new_count));
1751
1753 &vpath->vp_reg->prc_rxd_doorbell);
1754}
#define VXGE_HW_RING_RXD_QWORDS_MODE_1
#define VXGE_HW_PRC_RXD_DOORBELL_NEW_QW_CNT(val)
Definition vxge_reg.h:4099
#define VXGE_HW_RXDMEM_SIZE_PRC_RXDMEM_SIZE(val)
Definition vxge_reg.h:4103

References __vxge_hw_virtualpath::hldev, vxge_hw_vpath_reg::prc_rxd_doorbell, readq, vxge_hw_vpath_reg::rxdmem_size, __vxge_hw_device::titan1, __vxge_hw_virtualpath::vp_reg, VXGE_HW_PRC_RXD_DOORBELL_NEW_QW_CNT, VXGE_HW_RING_RXD_QWORDS_MODE_1, VXGE_HW_RXDMEM_SIZE_PRC_RXDMEM_SIZE, vxge_trace, and writeq.

Referenced by vxge_open().

◆ __vxge_hw_device_pci_e_init()

void __vxge_hw_device_pci_e_init ( struct __vxge_hw_device * hldev)

Definition at line 127 of file vxge_config.c.

128{
129 u16 cmd = 0;
130 struct pci_device *pdev = hldev->pdev;
131
132 vxge_trace();
133
134 /* Set the PErr Repconse bit and SERR in PCI command register. */
136 cmd |= 0x140;
138
139 return;
140}
struct golan_eqe_cmd cmd
Definition CIB_PRM.h:1
int pci_read_config_word(struct pci_device *pci, unsigned int where, uint16_t *value)
Read 16-bit word from PCI configuration space.
int pci_write_config_word(struct pci_device *pci, unsigned int where, uint16_t value)
Write 16-bit word to PCI configuration space.
#define PCI_COMMAND
PCI command.
Definition pci.h:26
A PCI device.
Definition pci.h:211
#define u16
Definition vga.h:20

References cmd, PCI_COMMAND, pci_read_config_word(), pci_write_config_word(), __vxge_hw_device::pdev, u16, and vxge_trace.

Referenced by vxge_hw_device_initialize().

◆ __vxge_hw_legacy_swapper_set()

enum vxge_hw_status __vxge_hw_legacy_swapper_set ( struct vxge_hw_legacy_reg __iomem * legacy_reg)

Definition at line 684 of file vxge_config.c.

685{
686 u64 val64;
688
689 vxge_trace();
690
691 val64 = readq(&legacy_reg->toc_swapper_fb);
692
693 wmb();
694
695 switch (val64) {
696
698 return status;
699
702 &legacy_reg->pifm_rd_swap_en);
704 &legacy_reg->pifm_rd_flip_en);
706 &legacy_reg->pifm_wr_swap_en);
708 &legacy_reg->pifm_wr_flip_en);
709 break;
710
713 &legacy_reg->pifm_rd_swap_en);
715 &legacy_reg->pifm_wr_swap_en);
716 break;
717
720 &legacy_reg->pifm_rd_flip_en);
722 &legacy_reg->pifm_wr_flip_en);
723 break;
724 }
725
726 wmb();
727
728 val64 = readq(&legacy_reg->toc_swapper_fb);
731
732 return status;
733}
#define VXGE_HW_SWAPPER_WRITE_BYTE_SWAP_ENABLE
Definition vxge_reg.h:633
#define VXGE_HW_SWAPPER_READ_BIT_FLAP_ENABLE
Definition vxge_reg.h:630
#define VXGE_HW_SWAPPER_INITIAL_VALUE
Definition vxge_reg.h:622
#define VXGE_HW_SWAPPER_BIT_FLIPPED
Definition vxge_reg.h:624
#define VXGE_HW_SWAPPER_WRITE_BIT_FLAP_ENABLE
Definition vxge_reg.h:636
#define VXGE_HW_SWAPPER_BYTE_SWAPPED
Definition vxge_reg.h:623
#define VXGE_HW_SWAPPER_READ_BYTE_SWAP_ENABLE
Definition vxge_reg.h:627
#define VXGE_HW_SWAPPER_BYTE_SWAPPED_BIT_FLIPPED
Definition vxge_reg.h:625

References __iomem, __vxge_hw_device::legacy_reg, vxge_hw_legacy_reg::pifm_rd_flip_en, vxge_hw_legacy_reg::pifm_rd_swap_en, vxge_hw_legacy_reg::pifm_wr_flip_en, vxge_hw_legacy_reg::pifm_wr_swap_en, readq, status, vxge_hw_legacy_reg::toc_swapper_fb, VXGE_HW_ERR_SWAPPER_CTRL, VXGE_HW_OK, VXGE_HW_SWAPPER_BIT_FLIPPED, VXGE_HW_SWAPPER_BYTE_SWAPPED, VXGE_HW_SWAPPER_BYTE_SWAPPED_BIT_FLIPPED, VXGE_HW_SWAPPER_INITIAL_VALUE, VXGE_HW_SWAPPER_READ_BIT_FLAP_ENABLE, VXGE_HW_SWAPPER_READ_BYTE_SWAP_ENABLE, VXGE_HW_SWAPPER_WRITE_BIT_FLAP_ENABLE, VXGE_HW_SWAPPER_WRITE_BYTE_SWAP_ENABLE, vxge_trace, wmb, and writeq.

Referenced by __vxge_hw_device_get_legacy_reg(), and __vxge_hw_vpath_initialize().

◆ __vxge_hw_vpath_swapper_set()

enum vxge_hw_status __vxge_hw_vpath_swapper_set ( struct vxge_hw_vpath_reg __iomem * vpath_reg)

Definition at line 740 of file vxge_config.c.

741{
742 vxge_trace();
743
744#if (__BYTE_ORDER != __BIG_ENDIAN)
745 u64 val64;
746
747 val64 = readq(&vpath_reg->vpath_general_cfg1);
748 wmb();
750 writeq(val64, &vpath_reg->vpath_general_cfg1);
751 wmb();
752#endif
753 return VXGE_HW_OK;
754}
#define VXGE_HW_VPATH_GENERAL_CFG1_CTL_BYTE_SWAPEN
Definition vxge_reg.h:4580

References __iomem, readq, vxge_hw_vpath_reg::vpath_general_cfg1, __vxge_hw_device::vpath_reg, VXGE_HW_OK, VXGE_HW_VPATH_GENERAL_CFG1_CTL_BYTE_SWAPEN, vxge_trace, wmb, and writeq.

Referenced by __vxge_hw_vpath_initialize().

◆ __vxge_hw_kdfc_swapper_set()

enum vxge_hw_status __vxge_hw_kdfc_swapper_set ( struct vxge_hw_legacy_reg __iomem * legacy_reg,
struct vxge_hw_vpath_reg __iomem * vpath_reg )

Definition at line 761 of file vxge_config.c.

764{
765 u64 val64;
766
767 vxge_trace();
768
769 val64 = readq(&legacy_reg->pifm_wr_swap_en);
770
772 val64 = readq(&vpath_reg->kdfcctl_cfg0);
773 wmb();
774
778
779 writeq(val64, &vpath_reg->kdfcctl_cfg0);
780 wmb();
781 }
782
783 return VXGE_HW_OK;
784}
#define VXGE_HW_KDFCCTL_CFG0_BYTE_SWAPEN_FIFO0
Definition vxge_reg.h:4593
#define VXGE_HW_KDFCCTL_CFG0_BYTE_SWAPEN_FIFO1
Definition vxge_reg.h:4594
#define VXGE_HW_KDFCCTL_CFG0_BYTE_SWAPEN_FIFO2
Definition vxge_reg.h:4595

References __iomem, vxge_hw_vpath_reg::kdfcctl_cfg0, __vxge_hw_device::legacy_reg, vxge_hw_legacy_reg::pifm_wr_swap_en, readq, __vxge_hw_device::vpath_reg, VXGE_HW_KDFCCTL_CFG0_BYTE_SWAPEN_FIFO0, VXGE_HW_KDFCCTL_CFG0_BYTE_SWAPEN_FIFO1, VXGE_HW_KDFCCTL_CFG0_BYTE_SWAPEN_FIFO2, VXGE_HW_OK, VXGE_HW_SWAPPER_WRITE_BYTE_SWAP_ENABLE, vxge_trace, wmb, and writeq.

Referenced by __vxge_hw_vpath_kdfc_configure().

◆ __vxge_hw_device_register_poll()

enum vxge_hw_status __vxge_hw_device_register_poll ( void __iomem * reg,
u64 mask,
u32 max_millis )

Definition at line 148 of file vxge_config.c.

149{
150 u64 val64;
151 u32 i = 0;
152 enum vxge_hw_status ret = VXGE_HW_FAIL;
153
154 udelay(10);
155
156 do {
157 val64 = readq(reg);
158 if (!(val64 & mask))
159 return VXGE_HW_OK;
160 udelay(100);
161 } while (++i <= 9);
162
163 i = 0;
164 do {
165 val64 = readq(reg);
166 if (!(val64 & mask))
167 return VXGE_HW_OK;
168 udelay(1000);
169 } while (++i <= max_millis);
170
171 return ret;
172}
static unsigned int unsigned int reg
Definition myson.h:162
void udelay(unsigned long usecs)
Delay for a fixed number of microseconds.
Definition timer.c:61

References __iomem, readq, reg, u32, udelay(), VXGE_HW_FAIL, and VXGE_HW_OK.

Referenced by __vxge_hw_device_vpath_reset_in_prog_check(), __vxge_hw_pio_mem_write64(), __vxge_hw_vpath_pci_read(), __vxge_hw_vpath_reset_check(), and vxge_hw_set_fw_api().

◆ __vxge_hw_pio_mem_write32_upper()

void __vxge_hw_pio_mem_write32_upper ( u32 val,
void __iomem * addr )
inlinestatic

◆ __vxge_hw_pio_mem_write32_lower()

void __vxge_hw_pio_mem_write32_lower ( u32 val,
void __iomem * addr )
inlinestatic

Definition at line 708 of file vxge_config.h.

709{
710 writel(val, addr);
711}

References __iomem, addr, u32, val, and writel.

Referenced by __vxge_hw_pio_mem_write64().

◆ __vxge_hw_pio_mem_write64()

enum vxge_hw_status __vxge_hw_pio_mem_write64 ( u64 val64,
void __iomem * addr,
u64 mask,
u32 max_millis )
inlinestatic

Definition at line 714 of file vxge_config.h.

716{
718
720 wmb();
722 wmb();
723
724 status = __vxge_hw_device_register_poll(addr, mask, max_millis);
725 return status;
726}
enum vxge_hw_status __vxge_hw_device_register_poll(void __iomem *reg, u64 mask, u32 max_millis)
static void __vxge_hw_pio_mem_write32_lower(u32 val, void __iomem *addr)

References __iomem, __vxge_hw_device_register_poll(), __vxge_hw_pio_mem_write32_lower(), __vxge_hw_pio_mem_write32_upper(), addr, status, u32, vxge_bVALn, VXGE_HW_OK, and wmb.

Referenced by __vxge_hw_vpath_addr_get(), __vxge_hw_vpath_card_info_get(), and __vxge_hw_vpath_fw_ver_get().

◆ __vxge_hw_device_host_info_get()

void __vxge_hw_device_host_info_get ( struct __vxge_hw_device * hldev)

Definition at line 348 of file vxge_config.c.

349{
350 u64 val64;
351 u32 i;
352
353 val64 = readq(&hldev->common_reg->host_type_assignments);
354
355 hldev->host_type =
357
359
360 for (i = 0; i < VXGE_HW_MAX_VIRTUAL_PATHS; i++) {
361
362 if (!(hldev->vpath_assignments & vxge_mBIT(i)))
363 continue;
364
365 hldev->func_id =
367
369 hldev->host_type, hldev->func_id);
370
371 hldev->first_vp_id = i;
372 break;
373 }
374
375 return;
376}
struct vxge_hw_vpmgmt_reg * vpmgmt_reg[VXGE_HW_TITAN_VPMGMT_REG_SPACES]

References __vxge_hw_device_access_rights_get(), __vxge_hw_vpath_func_id_get(), __vxge_hw_device::access_rights, __vxge_hw_device::common_reg, __vxge_hw_device::first_vp_id, __vxge_hw_device::func_id, __vxge_hw_device::host_type, vxge_hw_common_reg::host_type_assignments, readq, u32, __vxge_hw_device::vpath_assignments, vxge_hw_common_reg::vpath_assignments, __vxge_hw_device::vpmgmt_reg, VXGE_HW_HOST_TYPE_ASSIGNMENTS_GET_HOST_TYPE_ASSIGNMENTS, VXGE_HW_MAX_VIRTUAL_PATHS, and vxge_mBIT.

Referenced by vxge_hw_device_initialize().

◆ __vxge_hw_device_initialize()

enum vxge_hw_status __vxge_hw_device_initialize ( struct __vxge_hw_device * hldev)

References offset, u32, and val.

◆ __vxge_hw_vpath_pci_read()

enum vxge_hw_status __vxge_hw_vpath_pci_read ( struct __vxge_hw_virtualpath * vpath,
u32 phy_func_0,
u32 offset,
u32 * val )

Definition at line 865 of file vxge_config.c.

867{
868 u64 val64;
870 struct vxge_hw_vpath_reg __iomem *vp_reg = vpath->vp_reg;
871
873
874 if (phy_func_0)
876
877 writeq(val64, &vp_reg->pci_config_access_cfg1);
878 wmb();
880 &vp_reg->pci_config_access_cfg2);
881 wmb();
882
884 &vp_reg->pci_config_access_cfg2,
886
887 if (status != VXGE_HW_OK)
888 goto exit;
889
890 val64 = readq(&vp_reg->pci_config_access_status);
891
894 *val = 0;
895 } else
896 *val = (u32)vxge_bVALn(val64, 32, 32);
897exit:
898 return status;
899}
u64 pci_config_access_status
Definition vxge_reg.h:4653
#define VXGE_HW_PCI_CONFIG_ACCESS_CFG1_ADDRESS(val)
Definition vxge_reg.h:4649
#define VXGE_HW_PCI_CONFIG_ACCESS_STATUS_ACCESS_ERR
Definition vxge_reg.h:4654
#define VXGE_HW_PCI_CONFIG_ACCESS_CFG1_SEL_FUNC0
Definition vxge_reg.h:4650
#define VXGE_HW_PCI_CONFIG_ACCESS_CFG2_REQ
Definition vxge_reg.h:4652
#define VXGE_HW_INTR_MASK_ALL

References __iomem, __vxge_hw_device_register_poll(), offset, vxge_hw_vpath_reg::pci_config_access_cfg1, vxge_hw_vpath_reg::pci_config_access_cfg2, vxge_hw_vpath_reg::pci_config_access_status, readq, status, u32, val, __vxge_hw_virtualpath::vp_reg, vxge_bVALn, VXGE_HW_DEF_DEVICE_POLL_MILLIS, VXGE_HW_FAIL, VXGE_HW_INTR_MASK_ALL, VXGE_HW_OK, VXGE_HW_PCI_CONFIG_ACCESS_CFG1_ADDRESS, VXGE_HW_PCI_CONFIG_ACCESS_CFG1_SEL_FUNC0, VXGE_HW_PCI_CONFIG_ACCESS_CFG2_REQ, VXGE_HW_PCI_CONFIG_ACCESS_STATUS_ACCESS_ERR, wmb, and writeq.

Referenced by __vxge_hw_vpath_initialize().

◆ __vxge_hw_vpath_addr_get()

enum vxge_hw_status __vxge_hw_vpath_addr_get ( struct vxge_hw_vpath_reg __iomem * vpath_reg,
u8(macaddr) [ETH_ALEN],
u8(macaddr_mask) [ETH_ALEN] )

References __iomem, ETH_ALEN, u32, and u8.

◆ __vxge_hw_vpath_func_id_get()

u32 __vxge_hw_vpath_func_id_get ( struct vxge_hw_vpmgmt_reg __iomem * vpmgmt_reg)

Definition at line 906 of file vxge_config.c.

907{
908 u64 val64;
909
910 val64 = readq(&vpmgmt_reg->vpath_to_func_map_cfg1);
911
912 return
914}
#define VXGE_HW_VPATH_TO_FUNC_MAP_CFG1_GET_VPATH_TO_FUNC_MAP_CFG1(bits)
Definition vxge_reg.h:45

References __iomem, readq, u32, and VXGE_HW_VPATH_TO_FUNC_MAP_CFG1_GET_VPATH_TO_FUNC_MAP_CFG1.

Referenced by __vxge_hw_device_host_info_get(), and vxge_hw_device_hw_info_get().

◆ __vxge_hw_vpath_reset_check()

◆ vxge_hw_vpath_strip_fcs_check()

enum vxge_hw_status vxge_hw_vpath_strip_fcs_check ( struct __vxge_hw_device * hldev,
u64 vpath_mask )

Definition at line 790 of file vxge_config.c.

791{
792 struct vxge_hw_vpmgmt_reg __iomem *vpmgmt_reg;
794 int i = 0, j = 0;
795
796 for (i = 0; i < VXGE_HW_MAX_VIRTUAL_PATHS; i++) {
797 if (!((vpath_mask) & vxge_mBIT(i)))
798 continue;
799 vpmgmt_reg = hldev->vpmgmt_reg[i];
800 for (j = 0; j < VXGE_HW_MAC_MAX_MAC_PORT_ID; j++) {
801 if (readq(&vpmgmt_reg->rxmac_cfg0_port_vpmgmt_clone[j])
803 return VXGE_HW_FAIL;
804 }
805 }
806 return status;
807}
u64 rxmac_cfg0_port_vpmgmt_clone[3]
Definition vxge_reg.h:3916
#define VXGE_HW_RXMAC_CFG0_PORT_VPMGMT_CLONE_STRIP_FCS
Definition vxge_reg.h:3918
#define VXGE_HW_MAC_MAX_MAC_PORT_ID

References __iomem, readq, vxge_hw_vpmgmt_reg::rxmac_cfg0_port_vpmgmt_clone, status, __vxge_hw_device::vpmgmt_reg, VXGE_HW_FAIL, VXGE_HW_MAC_MAX_MAC_PORT_ID, VXGE_HW_MAX_VIRTUAL_PATHS, VXGE_HW_OK, VXGE_HW_RXMAC_CFG0_PORT_VPMGMT_CLONE_STRIP_FCS, and vxge_mBIT.

Referenced by vxge_probe().

◆ vxge_hw_get_func_mode()

enum vxge_hw_status vxge_hw_get_func_mode ( struct __vxge_hw_device * hldev,
u32 * func_mode )

Definition at line 98 of file vxge_config.c.

99{
101 struct vxge_hw_vpath_reg __iomem *vp_reg;
102 u64 val64;
103 int vp_id;
104
105 /* get the first vpath number assigned to this function */
106 vp_id = hldev->first_vp_id;
107
108 vp_reg = (struct vxge_hw_vpath_reg __iomem *)hldev->vpath_reg[vp_id];
109
110 status = vxge_hw_set_fw_api(hldev, vp_id,
112
113 if (status == VXGE_HW_OK) {
114 val64 = readq(&vp_reg->rts_access_steer_data0);
115 *func_mode = VXGE_HW_GET_FUNC_MODE_VAL(val64);
116 }
117
118 return status;
119}
struct vxge_hw_vpath_reg * vpath_reg[VXGE_HW_TITAN_VPATH_REG_SPACES]
enum vxge_hw_status vxge_hw_set_fw_api(struct __vxge_hw_device *hldev, u64 vp_id, u32 action, u32 offset, u64 data0, u64 data1)
Definition vxge_config.c:48
#define VXGE_HW_FW_API_GET_FUNC_MODE
Definition vxge_reg.h:65
#define VXGE_HW_GET_FUNC_MODE_VAL(val)
Definition vxge_reg.h:67

References __iomem, __vxge_hw_device::first_vp_id, readq, vxge_hw_vpath_reg::rts_access_steer_data0, status, u32, __vxge_hw_device::vpath_reg, VXGE_HW_FW_API_GET_FUNC_MODE, VXGE_HW_GET_FUNC_MODE_VAL, VXGE_HW_OK, and vxge_hw_set_fw_api().

Referenced by vxge_probe().

◆ vxge_hw_set_fw_api()

enum vxge_hw_status vxge_hw_set_fw_api ( struct __vxge_hw_device * hldev,
u64 vp_id,
u32 action,
u32 offset,
u64 data0,
u64 data1 )

Definition at line 48 of file vxge_config.c.

54{
56 u64 val64;
58
59 struct vxge_hw_vpath_reg __iomem *vp_reg;
60
61 vp_reg = (struct vxge_hw_vpath_reg __iomem *)hldev->vpath_reg[vp_id];
62
63 writeq(data0, &vp_reg->rts_access_steer_data0);
64 writeq(data1, &vp_reg->rts_access_steer_data1);
65
66 wmb();
67
72
73 writeq(val64, &vp_reg->rts_access_steer_ctrl);
74
75 wmb();
76
78 &vp_reg->rts_access_steer_ctrl,
82
83 if (status != VXGE_HW_OK)
84 return VXGE_HW_FAIL;
85
86 val64 = readq(&vp_reg->rts_access_steer_ctrl);
87
90 else
92
93 return status;
94}
u32 data0
Definition ar9003_mac.h:2
#define WAIT_FACTOR
Definition vxge_config.h:28

References __iomem, __vxge_hw_device_register_poll(), data0, data1, offset, readq, vxge_hw_vpath_reg::rts_access_steer_ctrl, vxge_hw_vpath_reg::rts_access_steer_data0, vxge_hw_vpath_reg::rts_access_steer_data1, status, u32, __vxge_hw_device::vpath_reg, VXGE_HW_DEF_DEVICE_POLL_MILLIS, VXGE_HW_FAIL, VXGE_HW_OK, VXGE_HW_RTS_ACCESS_STEER_CTRL_ACTION, VXGE_HW_RTS_ACCESS_STEER_CTRL_DATA_STRUCT_SEL, VXGE_HW_RTS_ACCESS_STEER_CTRL_DATA_STRUCT_SEL_FW_MEMO, VXGE_HW_RTS_ACCESS_STEER_CTRL_OFFSET, VXGE_HW_RTS_ACCESS_STEER_CTRL_RMACJ_STATUS, VXGE_HW_RTS_ACCESS_STEER_CTRL_STROBE, WAIT_FACTOR, wmb, and writeq.

Referenced by vxge_hw_get_func_mode().

◆ vxge_hw_vpath_set_zero_rx_frm_len()

void vxge_hw_vpath_set_zero_rx_frm_len ( struct __vxge_hw_device * hldev)

Definition at line 31 of file vxge_config.c.

32{
33 u64 val64;
34 struct __vxge_hw_virtualpath *vpath;
35 struct vxge_hw_vpath_reg __iomem *vp_reg;
36
37 vpath = &hldev->virtual_path;
38 vp_reg = vpath->vp_reg;
39
40 val64 = readq(&vp_reg->rxmac_vcfg0);
42 writeq(val64, &vp_reg->rxmac_vcfg0);
43 val64 = readq(&vp_reg->rxmac_vcfg0);
44 return;
45}

References __iomem, readq, vxge_hw_vpath_reg::rxmac_vcfg0, __vxge_hw_device::virtual_path, __vxge_hw_virtualpath::vp_reg, VXGE_HW_RXMAC_VCFG0_RTS_MAX_FRM_LEN, and writeq.

Referenced by vxge_close().

Variable Documentation

◆ debug_filter

const u16 debug_filter = VXGE_ERR
static

vxge_debug @mask: mask for the debug @fmt: printf like format string

Definition at line 761 of file vxge_config.h.