svn commit: r208196 - stable/8/sys/dev/fxp

Pyun YongHyeon yongari at FreeBSD.org
Mon May 17 16:47:26 UTC 2010


Author: yongari
Date: Mon May 17 16:47:25 2010
New Revision: 208196
URL: http://svn.freebsd.org/changeset/base/208196

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/8/sys/dev/fxp/if_fxp.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)
  stable/8/sys/dev/xen/xenpci/   (props changed)
  stable/8/sys/geom/sched/   (props changed)

Modified: stable/8/sys/dev/fxp/if_fxp.c
==============================================================================
--- stable/8/sys/dev/fxp/if_fxp.c	Mon May 17 16:04:09 2010	(r208195)
+++ stable/8/sys/dev/fxp/if_fxp.c	Mon May 17 16:47:25 2010	(r208196)
@@ -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