ixgbe_main.c revision f27d3025d908422c3f6e682964b4f1e2b4834e4a
2N/A#include "ixgbe_sw.h"
static void ixgbe_local_timer(void *);
const void *impl_data);
NULL,
_init(void)
int status;
return (status);
_fini(void)
int status;
return (status);
int status;
return (status);
int instance;
switch (cmd) {
return (DDI_FAILURE);
case DDI_RESUME:
case DDI_ATTACH:
goto attach_fail;
goto attach_fail;
goto attach_fail;
goto attach_fail;
goto attach_fail;
goto attach_fail;
goto attach_fail;
goto attach_fail;
goto attach_fail;
goto attach_fail;
goto attach_fail;
goto attach_fail;
goto attach_fail;
goto attach_fail;
goto attach_fail;
return (DDI_SUCCESS);
return (DDI_FAILURE);
switch (cmd) {
return (DDI_FAILURE);
case DDI_SUSPEND:
case DDI_DETACH:
return (DDI_FAILURE);
return (DDI_FAILURE);
return (DDI_FAILURE);
return (DDI_SUCCESS);
int status;
return (IXGBE_FAILURE);
return (IXGBE_SUCCESS);
return (IXGBE_FAILURE);
return (IXGBE_FAILURE);
return (IXGBE_SUCCESS);
return (IXGBE_FAILURE);
return (IXGBE_SUCCESS);
return (DDI_FAILURE);
return (DDI_FAILURE);
return (DDI_SUCCESS);
return (DDI_FAILURE);
return (DDI_SUCCESS);
goto init_fail;
goto init_fail;
goto init_fail;
* & flow control type is controlled by ixgbe.conf
goto init_fail;
goto init_fail;
goto init_fail;
return (IXGBE_SUCCESS);
return (IXGBE_FAILURE);
return (IXGBE_FAILURE);
return (IXGBE_SUCCESS);
return (IXGBE_FAILURE);
return (IXGBE_FAILURE);
* Configure/Initialize hardware
return (IXGBE_FAILURE);
return (IXGBE_SUCCESS);
goto reset_failure;
goto reset_failure;
return (IXGBE_SUCCESS);
return (IXGBE_FAILURE);
desc_num = 0;
if (desc_num > 0) {
static boolean_t
for (i = 0; i < TX_DRAIN_TIME; i++) {
if (done)
return (done);
static boolean_t
for (i = 0; i < RX_DRAIN_TIME; i++) {
if (done)
return (done);
goto start_failure;
goto start_failure;
return (IXGBE_SUCCESS);
return (IXGBE_FAILURE);
return (IXGBE_FAILURE);
return (IXGBE_FAILURE);
return (IXGBE_SUCCESS);
* 3. Initialize software pointers/parameters for receive/transmit;
reta = 0;
sizeof (uint32_t));
int slot;
return (EIO);
return (EINVAL);
return (ENOENT);
return (EIO);
ETHERADDRL) == 0) {
return (EIO);
* ixgbe_get_conf - Get driver configurations set in driver.conf.
* file ixgbe.conf.
* ixgbe.conf.
int value;
return (value);
if (invalid) {
if (setup_hw) {
return (IXGBE_FAILURE);
return (IXGBE_SUCCESS);
static boolean_t
if (link_up) {
switch (speed) {
return (link_changed);
static boolean_t
return (B_FALSE);
if (result) {
return (result);
static boolean_t
return (B_FALSE);
return (B_TRUE);
static boolean_t
#ifdef __sparc
int err;
while (nelts--)
while (nelts--)
if (found) {
return (B_TRUE);
return (B_TRUE);
#pragma inline(ixgbe_arm_watchdog_timer)
if (tid != 0)
if (tid != 0)
gpie = 0;
eiac = 0;
enum ioc_reply
return (IOC_INVAL);
return (IOC_INVAL);
case LB_GET_INFO_SIZE:
return (IOC_INVAL);
case LB_GET_INFO:
return (IOC_INVAL);
value = 0;
case LB_GET_MODE:
return (IOC_INVAL);
case LB_SET_MODE:
size = 0;
return (IOC_INVAL);
return (IOC_INVAL);
return (IOC_INVAL);
return (IOC_REPLY);
static boolean_t
return (B_TRUE);
return (B_TRUE);
switch (mode) {
return (B_FALSE);
case IXGBE_LB_INTERNAL_MAC:
return (B_TRUE);
&atlas);
atlas);
&atlas);
atlas);
&atlas);
atlas);
&atlas);
atlas);
#pragma inline(ixgbe_intr_rx_work)
#pragma inline(ixgbe_intr_tx_work)
#pragma inline(ixgbe_intr_other_work)
if (link_changed)
static uint_t
return (DDI_INTR_UNCLAIMED);
if (eicr) {
if (tx_reschedule) {
if (link_changed)
return (result);
static uint_t
return (DDI_INTR_CLAIMED);
static uint_t
int r_idx;
while (r_idx >= 0) {
return (DDI_INTR_CLAIMED);
static uint_t
return (DDI_INTR_CLAIMED);
int intr_types;
int rc;
return (IXGBE_FAILURE);
return (IXGBE_SUCCESS);
return (IXGBE_SUCCESS);
return (IXGBE_SUCCESS);
return (IXGBE_FAILURE);
int rc;
switch (intr_type) {
case DDI_INTR_TYPE_FIXED:
case DDI_INTR_TYPE_MSI:
case DDI_INTR_TYPE_MSIX:
return (IXGBE_FAILURE);
return (IXGBE_FAILURE);
return (IXGBE_FAILURE);
actual = 0;
goto alloc_handle_fail;
actual);
goto alloc_handle_fail;
rx_rings);
goto alloc_handle_fail;
goto alloc_handle_fail;
return (IXGBE_SUCCESS);
return (IXGBE_FAILURE);
int vector;
int rc;
vector = 0;
case DDI_INTR_TYPE_MSIX:
return (IXGBE_FAILURE);
vector++;
(void) ddi_intr_remove_handler(
return (IXGBE_FAILURE);
vector++;
case DDI_INTR_TYPE_MSI:
return (IXGBE_FAILURE);
vector++;
case DDI_INTR_TYPE_FIXED:
return (IXGBE_FAILURE);
vector++;
return (IXGBE_FAILURE);
return (IXGBE_SUCCESS);
#pragma inline(ixgbe_map_rxring_to_vector)
#pragma inline(ixgbe_map_txring_to_vector)
int i, vector = 0;
return (IXGBE_SUCCESS);
vect_remain--;
for (i = 0; i < vect_remain; i++) {
return (IXGBE_SUCCESS);
while (r_idx >= 0) {
v_idx);
while (r_idx >= 0) {
v_idx);
int rc;
int rc;
int rc;
return (IXGBE_FAILURE);
return (IXGBE_FAILURE);
return (IXGBE_SUCCESS);
int rc;
return (IXGBE_FAILURE);
return (IXGBE_FAILURE);
return (IXGBE_SUCCESS);
if (oldval < n)
return (newval);
static uint8_t *
return (addr);
fma_acc_flag = 0;
fma_dma_flag = 0;