svn commit: r208197 - stable/7/sys/dev/fxp
Pyun YongHyeon
yongari at FreeBSD.org
Mon May 17 16:54:31 UTC 2010
Author: yongari
Date: Mon May 17 16:54:31 2010
New Revision: 208197
URL: http://svn.freebsd.org/changeset/base/208197
Log:
MFC r207750:
8255x configure command requires number of bytes of configuration
table. The default size of the configuration table was 22 bytes. To
use extended feature of 82550/82551 the configuration table size
was expanded to 32 bytes. The added configuration for 82550/82551
specifies VLAN hardware tagging and IPSec configuration as well as
TCO.
To make configuration easier fxp(4) used a configuration template
and the template was copied to configuration table. After that,
some parameters of the configuration table was changed depending on
controller type and operation mode. However the size of template
was 22 bytes so some configuration parameters were not properly
initialized on 82550/82551.
Fix this by increasing the template size. For 82557, 82558 and
82559 the size of the configuration is still 22 bytes.
Modified:
stable/7/sys/dev/fxp/if_fxp.c
Directory Properties:
stable/7/sys/ (props changed)
stable/7/sys/cddl/contrib/opensolaris/ (props changed)
stable/7/sys/contrib/dev/acpica/ (props changed)
stable/7/sys/contrib/pf/ (props changed)
Modified: stable/7/sys/dev/fxp/if_fxp.c
==============================================================================
--- stable/7/sys/dev/fxp/if_fxp.c Mon May 17 16:47:25 2010 (r208196)
+++ stable/7/sys/dev/fxp/if_fxp.c Mon May 17 16:54:31 2010 (r208197)
@@ -106,9 +106,8 @@ static int tx_threshold = 64;
/*
* The configuration byte map has several undefined fields which
- * must be one or must be zero. Set up a template for these bits
- * only, (assuming a 82557 chip) leaving the actual configuration
- * to fxp_init.
+ * must be one or must be zero. Set up a template for these bits.
+ * The actual configuration is performed in fxp_init.
*
* See struct fxp_cb_config for the bit definitions.
*/
@@ -137,7 +136,17 @@ static u_char fxp_cb_config_template[] =
0xf0, /* 18 */
0x0, /* 19 */
0x3f, /* 20 */
- 0x5 /* 21 */
+ 0x5, /* 21 */
+ 0x0, /* 22 */
+ 0x0, /* 23 */
+ 0x0, /* 24 */
+ 0x0, /* 25 */
+ 0x0, /* 26 */
+ 0x0, /* 27 */
+ 0x0, /* 28 */
+ 0x0, /* 29 */
+ 0x0, /* 30 */
+ 0x0 /* 31 */
};
/*
More information about the svn-src-all
mailing list