#include <unistd.h>#include "vxge_traffic.h"#include "vxge_config.h"Go to the source code of this file.
| #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().
| #define VXGE_DRIVER_VENDOR "Neterion, Inc" |
Definition at line 25 of file vxge_main.h.
| #define PCI_VENDOR_ID_S2IO 0x17D5 |
Definition at line 28 of file vxge_main.h.
| #define PCI_DEVICE_ID_TITAN_WIN 0x5733 |
Definition at line 32 of file vxge_main.h.
| #define PCI_DEVICE_ID_TITAN_UNI 0x5833 |
Definition at line 36 of file vxge_main.h.
| #define VXGE_HW_TITAN1_PCI_REVISION 1 |
Definition at line 39 of file vxge_main.h.
| #define VXGE_HW_TITAN1A_PCI_REVISION 2 |
Definition at line 40 of file vxge_main.h.
| #define VXGE_HP_ISS_SUBSYS_VENDORID 0x103C |
Definition at line 42 of file vxge_main.h.
| #define VXGE_HP_ISS_SUBSYS_DEVICEID_1 0x323B |
Definition at line 43 of file vxge_main.h.
| #define VXGE_HP_ISS_SUBSYS_DEVICEID_2 0x323C |
Definition at line 44 of file vxge_main.h.
| #define VXGE_USE_DEFAULT 0xffffffff |
Definition at line 46 of file vxge_main.h.
| #define VXGE_HW_VPATH_MSIX_ACTIVE 4 |
Definition at line 47 of file vxge_main.h.
| #define VXGE_ALARM_MSIX_ID 2 |
Definition at line 48 of file vxge_main.h.
| #define VXGE_HW_RXSYNC_FREQ_CNT 4 |
Definition at line 49 of file vxge_main.h.
| #define VXGE_LL_RX_COPY_THRESHOLD 256 |
Definition at line 50 of file vxge_main.h.
| #define VXGE_DEF_FIFO_LENGTH 84 |
Definition at line 51 of file vxge_main.h.
| #define NO_STEERING 0 |
Definition at line 53 of file vxge_main.h.
| #define PORT_STEERING 0x1 |
Definition at line 54 of file vxge_main.h.
| #define RTH_TCP_UDP_STEERING 0x2 |
Definition at line 55 of file vxge_main.h.
| #define RTH_IPV4_STEERING 0x3 |
Definition at line 56 of file vxge_main.h.
| #define RTH_IPV6_EX_STEERING 0x4 |
Definition at line 57 of file vxge_main.h.
| #define RTH_BUCKET_SIZE 8 |
Definition at line 58 of file vxge_main.h.
| #define TX_PRIORITY_STEERING 1 |
Definition at line 60 of file vxge_main.h.
| #define TX_VLAN_STEERING 2 |
Definition at line 61 of file vxge_main.h.
| #define TX_PORT_STEERING 3 |
Definition at line 62 of file vxge_main.h.
| #define TX_MULTIQ_STEERING 4 |
Definition at line 63 of file vxge_main.h.
| #define VXGE_HW_PROM_MODE_ENABLE 1 |
Definition at line 65 of file vxge_main.h.
| #define VXGE_HW_PROM_MODE_DISABLE 0 |
Definition at line 66 of file vxge_main.h.
| #define VXGE_HW_FW_UPGRADE_DISABLE 0 |
Definition at line 68 of file vxge_main.h.
| #define VXGE_HW_FW_UPGRADE_ALL 1 |
Definition at line 69 of file vxge_main.h.
| #define VXGE_HW_FW_UPGRADE_FORCE 2 |
Definition at line 70 of file vxge_main.h.
| #define VXGE_HW_FUNC_MODE_DISABLE 0 |
Definition at line 71 of file vxge_main.h.
| #define VXGE_TTI_BTIMER_VAL 250000 |
| #define VXGE_T1A_TTI_LTIMER_VAL 80 |
Definition at line 74 of file vxge_main.h.
| #define VXGE_T1A_TTI_RTIMER_VAL 400 |
Definition at line 75 of file vxge_main.h.
| #define VXGE_TTI_LTIMER_VAL 1000 |
| #define VXGE_TTI_RTIMER_VAL 0 |
Definition at line 78 of file vxge_main.h.
| #define VXGE_RTI_BTIMER_VAL 250 |
| #define VXGE_RTI_LTIMER_VAL 100 |
| #define VXGE_RTI_RTIMER_VAL 0 |
Definition at line 81 of file vxge_main.h.
| #define VXGE_FIFO_INDICATE_MAX_PKTS VXGE_DEF_FIFO_LENGTH |
Definition at line 82 of file vxge_main.h.
| #define VXGE_ISR_POLLING_CNT 8 |
Definition at line 83 of file vxge_main.h.
| #define VXGE_MAX_CONFIG_DEV 0xFF |
Definition at line 84 of file vxge_main.h.
| #define VXGE_EXEC_MODE_DISABLE 0 |
Definition at line 85 of file vxge_main.h.
| #define VXGE_EXEC_MODE_ENABLE 1 |
Definition at line 86 of file vxge_main.h.
| #define VXGE_MAX_CONFIG_PORT 1 |
Definition at line 87 of file vxge_main.h.
| #define VXGE_ALL_VID_DISABLE 0 |
Definition at line 88 of file vxge_main.h.
| #define VXGE_ALL_VID_ENABLE 1 |
Definition at line 89 of file vxge_main.h.
| #define VXGE_PAUSE_CTRL_DISABLE 0 |
Definition at line 90 of file vxge_main.h.
| #define VXGE_PAUSE_CTRL_ENABLE 1 |
Definition at line 91 of file vxge_main.h.
| #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 |
Definition at line 100 of file vxge_main.h.
| #define TTI_T1A_TX_UFC_B 80 |
Definition at line 101 of file vxge_main.h.
Definition at line 106 of file vxge_main.h.
Definition at line 110 of file vxge_main.h.
| #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 |
Definition at line 115 of file vxge_main.h.
| #define RTI_T1A_RX_URANGE_B 20 |
Definition at line 116 of file vxge_main.h.
| #define RTI_T1A_RX_URANGE_C 50 |
Definition at line 117 of file vxge_main.h.
| #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 |
Definition at line 122 of file vxge_main.h.
| #define RTI_T1A_RX_UFC_C 50 |
Definition at line 123 of file vxge_main.h.
| #define RTI_T1A_RX_UFC_D 60 |
Definition at line 124 of file vxge_main.h.
| #define VXGE_T1A_MAX_INTERRUPT_COUNT 100 |
Definition at line 132 of file vxge_main.h.
| #define VXGE_ENABLE_NAPI 1 |
Definition at line 134 of file vxge_main.h.
| #define VXGE_DISABLE_NAPI 0 |
Definition at line 135 of file vxge_main.h.
| #define VXGE_LRO_MAX_BYTES 0x4000 |
Definition at line 136 of file vxge_main.h.
| #define VXGE_T1A_LRO_MAX_BYTES 0xC000 |
Definition at line 137 of file vxge_main.h.
| #define VXGE_HW_MIN_VPATH_TX_BW_SUPPORT 0 |
Definition at line 139 of file vxge_main.h.
| #define VXGE_HW_MAX_VPATH_TX_BW_SUPPORT 7 |
Definition at line 140 of file vxge_main.h.
| #define VXGE_TIMER_DELAY 10000 |
Definition at line 143 of file vxge_main.h.
| #define VXGE_TIMER_COUNT (2 * 60) |
Definition at line 145 of file vxge_main.h.
| #define VXGE_LL_MAX_FRAME_SIZE | ( | dev | ) | ((dev)->mtu + 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().
| #define VXGE_REG_DUMP_BUFSIZE 65000 |
Definition at line 149 of file vxge_main.h.
| #define is_mf | ( | function_mode | ) |
Value:
((function_mode == VXGE_HW_FUNCTION_MODE_MULTI_FUNCTION) || \ (function_mode == VXGE_HW_FUNCTION_MODE_MULTI_FUNCTION_17) || \ (function_mode == VXGE_HW_FUNCTION_MODE_MULTI_FUNCTION_2) || \ (function_mode == VXGE_HW_FUNCTION_MODE_MULTI_FUNCTION_4))
Definition at line 151 of file vxge_main.h.
Referenced by vxge_close().
| #define is_titan1 | ( | dev_id, | |||
| rev | ) |
Value:
(((dev_id == PCI_DEVICE_ID_TITAN_UNI) || \ (dev_id == PCI_DEVICE_ID_TITAN_WIN)) && \ (rev == VXGE_HW_TITAN1_PCI_REVISION))
Definition at line 157 of file vxge_main.h.
Referenced by vxge_probe().
| #define __VXGE_STATE_RESET_CARD 0x01 |
Definition at line 162 of file vxge_main.h.
| #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().
| #define test_bit | ( | bit, | |||
| loc | ) | ((bit) & (loc)) |
| #define set_bit | ( | bit, | |||
| loc | ) | do { (loc) |= (bit); } while (0); |
| #define clear_bit | ( | bit, | |||
| loc | ) | do { (loc) &= ~(bit); } while (0); |
| #define msleep | ( | n | ) | mdelay(n) |
Definition at line 169 of file vxge_main.h.
| FILE_LICENCE | ( | GPL2_ONLY | ) |
| static int is_zero_ether_addr | ( | const u8 * | addr | ) | [inline, static] |
| static int is_multicast_ether_addr | ( | const u8 * | addr | ) | [inline, static] |
| static int is_valid_ether_addr | ( | const u8 * | addr | ) | [inline, static] |
Definition at line 225 of file vxge_main.h.
References is_multicast_ether_addr(), and is_zero_ether_addr().
Referenced by __vxge_hw_vpath_addr_get(), and forcedeth_probe().
00226 { 00227 return !is_multicast_ether_addr(addr) && !is_zero_ether_addr(addr); 00228 }
| 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 | |||
| ) |
Definition at line 64 of file vxge_main.c.
References EINVAL, __vxge_hw_virtualpath::hldev, vxge_hw_fifo_txd::host_control, memset(), net_device::name, __vxge_hw_device::ndev, netdev, netdev_tx_complete(), netdev_tx_complete_err(), NULL, __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().
00066 { 00067 struct net_device *netdev; 00068 struct io_buffer *tx_iob = NULL; 00069 00070 vxge_trace(); 00071 00072 netdev = fifo_hw->vpathh->hldev->ndev; 00073 00074 tx_iob = (struct io_buffer *)(intptr_t)txdp->host_control; 00075 00076 if (tcode == VXGE_HW_FIFO_T_CODE_OK) { 00077 netdev_tx_complete(netdev, tx_iob); 00078 } else { 00079 netdev_tx_complete_err(netdev, tx_iob, -EINVAL); 00080 vxge_debug(VXGE_ERR, "%s: transmit failed, tcode %d\n", 00081 netdev->name, tcode); 00082 } 00083 00084 memset(txdp, 0, sizeof(struct vxge_hw_fifo_txd)); 00085 00086 return VXGE_HW_OK; 00087 }
| void vxge_close_vpaths | ( | struct vxgedev * | vdev | ) |
Definition at line 124 of file vxge_main.c.
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().
00125 { 00126 00127 if (vdev->vpath.vpathh && vdev->vpath.is_open) 00128 vxge_hw_vpath_close(vdev->vpath.vpathh); 00129 00130 vdev->vpath.is_open = 0; 00131 vdev->vpath.vpathh = NULL; 00132 }
| int vxge_open_vpaths | ( | struct vxgedev * | vdev | ) |
Definition at line 135 of file vxge_main.c.
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_ring::ndev, vxgedev::ndev, vxge_fifo::ndev, pci_get_drvdata(), vxge_ring::pdev, vxge_fifo::pdev, vxgedev::pdev, vxge_vpath::ring, __vxge_hw_virtualpath::ringh, vxge_ring::ringh, __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().
00136 { 00137 enum vxge_hw_status status; 00138 struct __vxge_hw_device *hldev; 00139 00140 hldev = (struct __vxge_hw_device *)pci_get_drvdata(vdev->pdev); 00141 00142 vdev->vpath.vpathh = &hldev->virtual_path; 00143 vdev->vpath.fifo.ndev = vdev->ndev; 00144 vdev->vpath.fifo.pdev = vdev->pdev; 00145 vdev->vpath.fifo.fifoh = &hldev->virtual_path.fifoh; 00146 vdev->vpath.ring.ndev = vdev->ndev; 00147 vdev->vpath.ring.pdev = vdev->pdev; 00148 vdev->vpath.ring.ringh = &hldev->virtual_path.ringh; 00149 00150 status = vxge_hw_vpath_open(vdev->devh, &vdev->vpath); 00151 if (status == VXGE_HW_OK) { 00152 vdev->vpath.is_open = 1; 00153 } else { 00154 vxge_debug(VXGE_ERR, 00155 "%s: vpath: %d failed to open " 00156 "with status: %d\n", 00157 vdev->ndev->name, vdev->vpath.device_id, 00158 status); 00159 vxge_close_vpaths(vdev); 00160 return status; 00161 } 00162 00163 hldev->vpaths_deployed |= vxge_mBIT(vdev->vpath.vpathh->vp_id); 00164 00165 return VXGE_HW_OK; 00166 }
| enum vxge_hw_status vxge_reset_all_vpaths | ( | struct vxgedev * | vdev | ) |
Definition at line 90 of file vxge_main.c.
References __vxge_hw_vpath_reset_check(), is_vxge_card_up(), 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().
00091 { 00092 enum vxge_hw_status status = VXGE_HW_OK; 00093 struct __vxge_hw_virtualpath *vpath; 00094 00095 vxge_trace(); 00096 00097 vpath = vdev->vpath.vpathh; 00098 00099 if (vpath) { 00100 if ((status = vxge_hw_vpath_reset(vpath)) == VXGE_HW_OK) { 00101 if (is_vxge_card_up(vdev) && 00102 (status = vxge_hw_vpath_recover_from_reset( 00103 vpath)) != VXGE_HW_OK) { 00104 vxge_debug(VXGE_ERR, "vxge_hw_vpath_recover_" 00105 "from_reset failed\n"); 00106 return status; 00107 } else { 00108 status = __vxge_hw_vpath_reset_check(vpath); 00109 if (status != VXGE_HW_OK) { 00110 vxge_debug(VXGE_ERR, 00111 "__vxge_hw_vpath_reset_check error\n"); 00112 return status; 00113 } 00114 } 00115 } else { 00116 vxge_debug(VXGE_ERR, "vxge_hw_vpath_reset failed\n"); 00117 return status; 00118 } 00119 } 00120 return status; 00121 }
1.5.7.1