/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2014 QLogic Corporation
* The contents of this file are subject to the terms of the
* QLogic End User License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the License at
* See the License for the specific language governing permissions
* and limitations under the License.
*/
/*
*/
#include "bnxe.h"
/* these are the default phy link configs */
{
B_TRUE, /* link_autoneg */
B_TRUE, /* param_20000fdx */
B_TRUE, /* param_10000fdx */
B_TRUE, /* param_2500fdx */
B_TRUE, /* param_1000fdx */
B_FALSE, /* param_100fdx */
B_FALSE, /* param_100hdx */
B_FALSE, /* param_10fdx */
B_FALSE, /* param_10hdx */
B_TRUE, /* param_txpause */
B_TRUE /* param_rxpause */
};
char * pName,
void * pVal,
int defaultVal,
{
int val;
/* first check if the hardcoded default has been overridden */
name,
/* now check for a config for this specific instance */
name,
val);
if (boolVal)
{
}
else
{
}
}
{
int i;
/* DCBX defaults configuration: DCBX not supported by default. */
/* DCBX defaults configuration: PFC not supported. */
for (i = 0; i < LLFC_DRIVER_TRAFFIC_TYPE_MAX; i++)
{
}
B_FALSE);
B_FALSE);
B_FALSE);
B_FALSE);
B_FALSE);
B_FALSE);
B_FALSE);
B_FALSE);
B_FALSE);
B_FALSE);
B_FALSE);
B_FALSE);
B_FALSE);
B_FALSE);
B_FALSE);
B_FALSE);
B_FALSE);
B_FALSE);
B_FALSE);
B_FALSE);
B_FALSE);
for (i = 0; i < 8; i++)
{
B_FALSE);
}
for (i = 0; i < 8; i++)
{
B_FALSE);
}
for (i = 0; i < 8; i++)
{
B_FALSE);
}
for (i = 0; i < 8; i++)
{
B_FALSE);
}
B_FALSE);
for (i = 0; i < 4; i++)
{
B_FALSE);
B_FALSE);
B_FALSE);
B_FALSE);
}
B_FALSE);
}
{
int option, i;
/* set the defaults */
/* override the defaults based on what is set in bnxe.conf */
B_TRUE);
B_TRUE);
B_TRUE);
B_TRUE);
B_TRUE);
B_TRUE);
B_TRUE);
B_TRUE);
B_TRUE);
B_TRUE);
B_TRUE);
B_TRUE);
B_FALSE);
{
case USER_OPTION_CKSUM_L3:
break;
case USER_OPTION_CKSUM_L3_L4:
break;
case USER_OPTION_CKSUM_NONE:
default:
break;
}
&option,
B_FALSE);
(option < USER_OPTION_MTU_MIN) ?
(option > USER_OPTION_MTU_MAX) ?
B_FALSE);
{
}
&option,
B_FALSE);
/* adjust for function mode defaults */
{
}
/* numRings must be a power of two and <= max rss chains allowed */
{
}
&option,
B_FALSE);
(option < USER_OPTION_BDS_MIN) ?
(option > USER_OPTION_BDS_MAX) ?
&option,
B_FALSE);
(option < USER_OPTION_BDS_MIN) ?
(option > USER_OPTION_BDS_MAX) ?
&option,
B_FALSE);
(option < 0) ?
0 :
&option,
B_FALSE);
(option < 0) ?
0 :
/* threshold to enable double copy of receive packet */
B_FALSE);
/* threshold to enable double copy of transmit packet */
B_FALSE);
B_TRUE);
&option,
B_FALSE);
&option,
B_FALSE);
B_TRUE);
B_TRUE);
B_TRUE);
LM_AUTOGREEEN_NVRAM /* maybe enabled or disabled */ :
B_TRUE);
/* Only allow LSO if Tx TCP checksum is turned on. */
{
}
B_TRUE);
B_TRUE);
B_TRUE);
{
}
&option,
B_FALSE);
(option < 0) ?
0 :
{
{
}
{
}
}
}
{
/* reset the link status */
/* reset the link partner status */
/* reset the configuration from the configured hardware default */
}