iPXE
|
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <errno.h>
#include <byteswap.h>
#include <ipxe/io.h>
#include <ipxe/pci.h>
#include <ipxe/malloc.h>
#include <ipxe/ethernet.h>
#include <ipxe/iobuf.h>
#include <ipxe/netdevice.h>
#include "efx_hunt.h"
#include "efx_bitfield.h"
#include "ef10_regs.h"
#include "mc_driver_pcol.h"
#include <ipxe/if_ether.h>
Go to the source code of this file.
Data Structures | |
struct | hunt_nic |
Macros | |
#define | HUNTINGTON_NVRAM_CHUNK 0x80 |
#define | HUNTINGTON_NVS_MAX_LENGTH 0x1000 |
#define | EMCDI_IO(code) EUNIQ(EINFO_EIO, (code)) |
#define | MIN(a, b) ((a) < (b) ? (a) : (b)) |
#define | MAX(_a, _b) ((_a) > (_b) ? (_a) : (_b)) |
#define | MCDI_PORT_SPEED_CAPS |
Functions | |
FILE_LICENCE (GPL2_OR_LATER_OR_UBDL) | |
static int | hunt_nic_is_primary (struct hunt_nic *hunt) |
static int | hunt_mcdi_init (struct hunt_nic *hunt) |
static void | hunt_mcdi_copyin (struct hunt_nic *hunt, unsigned int cmd, uint8_t *inbuf, size_t inlen) |
static void | hunt_mcdi_copyout (struct hunt_nic *hunt, uint8_t *outbuf, size_t outlen) |
static int | hunt_mcdi_request_poll (struct hunt_nic *hunt, bool quiet) |
static void | hunt_mcdi_fini (struct hunt_nic *hunt) |
int | _hunt_mcdi (struct efx_nic *efx, unsigned int cmd, const efx_dword_t *inbuf, size_t inlen, efx_dword_t *outbuf, size_t outlen, size_t *outlen_actual, bool quiet) |
static int | hunt_mcdi (struct hunt_nic *hunt, struct efx_mcdi_req_s *req) |
static int | hunt_mcdi_quiet (struct hunt_nic *hunt, struct efx_mcdi_req_s *req) |
static int | hunt_get_workarounds (struct hunt_nic *hunt, uint32_t *implemented, uint32_t *enabled) |
static int | hunt_enable_workaround_35388 (struct hunt_nic *hunt) |
static int | hunt_workaround_35388 (struct hunt_nic *hunt) |
static int | hunt_get_port_assignment (struct hunt_nic *hunt) |
static int | hunt_mac_addr (struct hunt_nic *hunt, uint8_t *ll_addr) |
static int | hunt_get_phy_cfg (struct hunt_nic *hunt) |
static int | hunt_driver_attach (struct hunt_nic *hunt, int attach) |
static int | hunt_reset (struct hunt_nic *hunt) |
static void | hunt_clear_udp_tunnel_ports (struct hunt_nic *hunt) |
static int | hunt_set_mac (struct hunt_nic *hunt) |
static int | hunt_alloc_vis (struct hunt_nic *hunt) |
static void | hunt_free_vis (struct hunt_nic *hunt) |
static int | hunt_check_link (struct hunt_nic *hunt) |
static int | hunt_tx_init (struct net_device *netdev, struct hunt_nic *hunt) |
static void | hunt_tx_fini (struct hunt_nic *hunt) |
static int | hunt_rx_filter_insert (struct net_device *netdev, struct hunt_nic *hunt, int multicast) |
static int | hunt_rx_filter_remove (struct hunt_nic *hunt, int multicast) |
static int | hunt_get_mac (struct hunt_nic *hunt) |
static int | hunt_rx_filter_init (struct net_device *netdev, struct hunt_nic *hunt) |
static int | hunt_rx_init (struct net_device *netdev, struct hunt_nic *hunt) |
static void | hunt_rx_filter_fini (struct hunt_nic *hunt) |
static void | hunt_rx_fini (struct hunt_nic *hunt) |
static int | hunt_ev_init (struct net_device *netdev, struct hunt_nic *hunt) |
static void | hunt_ev_fini (struct hunt_nic *hunt) |
static void | hunt_poll (struct net_device *netdev) |
static int | hunt_open (struct net_device *netdev) |
static void | hunt_close (struct net_device *netdev) |
static int | hunt_probe (struct pci_device *pci) |
static void | hunt_remove (struct pci_device *pci) |
Variables | |
struct hunt_nic * | primary_nics = NULL |
static struct net_device_operations | hunt_operations |
const struct efx_nic_type | hunt_nic_type |
static struct pci_device_id | hunt_nics [] |
struct pci_driver hunt_driver | __pci_driver |
#define HUNTINGTON_NVRAM_CHUNK 0x80 |
Definition at line 39 of file sfc_hunt.c.
#define HUNTINGTON_NVS_MAX_LENGTH 0x1000 |
Definition at line 40 of file sfc_hunt.c.
#define MIN | ( | a, | |
b | |||
) | ((a) < (b) ? (a) : (b)) |
Definition at line 45 of file sfc_hunt.c.
#define MAX | ( | _a, | |
_b | |||
) | ((_a) > (_b) ? (_a) : (_b)) |
Definition at line 48 of file sfc_hunt.c.
#define MCDI_PORT_SPEED_CAPS |
Definition at line 661 of file sfc_hunt.c.
FILE_LICENCE | ( | GPL2_OR_LATER_OR_UBDL | ) |
|
static |
Definition at line 82 of file sfc_hunt.c.
References hunt_nic::flags, and MC_CMD_DRV_ATTACH_EXT_OUT_FLAG_PRIMARY.
Referenced by hunt_probe().
|
static |
Definition at line 97 of file sfc_hunt.c.
References alloc_iob(), ENOMEM, hunt_nic::iob, hunt_nic::mcdi, MCDI_CTL_SDU_LEN_MAX_V2, and rc.
Referenced by hunt_probe().
|
static |
Definition at line 116 of file sfc_hunt.c.
References _efx_writel(), assert(), cmd, cpu_to_le32, io_buffer::data, hunt_nic::dma_addr, hunt_nic::efx, EFX_POPULATE_DWORD_2, EFX_POPULATE_DWORD_7, ER_DZ_MC_DB_HWRD, ER_DZ_MC_DB_LWRD, hdr, inlen, hunt_nic::iob, MC_CMD_V2_EXTN, hunt_nic::mcdi, MCDI_CTL_SDU_LEN_MAX_V2, MCDI_SEQ_MASK, memcpy(), hunt_nic::seqno, virt_to_bus(), and wmb().
Referenced by _hunt_mcdi().
Definition at line 165 of file sfc_hunt.c.
References io_buffer::data, hunt_nic::iob, hunt_nic::mcdi, memcpy(), offset, outlen, and hunt_nic::resp_hdr_len.
Referenced by _hunt_mcdi().
Definition at line 177 of file sfc_hunt.c.
References currticks(), io_buffer::data, DBGC, delay, efx_qword::dword, EACCES, EBUSY, EDEADLK, EFX_DWORD_FIELD, EINTR, EINVAL, EIO, EMCDI_IO, ENOENT, ENOSYS, EPERM, error, ETIME, ETIMEDOUT, hunt_nic::iob, MC_CMD_ERR_EACCES, MC_CMD_ERR_EBUSY, MC_CMD_ERR_EDEADLK, MC_CMD_ERR_EINTR, MC_CMD_ERR_EINVAL, MC_CMD_ERR_ENOENT, MC_CMD_ERR_ENOSYS, MC_CMD_ERR_EPERM, MC_CMD_ERR_ETIME, hunt_nic::mcdi, MCDI_SEQ_MASK, memcpy(), rc, hunt_nic::resp_data_len, hunt_nic::resp_hdr_len, hunt_nic::seqno, TICKS_PER_SEC, and udelay().
Referenced by _hunt_mcdi().
|
static |
Definition at line 255 of file sfc_hunt.c.
References free_iob(), hunt_nic::iob, and hunt_nic::mcdi.
Referenced by hunt_probe(), and hunt_remove().
int _hunt_mcdi | ( | struct efx_nic * | efx, |
unsigned int | cmd, | ||
const efx_dword_t * | inbuf, | ||
size_t | inlen, | ||
efx_dword_t * | outbuf, | ||
size_t | outlen, | ||
size_t * | outlen_actual, | ||
bool | quiet | ||
) |
Definition at line 260 of file sfc_hunt.c.
References cmd, DBGC, hunt_nic::efx, hunt_mcdi_copyin(), hunt_mcdi_copyout(), hunt_mcdi_request_poll(), inlen, hunt_nic::mcdi, NULL, outlen, rc, hunt_nic::resp_data_len, hunt_nic::seqno, and strerror().
Referenced by hunt_mcdi(), and hunt_mcdi_quiet().
|
static |
Definition at line 290 of file sfc_hunt.c.
References _hunt_mcdi(), hunt_nic::efx, efx_mcdi_req_s::emr_cmd, efx_mcdi_req_s::emr_in_buf, efx_mcdi_req_s::emr_in_length, efx_mcdi_req_s::emr_out_buf, efx_mcdi_req_s::emr_out_length, and efx_mcdi_req_s::emr_out_length_used.
Referenced by hunt_alloc_vis(), hunt_check_link(), hunt_driver_attach(), hunt_enable_workaround_35388(), hunt_ev_fini(), hunt_ev_init(), hunt_free_vis(), hunt_get_mac(), hunt_get_phy_cfg(), hunt_get_port_assignment(), hunt_get_workarounds(), hunt_mac_addr(), hunt_reset(), hunt_rx_filter_insert(), hunt_rx_filter_remove(), hunt_rx_fini(), hunt_rx_init(), hunt_set_mac(), hunt_tx_fini(), and hunt_tx_init().
|
static |
Definition at line 299 of file sfc_hunt.c.
References _hunt_mcdi(), hunt_nic::efx, efx_mcdi_req_s::emr_cmd, efx_mcdi_req_s::emr_in_buf, efx_mcdi_req_s::emr_in_length, efx_mcdi_req_s::emr_out_buf, efx_mcdi_req_s::emr_out_length, and efx_mcdi_req_s::emr_out_length_used.
Referenced by hunt_clear_udp_tunnel_ports().
|
static |
Definition at line 315 of file sfc_hunt.c.
References efx_mcdi_req_s::emr_cmd, efx_mcdi_req_s::emr_in_buf, efx_mcdi_req_s::emr_in_length, efx_mcdi_req_s::emr_out_buf, efx_mcdi_req_s::emr_out_length, efx_mcdi_req_s::emr_out_length_used, EMSGSIZE, enabled, hunt_mcdi(), MC_CMD_GET_WORKAROUNDS, MC_CMD_GET_WORKAROUNDS_OUT_LEN, MCDI_DECLARE_BUF, MCDI_DWORD, NULL, and rc.
Referenced by hunt_workaround_35388().
|
static |
Definition at line 343 of file sfc_hunt.c.
References efx_mcdi_req_s::emr_cmd, efx_mcdi_req_s::emr_in_buf, efx_mcdi_req_s::emr_in_length, efx_mcdi_req_s::emr_out_buf, efx_mcdi_req_s::emr_out_length, hunt_mcdi(), MC_CMD_WORKAROUND, MC_CMD_WORKAROUND_BUG35388, MC_CMD_WORKAROUND_IN_LEN, MCDI_DECLARE_BUF, MCDI_SET_DWORD, and NULL.
Referenced by hunt_workaround_35388().
|
static |
Definition at line 364 of file sfc_hunt.c.
References enabled, hunt_enable_workaround_35388(), hunt_get_workarounds(), MC_CMD_GET_WORKAROUNDS_OUT_BUG35388, and rc.
Referenced by hunt_probe().
|
static |
Definition at line 383 of file sfc_hunt.c.
References hunt_nic::efx, efx_mcdi_req_s::emr_cmd, efx_mcdi_req_s::emr_in_buf, efx_mcdi_req_s::emr_in_length, efx_mcdi_req_s::emr_out_buf, efx_mcdi_req_s::emr_out_length, hunt_mcdi(), MC_CMD_GET_PORT_ASSIGNMENT, MC_CMD_GET_PORT_ASSIGNMENT_OUT_LEN, MCDI_DECLARE_BUF, MCDI_DWORD, NULL, efx_nic::port, and rc.
Referenced by hunt_probe().
Definition at line 404 of file sfc_hunt.c.
References efx_mcdi_req_s::emr_cmd, efx_mcdi_req_s::emr_in_buf, efx_mcdi_req_s::emr_in_length, efx_mcdi_req_s::emr_out_buf, efx_mcdi_req_s::emr_out_length, efx_mcdi_req_s::emr_out_length_used, EMSGSIZE, ETH_ALEN, hunt_mcdi(), MC_CMD_GET_MAC_ADDRESSES, MC_CMD_GET_MAC_ADDRESSES_OUT_LEN, MCDI_DECLARE_BUF, MCDI_PTR, memcpy(), NULL, and rc.
Referenced by hunt_probe().
|
static |
Definition at line 430 of file sfc_hunt.c.
References DBGC2, efx_mcdi_req_s::emr_cmd, efx_mcdi_req_s::emr_in_buf, efx_mcdi_req_s::emr_in_length, efx_mcdi_req_s::emr_out_buf, efx_mcdi_req_s::emr_out_length, efx_mcdi_req_s::emr_out_length_used, EMSGSIZE, hunt_mcdi(), MC_CMD_GET_PHY_CFG, MC_CMD_GET_PHY_CFG_OUT_LEN, MCDI_DECLARE_BUF, MCDI_DWORD, NULL, hunt_nic::phy_cap, hunt_nic::phy_cap_mask, and rc.
Referenced by hunt_probe().
|
static |
Definition at line 455 of file sfc_hunt.c.
References efx_mcdi_req_s::emr_cmd, efx_mcdi_req_s::emr_in_buf, efx_mcdi_req_s::emr_in_length, efx_mcdi_req_s::emr_out_buf, efx_mcdi_req_s::emr_out_length, efx_mcdi_req_s::emr_out_length_used, EMSGSIZE, hunt_nic::flags, hunt_mcdi(), MC_CMD_DRV_ATTACH, MC_CMD_DRV_ATTACH_EXT_OUT_LEN, MC_CMD_DRV_ATTACH_IN_LEN, MC_CMD_DRV_ATTACH_OUT_LEN, MC_CMD_DRV_PREBOOT_LBN, MC_CMD_FW_DONT_CARE, MCDI_DECLARE_BUF, MCDI_DWORD, MCDI_SET_DWORD, and rc.
Referenced by hunt_probe(), and hunt_remove().
|
static |
Definition at line 491 of file sfc_hunt.c.
References efx_mcdi_req_s::emr_cmd, efx_mcdi_req_s::emr_in_buf, efx_mcdi_req_s::emr_in_length, efx_mcdi_req_s::emr_out_buf, efx_mcdi_req_s::emr_out_length, hunt_mcdi(), MC_CMD_ENTITY_RESET, MC_CMD_ENTITY_RESET_IN_LEN, MCDI_DECLARE_BUF, MCDI_POPULATE_DWORD_1, and NULL.
Referenced by hunt_close(), and hunt_probe().
|
static |
Definition at line 507 of file sfc_hunt.c.
References DBGC, efx_mcdi_req_s::emr_cmd, efx_mcdi_req_s::emr_in_buf, efx_mcdi_req_s::emr_in_length, efx_mcdi_req_s::emr_out_buf, efx_mcdi_req_s::emr_out_length, hunt_mcdi_quiet(), MC_CMD_SET_TUNNEL_ENCAP_UDP_PORTS, MC_CMD_SET_TUNNEL_ENCAP_UDP_PORTS_IN_LENMAX, MC_CMD_SET_TUNNEL_ENCAP_UDP_PORTS_IN_UNLOADING_LBN, MC_CMD_SET_TUNNEL_ENCAP_UDP_PORTS_OUT_LEN, MC_CMD_SET_TUNNEL_ENCAP_UDP_PORTS_OUT_RESETTING_LBN, MCDI_DECLARE_BUF, MCDI_DWORD, MCDI_SET_DWORD, mdelay(), memset(), and rc.
Referenced by hunt_probe().
|
static |
Definition at line 537 of file sfc_hunt.c.
References hunt_nic::efx, EFX_MAC_FRAME_LEN, efx_mcdi_req_s::emr_cmd, efx_mcdi_req_s::emr_in_buf, efx_mcdi_req_s::emr_in_length, efx_mcdi_req_s::emr_out_buf, efx_mcdi_req_s::emr_out_length, EPERM, ETH_ALEN, ETH_FRAME_LEN, hunt_mcdi(), net_device::ll_addr, MC_CMD_FCNTL_AUTO, MC_CMD_FCNTL_BIDIR, MC_CMD_PHY_CAP_AN_LBN, MC_CMD_SET_MAC, MC_CMD_SET_MAC_IN_LEN, MCDI_DECLARE_BUF, MCDI_PTR, MCDI_SET_DWORD, memcpy(), netdev, efx_nic::netdev, NULL, hunt_nic::phy_cap_mask, and rc.
Referenced by hunt_open().
|
static |
Definition at line 575 of file sfc_hunt.c.
References efx_mcdi_req_s::emr_cmd, efx_mcdi_req_s::emr_in_buf, efx_mcdi_req_s::emr_in_length, efx_mcdi_req_s::emr_out_buf, efx_mcdi_req_s::emr_out_length, hunt_mcdi(), MC_CMD_ALLOC_VIS, MC_CMD_ALLOC_VIS_IN_LEN, MCDI_DECLARE_BUF, MCDI_SET_DWORD, and NULL.
Referenced by hunt_open().
|
static |
Definition at line 592 of file sfc_hunt.c.
References DBGC, efx_mcdi_req_s::emr_cmd, efx_mcdi_req_s::emr_in_buf, efx_mcdi_req_s::emr_in_length, efx_mcdi_req_s::emr_out_buf, efx_mcdi_req_s::emr_out_length, hunt_mcdi(), MC_CMD_FREE_VIS, NULL, and rc.
Referenced by hunt_close(), and hunt_open().
|
static |
Definition at line 615 of file sfc_hunt.c.
References DBGC, hunt_nic::efx, efx_mcdi_req_s::emr_cmd, efx_mcdi_req_s::emr_in_buf, efx_mcdi_req_s::emr_in_length, efx_mcdi_req_s::emr_out_buf, efx_mcdi_req_s::emr_out_length, efx_mcdi_req_s::emr_out_length_used, EMSGSIZE, flags, hunt_mcdi(), MC_CMD_GET_LINK, MC_CMD_GET_LINK_OUT_LEN, MC_CMD_GET_LINK_OUT_LINK_UP_LBN, MCDI_DECLARE_BUF, MCDI_DWORD, efx_nic::netdev, netdev_link_down(), netdev_link_up(), NULL, and rc.
Referenced by hunt_open(), and hunt_poll().
|
static |
Definition at line 678 of file sfc_hunt.c.
References addr, efx_hunt_tx_init(), EFX_POPULATE_QWORD_2, EFX_TXD_SIZE, EFX_TXQ_NBUFS, efx_mcdi_req_s::emr_cmd, efx_mcdi_req_s::emr_in_buf, efx_mcdi_req_s::emr_in_length, efx_mcdi_req_s::emr_out_buf, efx_mcdi_req_s::emr_out_length, EVB_PORT_ID_ASSIGNED, hunt_mcdi(), MC_CMD_INIT_TXQ, MC_CMD_INIT_TXQ_IN_LEN, MCDI_DECLARE_BUF, MCDI_POPULATE_DWORD_6, MCDI_PTR, MCDI_SET_DWORD, netdev, NULL, and rc.
Referenced by hunt_open().
|
static |
Definition at line 725 of file sfc_hunt.c.
References DBGC, hunt_nic::efx, efx_hunt_free_special_buffer(), EFX_TXD_SIZE, efx_mcdi_req_s::emr_cmd, efx_mcdi_req_s::emr_in_buf, efx_mcdi_req_s::emr_in_length, efx_mcdi_req_s::emr_out_buf, efx_mcdi_req_s::emr_out_length, hunt_mcdi(), MC_CMD_FINI_TXQ, MC_CMD_FINI_TXQ_IN_LEN, MCDI_DECLARE_BUF, MCDI_SET_DWORD, NULL, rc, efx_tx_queue::ring, and efx_nic::txq.
Referenced by hunt_close(), and hunt_open().
|
static |
Definition at line 757 of file sfc_hunt.c.
References EIO, efx_mcdi_req_s::emr_cmd, efx_mcdi_req_s::emr_in_buf, efx_mcdi_req_s::emr_in_length, efx_mcdi_req_s::emr_out_buf, efx_mcdi_req_s::emr_out_length, efx_mcdi_req_s::emr_out_length_used, ETH_ALEN, EVB_PORT_ID_ASSIGNED, hunt_mcdi(), hunt_nic::mac, MC_CMD_FILTER_OP, MC_CMD_FILTER_OP_IN_LEN, MC_CMD_FILTER_OP_IN_OP_INSERT, MC_CMD_FILTER_OP_IN_OP_SUBSCRIBE, MC_CMD_FILTER_OP_IN_RX_DEST_HOST, MC_CMD_FILTER_OP_IN_TX_DEST_DEFAULT, MC_CMD_FILTER_OP_OUT_LEN, hunt_nic::mc_filter_id, MCDI_DECLARE_BUF, MCDI_POPULATE_DWORD_1, MCDI_PTR, MCDI_QWORD, MCDI_SET_DWORD, memcpy(), memset(), netdev, rc, and hunt_nic::uc_filter_id.
Referenced by hunt_rx_filter_init().
|
static |
Definition at line 811 of file sfc_hunt.c.
References efx_mcdi_req_s::emr_cmd, efx_mcdi_req_s::emr_in_buf, efx_mcdi_req_s::emr_in_length, efx_mcdi_req_s::emr_out_buf, efx_mcdi_req_s::emr_out_length, hunt_mcdi(), MC_CMD_FILTER_OP, MC_CMD_FILTER_OP_IN_LEN, MC_CMD_FILTER_OP_IN_OP_REMOVE, MC_CMD_FILTER_OP_IN_OP_UNSUBSCRIBE, hunt_nic::mc_filter_id, MCDI_DECLARE_BUF, MCDI_SET_DWORD, MCDI_SET_QWORD, NULL, and hunt_nic::uc_filter_id.
Referenced by hunt_rx_filter_fini(), and hunt_rx_filter_init().
|
static |
Definition at line 832 of file sfc_hunt.c.
References efx_mcdi_req_s::emr_cmd, efx_mcdi_req_s::emr_in_buf, efx_mcdi_req_s::emr_in_length, efx_mcdi_req_s::emr_out_buf, efx_mcdi_req_s::emr_out_length, efx_mcdi_req_s::emr_out_length_used, EMSGSIZE, ETH_ALEN, hunt_mcdi(), hunt_nic::mac, MC_CMD_GET_MAC_ADDRESSES, MC_CMD_GET_MAC_ADDRESSES_OUT_LEN, MC_CMD_INIT_EVQ_OUT_LEN, MCDI_DECLARE_BUF, MCDI_PTR, memcpy(), NULL, and rc.
Referenced by hunt_rx_filter_init().
|
static |
Definition at line 856 of file sfc_hunt.c.
References hunt_get_mac(), hunt_rx_filter_insert(), hunt_rx_filter_remove(), netdev, and rc.
Referenced by hunt_open().
|
static |
Definition at line 876 of file sfc_hunt.c.
References addr, efx_hunt_rx_init(), EFX_POPULATE_QWORD_2, EFX_RXD_SIZE, EFX_RXQ_NBUFS, efx_mcdi_req_s::emr_cmd, efx_mcdi_req_s::emr_in_buf, efx_mcdi_req_s::emr_in_length, efx_mcdi_req_s::emr_out_buf, efx_mcdi_req_s::emr_out_length, EVB_PORT_ID_ASSIGNED, hunt_mcdi(), MC_CMD_INIT_RXQ, MC_CMD_INIT_RXQ_IN_LEN, MCDI_DECLARE_BUF, MCDI_POPULATE_DWORD_5, MCDI_PTR, MCDI_SET_DWORD, netdev, NULL, and rc.
Referenced by hunt_open().
|
static |
Definition at line 920 of file sfc_hunt.c.
References hunt_rx_filter_remove().
Referenced by hunt_close(), and hunt_open().
|
static |
Definition at line 926 of file sfc_hunt.c.
References DBGC, hunt_nic::efx, efx_hunt_free_special_buffer(), EFX_RXD_SIZE, efx_mcdi_req_s::emr_cmd, efx_mcdi_req_s::emr_in_buf, efx_mcdi_req_s::emr_in_length, efx_mcdi_req_s::emr_out_buf, efx_mcdi_req_s::emr_out_length, hunt_mcdi(), MC_CMD_FINI_RXQ, MC_CMD_FINI_RXQ_IN_LEN, MCDI_DECLARE_BUF, MCDI_SET_DWORD, NULL, rc, efx_rx_queue::ring, and efx_nic::rxq.
Referenced by hunt_close(), and hunt_open().
|
static |
Definition at line 959 of file sfc_hunt.c.
References addr, EFX_EVQ_NBUFS, EFX_EVQ_SIZE, efx_hunt_ev_init(), EFX_POPULATE_QWORD_2, efx_mcdi_req_s::emr_cmd, efx_mcdi_req_s::emr_in_buf, efx_mcdi_req_s::emr_in_length, efx_mcdi_req_s::emr_out_buf, efx_mcdi_req_s::emr_out_length, efx_mcdi_req_s::emr_out_length_used, EMSGSIZE, hunt_mcdi(), MC_CMD_INIT_EVQ, MC_CMD_INIT_EVQ_IN_COUNT_MODE_DIS, MC_CMD_INIT_EVQ_IN_LEN, MC_CMD_INIT_EVQ_IN_TMR_MODE_DIS, MC_CMD_INIT_EVQ_OUT_LEN, MCDI_DECLARE_BUF, MCDI_POPULATE_DWORD_6, MCDI_PTR, MCDI_SET_DWORD, netdev, and rc.
Referenced by hunt_open().
|
static |
Definition at line 1018 of file sfc_hunt.c.
References DBGC, hunt_nic::efx, EFX_EVQ_SIZE, efx_hunt_free_special_buffer(), efx_mcdi_req_s::emr_cmd, efx_mcdi_req_s::emr_in_buf, efx_mcdi_req_s::emr_in_length, efx_mcdi_req_s::emr_out_buf, efx_mcdi_req_s::emr_out_length, efx_nic::evq, hunt_mcdi(), MC_CMD_FINI_EVQ, MC_CMD_FINI_EVQ_IN_LEN, MCDI_DECLARE_BUF, MCDI_SET_DWORD, NULL, rc, and efx_ev_queue::ring.
Referenced by hunt_close(), and hunt_open().
|
static |
Definition at line 1044 of file sfc_hunt.c.
References currticks(), hunt_nic::efx, efx_hunt_poll(), EFX_STATE_POLLING, hunt_check_link(), hunt_nic::link_poll_timer, netdev, net_device::priv, efx_nic::state, and TICKS_PER_SEC.
|
static |
Definition at line 1072 of file sfc_hunt.c.
References DBGC2, efx_hunt_close(), efx_hunt_open(), hunt_alloc_vis(), hunt_check_link(), hunt_ev_fini(), hunt_ev_init(), hunt_free_vis(), hunt_rx_filter_fini(), hunt_rx_filter_init(), hunt_rx_fini(), hunt_rx_init(), hunt_set_mac(), hunt_tx_fini(), hunt_tx_init(), net_device::name, netdev, netdev_link_down(), net_device::priv, rc, and strerror().
|
static |
Definition at line 1134 of file sfc_hunt.c.
References efx_hunt_close(), hunt_ev_fini(), hunt_free_vis(), hunt_reset(), hunt_rx_filter_fini(), hunt_rx_fini(), hunt_tx_fini(), netdev, and net_device::priv.
|
static |
Definition at line 1170 of file sfc_hunt.c.
References _efx_writel(), alloc_etherdev(), pci_device::busdevfn, cpu_to_le32, DBG2, pci_device::dev, net_device::dev, hunt_nic::efx, EFX_HUNTINGTON, efx_probe(), efx_remove(), EIO, ENOMEM, ER_DZ_MC_DB_HWRD, ES_DZ_RX_PREFIX_SIZE, hunt_nic::flags, hunt_clear_udp_tunnel_ports(), hunt_driver_attach(), hunt_get_phy_cfg(), hunt_get_port_assignment(), hunt_mac_addr(), hunt_mcdi_fini(), hunt_mcdi_init(), hunt_nic_is_primary(), hunt_nic_type, hunt_operations, hunt_reset(), hunt_workaround_35388(), if(), net_device::ll_addr, MC_CMD_DRV_ATTACH_EXT_OUT_FLAG_NO_ACTIVE_PORT, memset(), netdev, efx_nic::netdev, netdev_init(), NETDEV_IRQ_UNSUPPORTED, netdev_put(), hunt_nic::next_primary, PCI_ARGS, PCI_FIRST_FUNC, PCI_FMT, pci_set_drvdata(), hunt_nic::primary, primary_nics, net_device::priv, rc, register_netdev(), efx_nic::rx_prefix_size, net_device::state, efx_nic::type, and efx_nic::workaround_35388.
|
static |
Definition at line 1290 of file sfc_hunt.c.
References efx_remove(), hunt_nic::flags, hunt_driver_attach(), hunt_mcdi_fini(), MC_CMD_DRV_ATTACH_EXT_OUT_FLAG_NO_ACTIVE_PORT, netdev, netdev_nullify(), netdev_put(), pci_get_drvdata(), net_device::priv, and unregister_netdev().
Definition at line 51 of file sfc_hunt.c.
Referenced by hunt_probe().
|
static |
Definition at line 1161 of file sfc_hunt.c.
Referenced by hunt_probe().
const struct efx_nic_type hunt_nic_type |
Definition at line 1313 of file sfc_hunt.c.
Referenced by hunt_probe().
|
static |
Definition at line 1317 of file sfc_hunt.c.
struct pci_driver hunt_driver __pci_driver |
Definition at line 1324 of file sfc_hunt.c.