iPXE
vxge_main.h File Reference
#include <unistd.h>
#include "vxge_traffic.h"
#include "vxge_config.h"

Go to the source code of this file.

Data Structures

struct  vxge_fifo
struct  vxge_ring
struct  vxge_vpath
struct  vxgedev

Macros

#define VXGE_MAIN_H
#define VXGE_DRIVER_NAME   "vxge"
#define VXGE_DRIVER_VENDOR   "Neterion, Inc"
#define PCI_VENDOR_ID_S2IO   0x17D5
#define PCI_DEVICE_ID_TITAN_WIN   0x5733
#define PCI_DEVICE_ID_TITAN_UNI   0x5833
#define VXGE_HW_TITAN1_PCI_REVISION   1
#define VXGE_HW_TITAN1A_PCI_REVISION   2
#define VXGE_HP_ISS_SUBSYS_VENDORID   0x103C
#define VXGE_HP_ISS_SUBSYS_DEVICEID_1   0x323B
#define VXGE_HP_ISS_SUBSYS_DEVICEID_2   0x323C
#define VXGE_USE_DEFAULT   0xffffffff
#define VXGE_HW_VPATH_MSIX_ACTIVE   4
#define VXGE_ALARM_MSIX_ID   2
#define VXGE_HW_RXSYNC_FREQ_CNT   4
#define VXGE_LL_RX_COPY_THRESHOLD   256
#define VXGE_DEF_FIFO_LENGTH   84
#define NO_STEERING   0
#define PORT_STEERING   0x1
#define RTH_TCP_UDP_STEERING   0x2
#define RTH_IPV4_STEERING   0x3
#define RTH_IPV6_EX_STEERING   0x4
#define RTH_BUCKET_SIZE   8
#define TX_PRIORITY_STEERING   1
#define TX_VLAN_STEERING   2
#define TX_PORT_STEERING   3
#define TX_MULTIQ_STEERING   4
#define VXGE_HW_PROM_MODE_ENABLE   1
#define VXGE_HW_PROM_MODE_DISABLE   0
#define VXGE_HW_FW_UPGRADE_DISABLE   0
#define VXGE_HW_FW_UPGRADE_ALL   1
#define VXGE_HW_FW_UPGRADE_FORCE   2
#define VXGE_HW_FUNC_MODE_DISABLE   0
#define VXGE_TTI_BTIMER_VAL   250000
#define VXGE_T1A_TTI_LTIMER_VAL   80
#define VXGE_T1A_TTI_RTIMER_VAL   400
#define VXGE_TTI_LTIMER_VAL   1000
#define VXGE_TTI_RTIMER_VAL   0
#define VXGE_RTI_BTIMER_VAL   250
#define VXGE_RTI_LTIMER_VAL   100
#define VXGE_RTI_RTIMER_VAL   0
#define VXGE_FIFO_INDICATE_MAX_PKTS   VXGE_DEF_FIFO_LENGTH
#define VXGE_ISR_POLLING_CNT   8
#define VXGE_MAX_CONFIG_DEV   0xFF
#define VXGE_EXEC_MODE_DISABLE   0
#define VXGE_EXEC_MODE_ENABLE   1
#define VXGE_MAX_CONFIG_PORT   1
#define VXGE_ALL_VID_DISABLE   0
#define VXGE_ALL_VID_ENABLE   1
#define VXGE_PAUSE_CTRL_DISABLE   0
#define VXGE_PAUSE_CTRL_ENABLE   1
#define TTI_TX_URANGE_A   5
#define TTI_TX_URANGE_B   15
#define TTI_TX_URANGE_C   40
#define TTI_TX_UFC_A   5
#define TTI_TX_UFC_B   40
#define TTI_TX_UFC_C   60
#define TTI_TX_UFC_D   100
#define TTI_T1A_TX_UFC_A   30
#define TTI_T1A_TX_UFC_B   80
#define TTI_T1A_TX_UFC_C(mtu)
#define TTI_T1A_TX_UFC_D(mtu)
#define RTI_RX_URANGE_A   5
#define RTI_RX_URANGE_B   15
#define RTI_RX_URANGE_C   40
#define RTI_T1A_RX_URANGE_A   1
#define RTI_T1A_RX_URANGE_B   20
#define RTI_T1A_RX_URANGE_C   50
#define RTI_RX_UFC_A   1
#define RTI_RX_UFC_B   5
#define RTI_RX_UFC_C   10
#define RTI_RX_UFC_D   15
#define RTI_T1A_RX_UFC_B   20
#define RTI_T1A_RX_UFC_C   50
#define RTI_T1A_RX_UFC_D   60
#define VXGE_T1A_MAX_INTERRUPT_COUNT   100
#define VXGE_ENABLE_NAPI   1
#define VXGE_DISABLE_NAPI   0
#define VXGE_LRO_MAX_BYTES   0x4000
#define VXGE_T1A_LRO_MAX_BYTES   0xC000
#define VXGE_HW_MIN_VPATH_TX_BW_SUPPORT   0
#define VXGE_HW_MAX_VPATH_TX_BW_SUPPORT   7
#define VXGE_TIMER_DELAY   10000
#define VXGE_TIMER_COUNT   (2 * 60)
#define VXGE_LL_MAX_FRAME_SIZE(dev)
#define VXGE_REG_DUMP_BUFSIZE   65000
#define is_mf(function_mode)
#define is_titan1(dev_id, rev)
#define __VXGE_STATE_RESET_CARD   0x01
#define __VXGE_STATE_CARD_UP   0x02
#define test_bit(bit, loc)
#define set_bit(bit, loc)
#define clear_bit(bit, loc)
#define msleep(n)

Functions

 FILE_LICENCE (GPL2_ONLY)
void vxge_vpath_intr_enable (struct vxgedev *vdev, int vp_id)
void vxge_vpath_intr_disable (struct vxgedev *vdev, int vp_id)
int vxge_reset (struct vxgedev *vdev)
enum vxge_hw_status vxge_xmit_compl (struct __vxge_hw_fifo *fifo_hw, struct vxge_hw_fifo_txd *txdp, enum vxge_hw_fifo_tcode tcode)
void vxge_close_vpaths (struct vxgedev *vdev)
int vxge_open_vpaths (struct vxgedev *vdev)
enum vxge_hw_status vxge_reset_all_vpaths (struct vxgedev *vdev)

Macro Definition Documentation

◆ VXGE_MAIN_H

#define VXGE_MAIN_H

Definition at line 18 of file vxge_main.h.

◆ VXGE_DRIVER_NAME

#define VXGE_DRIVER_NAME   "vxge"

Definition at line 24 of file vxge_main.h.

Referenced by vxge_device_register(), vxge_device_unregister(), vxge_open(), and vxge_probe().

◆ VXGE_DRIVER_VENDOR

#define VXGE_DRIVER_VENDOR   "Neterion, Inc"

Definition at line 25 of file vxge_main.h.

◆ PCI_VENDOR_ID_S2IO

#define PCI_VENDOR_ID_S2IO   0x17D5

Definition at line 28 of file vxge_main.h.

◆ PCI_DEVICE_ID_TITAN_WIN

#define PCI_DEVICE_ID_TITAN_WIN   0x5733

Definition at line 32 of file vxge_main.h.

◆ PCI_DEVICE_ID_TITAN_UNI

#define PCI_DEVICE_ID_TITAN_UNI   0x5833

Definition at line 36 of file vxge_main.h.

◆ VXGE_HW_TITAN1_PCI_REVISION

#define VXGE_HW_TITAN1_PCI_REVISION   1

Definition at line 39 of file vxge_main.h.

◆ VXGE_HW_TITAN1A_PCI_REVISION

#define VXGE_HW_TITAN1A_PCI_REVISION   2

Definition at line 40 of file vxge_main.h.

◆ VXGE_HP_ISS_SUBSYS_VENDORID

#define VXGE_HP_ISS_SUBSYS_VENDORID   0x103C

Definition at line 42 of file vxge_main.h.

◆ VXGE_HP_ISS_SUBSYS_DEVICEID_1

#define VXGE_HP_ISS_SUBSYS_DEVICEID_1   0x323B

Definition at line 43 of file vxge_main.h.

◆ VXGE_HP_ISS_SUBSYS_DEVICEID_2

#define VXGE_HP_ISS_SUBSYS_DEVICEID_2   0x323C

Definition at line 44 of file vxge_main.h.

◆ VXGE_USE_DEFAULT

#define VXGE_USE_DEFAULT   0xffffffff

Definition at line 46 of file vxge_main.h.

◆ VXGE_HW_VPATH_MSIX_ACTIVE

#define VXGE_HW_VPATH_MSIX_ACTIVE   4

Definition at line 47 of file vxge_main.h.

◆ VXGE_ALARM_MSIX_ID

#define VXGE_ALARM_MSIX_ID   2

Definition at line 48 of file vxge_main.h.

◆ VXGE_HW_RXSYNC_FREQ_CNT

#define VXGE_HW_RXSYNC_FREQ_CNT   4

Definition at line 49 of file vxge_main.h.

◆ VXGE_LL_RX_COPY_THRESHOLD

#define VXGE_LL_RX_COPY_THRESHOLD   256

Definition at line 50 of file vxge_main.h.

◆ VXGE_DEF_FIFO_LENGTH

#define VXGE_DEF_FIFO_LENGTH   84

Definition at line 51 of file vxge_main.h.

◆ NO_STEERING

#define NO_STEERING   0

Definition at line 53 of file vxge_main.h.

◆ PORT_STEERING

#define PORT_STEERING   0x1

Definition at line 54 of file vxge_main.h.

◆ RTH_TCP_UDP_STEERING

#define RTH_TCP_UDP_STEERING   0x2

Definition at line 55 of file vxge_main.h.

◆ RTH_IPV4_STEERING

#define RTH_IPV4_STEERING   0x3

Definition at line 56 of file vxge_main.h.

◆ RTH_IPV6_EX_STEERING

#define RTH_IPV6_EX_STEERING   0x4

Definition at line 57 of file vxge_main.h.

◆ RTH_BUCKET_SIZE

#define RTH_BUCKET_SIZE   8

Definition at line 58 of file vxge_main.h.

◆ TX_PRIORITY_STEERING

#define TX_PRIORITY_STEERING   1

Definition at line 60 of file vxge_main.h.

◆ TX_VLAN_STEERING

#define TX_VLAN_STEERING   2

Definition at line 61 of file vxge_main.h.

◆ TX_PORT_STEERING

#define TX_PORT_STEERING   3

Definition at line 62 of file vxge_main.h.

◆ TX_MULTIQ_STEERING

#define TX_MULTIQ_STEERING   4

Definition at line 63 of file vxge_main.h.

◆ VXGE_HW_PROM_MODE_ENABLE

#define VXGE_HW_PROM_MODE_ENABLE   1

Definition at line 65 of file vxge_main.h.

◆ VXGE_HW_PROM_MODE_DISABLE

#define VXGE_HW_PROM_MODE_DISABLE   0

Definition at line 66 of file vxge_main.h.

◆ VXGE_HW_FW_UPGRADE_DISABLE

#define VXGE_HW_FW_UPGRADE_DISABLE   0

Definition at line 68 of file vxge_main.h.

◆ VXGE_HW_FW_UPGRADE_ALL

#define VXGE_HW_FW_UPGRADE_ALL   1

Definition at line 69 of file vxge_main.h.

◆ VXGE_HW_FW_UPGRADE_FORCE

#define VXGE_HW_FW_UPGRADE_FORCE   2

Definition at line 70 of file vxge_main.h.

◆ VXGE_HW_FUNC_MODE_DISABLE

#define VXGE_HW_FUNC_MODE_DISABLE   0

Definition at line 71 of file vxge_main.h.

◆ VXGE_TTI_BTIMER_VAL

#define VXGE_TTI_BTIMER_VAL   250000

Definition at line 73 of file vxge_main.h.

Referenced by __vxge_hw_vpath_tim_configure().

◆ VXGE_T1A_TTI_LTIMER_VAL

#define VXGE_T1A_TTI_LTIMER_VAL   80

Definition at line 74 of file vxge_main.h.

◆ VXGE_T1A_TTI_RTIMER_VAL

#define VXGE_T1A_TTI_RTIMER_VAL   400

Definition at line 75 of file vxge_main.h.

◆ VXGE_TTI_LTIMER_VAL

#define VXGE_TTI_LTIMER_VAL   1000

Definition at line 77 of file vxge_main.h.

Referenced by __vxge_hw_vpath_tim_configure().

◆ VXGE_TTI_RTIMER_VAL

#define VXGE_TTI_RTIMER_VAL   0

Definition at line 78 of file vxge_main.h.

◆ VXGE_RTI_BTIMER_VAL

#define VXGE_RTI_BTIMER_VAL   250

Definition at line 79 of file vxge_main.h.

Referenced by __vxge_hw_vpath_tim_configure().

◆ VXGE_RTI_LTIMER_VAL

#define VXGE_RTI_LTIMER_VAL   100

Definition at line 80 of file vxge_main.h.

Referenced by __vxge_hw_vpath_tim_configure().

◆ VXGE_RTI_RTIMER_VAL

#define VXGE_RTI_RTIMER_VAL   0

Definition at line 81 of file vxge_main.h.

◆ VXGE_FIFO_INDICATE_MAX_PKTS

#define VXGE_FIFO_INDICATE_MAX_PKTS   VXGE_DEF_FIFO_LENGTH

Definition at line 82 of file vxge_main.h.

◆ VXGE_ISR_POLLING_CNT

#define VXGE_ISR_POLLING_CNT   8

Definition at line 83 of file vxge_main.h.

◆ VXGE_MAX_CONFIG_DEV

#define VXGE_MAX_CONFIG_DEV   0xFF

Definition at line 84 of file vxge_main.h.

◆ VXGE_EXEC_MODE_DISABLE

#define VXGE_EXEC_MODE_DISABLE   0

Definition at line 85 of file vxge_main.h.

◆ VXGE_EXEC_MODE_ENABLE

#define VXGE_EXEC_MODE_ENABLE   1

Definition at line 86 of file vxge_main.h.

◆ VXGE_MAX_CONFIG_PORT

#define VXGE_MAX_CONFIG_PORT   1

Definition at line 87 of file vxge_main.h.

◆ VXGE_ALL_VID_DISABLE

#define VXGE_ALL_VID_DISABLE   0

Definition at line 88 of file vxge_main.h.

◆ VXGE_ALL_VID_ENABLE

#define VXGE_ALL_VID_ENABLE   1

Definition at line 89 of file vxge_main.h.

◆ VXGE_PAUSE_CTRL_DISABLE

#define VXGE_PAUSE_CTRL_DISABLE   0

Definition at line 90 of file vxge_main.h.

◆ VXGE_PAUSE_CTRL_ENABLE

#define VXGE_PAUSE_CTRL_ENABLE   1

Definition at line 91 of file vxge_main.h.

◆ TTI_TX_URANGE_A

#define TTI_TX_URANGE_A   5

Definition at line 93 of file vxge_main.h.

Referenced by __vxge_hw_vpath_tim_configure().

◆ TTI_TX_URANGE_B

#define TTI_TX_URANGE_B   15

Definition at line 94 of file vxge_main.h.

Referenced by __vxge_hw_vpath_tim_configure().

◆ TTI_TX_URANGE_C

#define TTI_TX_URANGE_C   40

Definition at line 95 of file vxge_main.h.

Referenced by __vxge_hw_vpath_tim_configure().

◆ TTI_TX_UFC_A

#define TTI_TX_UFC_A   5

Definition at line 96 of file vxge_main.h.

Referenced by __vxge_hw_vpath_tim_configure().

◆ TTI_TX_UFC_B

#define TTI_TX_UFC_B   40

Definition at line 97 of file vxge_main.h.

Referenced by __vxge_hw_vpath_tim_configure().

◆ TTI_TX_UFC_C

#define TTI_TX_UFC_C   60

Definition at line 98 of file vxge_main.h.

Referenced by __vxge_hw_vpath_tim_configure().

◆ TTI_TX_UFC_D

#define TTI_TX_UFC_D   100

Definition at line 99 of file vxge_main.h.

Referenced by __vxge_hw_vpath_tim_configure().

◆ TTI_T1A_TX_UFC_A

#define TTI_T1A_TX_UFC_A   30

Definition at line 100 of file vxge_main.h.

◆ TTI_T1A_TX_UFC_B

#define TTI_T1A_TX_UFC_B   80

Definition at line 101 of file vxge_main.h.

◆ TTI_T1A_TX_UFC_C

#define TTI_T1A_TX_UFC_C ( mtu)
Value:
(60 + ((VXGE_HW_MAX_MTU - mtu)/93))
uint32_t mtu
Maximum MTU.
Definition ena.h:17
#define VXGE_HW_MAX_MTU
Definition vxge_config.h:35

Definition at line 106 of file vxge_main.h.

◆ TTI_T1A_TX_UFC_D

#define TTI_T1A_TX_UFC_D ( mtu)
Value:
(100 + ((VXGE_HW_MAX_MTU - mtu)/37))

Definition at line 110 of file vxge_main.h.

◆ RTI_RX_URANGE_A

#define RTI_RX_URANGE_A   5

Definition at line 112 of file vxge_main.h.

Referenced by __vxge_hw_vpath_tim_configure().

◆ RTI_RX_URANGE_B

#define RTI_RX_URANGE_B   15

Definition at line 113 of file vxge_main.h.

Referenced by __vxge_hw_vpath_tim_configure().

◆ RTI_RX_URANGE_C

#define RTI_RX_URANGE_C   40

Definition at line 114 of file vxge_main.h.

Referenced by __vxge_hw_vpath_tim_configure().

◆ RTI_T1A_RX_URANGE_A

#define RTI_T1A_RX_URANGE_A   1

Definition at line 115 of file vxge_main.h.

◆ RTI_T1A_RX_URANGE_B

#define RTI_T1A_RX_URANGE_B   20

Definition at line 116 of file vxge_main.h.

◆ RTI_T1A_RX_URANGE_C

#define RTI_T1A_RX_URANGE_C   50

Definition at line 117 of file vxge_main.h.

◆ RTI_RX_UFC_A

#define RTI_RX_UFC_A   1

Definition at line 118 of file vxge_main.h.

Referenced by __vxge_hw_vpath_tim_configure().

◆ RTI_RX_UFC_B

#define RTI_RX_UFC_B   5

Definition at line 119 of file vxge_main.h.

Referenced by __vxge_hw_vpath_tim_configure().

◆ RTI_RX_UFC_C

#define RTI_RX_UFC_C   10

Definition at line 120 of file vxge_main.h.

Referenced by __vxge_hw_vpath_tim_configure().

◆ RTI_RX_UFC_D

#define RTI_RX_UFC_D   15

Definition at line 121 of file vxge_main.h.

Referenced by __vxge_hw_vpath_tim_configure().

◆ RTI_T1A_RX_UFC_B

#define RTI_T1A_RX_UFC_B   20

Definition at line 122 of file vxge_main.h.

◆ RTI_T1A_RX_UFC_C

#define RTI_T1A_RX_UFC_C   50

Definition at line 123 of file vxge_main.h.

◆ RTI_T1A_RX_UFC_D

#define RTI_T1A_RX_UFC_D   60

Definition at line 124 of file vxge_main.h.

◆ VXGE_T1A_MAX_INTERRUPT_COUNT

#define VXGE_T1A_MAX_INTERRUPT_COUNT   100

Definition at line 132 of file vxge_main.h.

◆ VXGE_ENABLE_NAPI

#define VXGE_ENABLE_NAPI   1

Definition at line 134 of file vxge_main.h.

◆ VXGE_DISABLE_NAPI

#define VXGE_DISABLE_NAPI   0

Definition at line 135 of file vxge_main.h.

◆ VXGE_LRO_MAX_BYTES

#define VXGE_LRO_MAX_BYTES   0x4000

Definition at line 136 of file vxge_main.h.

◆ VXGE_T1A_LRO_MAX_BYTES

#define VXGE_T1A_LRO_MAX_BYTES   0xC000

Definition at line 137 of file vxge_main.h.

◆ VXGE_HW_MIN_VPATH_TX_BW_SUPPORT

#define VXGE_HW_MIN_VPATH_TX_BW_SUPPORT   0

Definition at line 139 of file vxge_main.h.

◆ VXGE_HW_MAX_VPATH_TX_BW_SUPPORT

#define VXGE_HW_MAX_VPATH_TX_BW_SUPPORT   7

Definition at line 140 of file vxge_main.h.

◆ VXGE_TIMER_DELAY

#define VXGE_TIMER_DELAY   10000

Definition at line 143 of file vxge_main.h.

◆ VXGE_TIMER_COUNT

#define VXGE_TIMER_COUNT   (2 * 60)

Definition at line 145 of file vxge_main.h.

◆ VXGE_LL_MAX_FRAME_SIZE

#define VXGE_LL_MAX_FRAME_SIZE ( dev)
Value:
#define VXGE_HW_MAC_HEADER_MAX_SIZE

Definition at line 147 of file vxge_main.h.

Referenced by vxge_hw_ring_replenish(), and vxge_hw_vpath_poll_rx().

◆ VXGE_REG_DUMP_BUFSIZE

#define VXGE_REG_DUMP_BUFSIZE   65000

Definition at line 149 of file vxge_main.h.

◆ is_mf

#define is_mf ( function_mode)
Value:
((function_mode == VXGE_HW_FUNCTION_MODE_MULTI_FUNCTION) || \
#define VXGE_HW_FUNCTION_MODE_MULTI_FUNCTION_2
#define VXGE_HW_FUNCTION_MODE_MULTI_FUNCTION_4
#define VXGE_HW_FUNCTION_MODE_MULTI_FUNCTION_17
#define VXGE_HW_FUNCTION_MODE_MULTI_FUNCTION

Definition at line 151 of file vxge_main.h.

151#define is_mf(function_mode) \
152 ((function_mode == VXGE_HW_FUNCTION_MODE_MULTI_FUNCTION) || \
153 (function_mode == VXGE_HW_FUNCTION_MODE_MULTI_FUNCTION_17) || \
154 (function_mode == VXGE_HW_FUNCTION_MODE_MULTI_FUNCTION_2) || \
155 (function_mode == VXGE_HW_FUNCTION_MODE_MULTI_FUNCTION_4))

Referenced by vxge_close().

◆ is_titan1

#define is_titan1 ( dev_id,
rev )
Value:
static unsigned short dev_id
Definition davicom.c:128
#define PCI_DEVICE_ID_TITAN_UNI
Definition vxge_main.h:36
#define VXGE_HW_TITAN1_PCI_REVISION
Definition vxge_main.h:39
#define PCI_DEVICE_ID_TITAN_WIN
Definition vxge_main.h:32

Definition at line 157 of file vxge_main.h.

157#define is_titan1(dev_id, rev) (((dev_id == PCI_DEVICE_ID_TITAN_UNI) || \
158 (dev_id == PCI_DEVICE_ID_TITAN_WIN)) && \
159 (rev == VXGE_HW_TITAN1_PCI_REVISION))

Referenced by vxge_probe().

◆ __VXGE_STATE_RESET_CARD

#define __VXGE_STATE_RESET_CARD   0x01

Definition at line 162 of file vxge_main.h.

◆ __VXGE_STATE_CARD_UP

#define __VXGE_STATE_CARD_UP   0x02

Definition at line 163 of file vxge_main.h.

Referenced by is_vxge_card_up(), vxge_close(), and vxge_open().

◆ test_bit

#define test_bit ( bit,
loc )
Value:
((bit) & (loc))
static unsigned int unsigned int bit
Definition bigint.h:392

Definition at line 165 of file vxge_main.h.

Referenced by is_vxge_card_up().

◆ set_bit

#define set_bit ( bit,
loc )
Value:
do { (loc) |= (bit); } while (0);

Definition at line 166 of file vxge_main.h.

Referenced by bitops_test_exec(), vmbus_send(), vmbus_signal_monitor(), and vxge_open().

◆ clear_bit

#define clear_bit ( bit,
loc )
Value:
do { (loc) &= ~(bit); } while (0);

Definition at line 167 of file vxge_main.h.

Referenced by bitops_test_exec(), and vxge_close().

◆ msleep

#define msleep ( n)
Value:
void mdelay(unsigned long msecs)
Delay for a fixed number of milliseconds.
Definition timer.c:79

Definition at line 169 of file vxge_main.h.

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( GPL2_ONLY )

◆ vxge_vpath_intr_enable()

void vxge_vpath_intr_enable ( struct vxgedev * vdev,
int vp_id )

◆ vxge_vpath_intr_disable()

void vxge_vpath_intr_disable ( struct vxgedev * vdev,
int vp_id )

◆ vxge_reset()

int vxge_reset ( struct vxgedev * vdev)

References txdp.

◆ vxge_xmit_compl()

enum vxge_hw_status vxge_xmit_compl ( struct __vxge_hw_fifo * fifo_hw,
struct vxge_hw_fifo_txd * txdp,
enum vxge_hw_fifo_tcode tcode )

Definition at line 65 of file vxge_main.c.

67{
68 struct net_device *netdev;
69 struct io_buffer *tx_iob = NULL;
70
71 vxge_trace();
72
73 netdev = fifo_hw->vpathh->hldev->ndev;
74
75 tx_iob = (struct io_buffer *)(intptr_t)txdp->host_control;
76
77 if (tcode == VXGE_HW_FIFO_T_CODE_OK) {
79 } else {
81 vxge_debug(VXGE_ERR, "%s: transmit failed, tcode %d\n",
82 netdev->name, tcode);
83 }
84
85 memset(txdp, 0, sizeof(struct vxge_hw_fifo_txd));
86
87 return VXGE_HW_OK;
88}
#define NULL
NULL pointer (VOID *)
Definition Base.h:322
unsigned long intptr_t
Definition stdint.h:21
static struct net_device * netdev
Definition gdbudp.c:53
#define EINVAL
Invalid argument.
Definition errno.h:429
void * memset(void *dest, int character, size_t len) __nonnull
void netdev_tx_complete_err(struct net_device *netdev, struct io_buffer *iobuf, int rc)
Complete network transmission.
Definition netdevice.c:471
static void netdev_tx_complete(struct net_device *netdev, struct io_buffer *iobuf)
Complete network transmission.
Definition netdevice.h:767
@ txdp
Definition sis900.h:30
struct net_device * ndev
struct __vxge_hw_virtualpath * vpathh
struct __vxge_hw_device * hldev
A persistent I/O buffer.
Definition iobuf.h:38
A network device.
Definition netdevice.h:353
struct vxge_hw_fifo_txd - Transmit Descriptor
#define vxge_debug(mask, fmt...)
#define vxge_trace()
#define VXGE_ERR
Definition vxge_config.h:54
@ VXGE_HW_OK
Definition vxge_config.h:71
@ VXGE_HW_FIFO_T_CODE_OK

References EINVAL, __vxge_hw_virtualpath::hldev, memset(), __vxge_hw_device::ndev, netdev, netdev_tx_complete(), netdev_tx_complete_err(), NULL, txdp, __vxge_hw_fifo::vpathh, vxge_debug, VXGE_ERR, VXGE_HW_FIFO_T_CODE_OK, VXGE_HW_OK, and vxge_trace.

Referenced by vxge_hw_vpath_poll_tx().

◆ vxge_close_vpaths()

void vxge_close_vpaths ( struct vxgedev * vdev)

Definition at line 125 of file vxge_main.c.

126{
127
128 if (vdev->vpath.vpathh && vdev->vpath.is_open)
130
131 vdev->vpath.is_open = 0;
132 vdev->vpath.vpathh = NULL;
133}
struct __vxge_hw_virtualpath * vpathh
Definition vxge_main.h:195
struct vxge_vpath vpath
Definition vxge_main.h:206
enum vxge_hw_status vxge_hw_vpath_close(struct __vxge_hw_virtualpath *vpath)

References vxge_vpath::is_open, NULL, vxgedev::vpath, vxge_vpath::vpathh, and vxge_hw_vpath_close().

Referenced by vxge_close(), vxge_open(), and vxge_open_vpaths().

◆ vxge_open_vpaths()

int vxge_open_vpaths ( struct vxgedev * vdev)

Definition at line 136 of file vxge_main.c.

137{
139 struct __vxge_hw_device *hldev;
140
141 hldev = (struct __vxge_hw_device *)pci_get_drvdata(vdev->pdev);
142
143 vdev->vpath.vpathh = &hldev->virtual_path;
150
152 if (status == VXGE_HW_OK) {
153 vdev->vpath.is_open = 1;
154 } else {
156 "%s: vpath: %d failed to open "
157 "with status: %d\n",
159 status);
161 return status;
162 }
163
165
166 return VXGE_HW_OK;
167}
uint8_t status
Status.
Definition ena.h:5
static void * pci_get_drvdata(struct pci_device *pci)
Get PCI driver-private data.
Definition pci.h:376
struct __vxge_hw_device - Hal device object @magic: Magic Number @bar0: BAR0 virtual address.
struct __vxge_hw_virtualpath virtual_path
struct vxgedev * vdev
struct __vxge_hw_fifo fifoh
struct __vxge_hw_ring ringh
char name[NETDEV_NAME_LEN]
Name of this network device.
Definition netdevice.h:363
struct pci_device * pdev
Definition vxge_main.h:173
struct net_device * ndev
Definition vxge_main.h:172
struct __vxge_hw_fifo * fifoh
Definition vxge_main.h:174
struct net_device * ndev
Definition vxge_main.h:178
struct __vxge_hw_ring * ringh
Definition vxge_main.h:180
struct pci_device * pdev
Definition vxge_main.h:179
int device_id
Definition vxge_main.h:189
struct vxge_fifo fifo
Definition vxge_main.h:185
struct vxge_ring ring
Definition vxge_main.h:186
struct pci_device * pdev
Definition vxge_main.h:200
struct net_device * ndev
Definition vxge_main.h:199
struct __vxge_hw_device * devh
Definition vxge_main.h:201
enum vxge_hw_status vxge_hw_vpath_open(struct __vxge_hw_device *hldev, struct vxge_vpath *vpath)
vxge_hw_status
Definition vxge_config.h:70
void vxge_close_vpaths(struct vxgedev *vdev)
Definition vxge_main.c:125
#define vxge_mBIT(loc)
Definition vxge_reg.h:24

References vxgedev::devh, vxge_vpath::device_id, vxge_vpath::fifo, __vxge_hw_virtualpath::fifoh, vxge_fifo::fifoh, vxge_vpath::is_open, net_device::name, vxge_fifo::ndev, vxge_ring::ndev, vxgedev::ndev, pci_get_drvdata(), vxge_fifo::pdev, vxge_ring::pdev, vxgedev::pdev, vxge_vpath::ring, __vxge_hw_virtualpath::ringh, vxge_ring::ringh, status, __vxge_hw_device::vdev, __vxge_hw_device::virtual_path, __vxge_hw_virtualpath::vp_id, vxgedev::vpath, vxge_vpath::vpathh, __vxge_hw_device::vpaths_deployed, vxge_close_vpaths(), vxge_debug, VXGE_ERR, VXGE_HW_OK, vxge_hw_vpath_open(), and vxge_mBIT.

Referenced by vxge_open().

◆ vxge_reset_all_vpaths()

enum vxge_hw_status vxge_reset_all_vpaths ( struct vxgedev * vdev)

Definition at line 91 of file vxge_main.c.

92{
94 struct __vxge_hw_virtualpath *vpath;
95
96 vxge_trace();
97
98 vpath = vdev->vpath.vpathh;
99
100 if (vpath) {
101 if ((status = vxge_hw_vpath_reset(vpath)) == VXGE_HW_OK) {
102 if (is_vxge_card_up(vdev) &&
104 vpath)) != VXGE_HW_OK) {
105 vxge_debug(VXGE_ERR, "vxge_hw_vpath_recover_"
106 "from_reset failed\n");
107 return status;
108 } else {
110 if (status != VXGE_HW_OK) {
112 "__vxge_hw_vpath_reset_check error\n");
113 return status;
114 }
115 }
116 } else {
117 vxge_debug(VXGE_ERR, "vxge_hw_vpath_reset failed\n");
118 return status;
119 }
120 }
121 return status;
122}
enum vxge_hw_status vxge_hw_vpath_recover_from_reset(struct __vxge_hw_virtualpath *vpath)
enum vxge_hw_status __vxge_hw_vpath_reset_check(struct __vxge_hw_virtualpath *vpath)
enum vxge_hw_status vxge_hw_vpath_reset(struct __vxge_hw_virtualpath *vpath)
static int is_vxge_card_up(struct vxgedev *vdev)
Definition vxge_main.c:51

References __vxge_hw_vpath_reset_check(), is_vxge_card_up(), status, vxgedev::vpath, vxge_vpath::vpathh, vxge_debug, VXGE_ERR, VXGE_HW_OK, vxge_hw_vpath_recover_from_reset(), vxge_hw_vpath_reset(), and vxge_trace.

Referenced by vxge_close().