svn commit: r207750 - head/sys/dev/fxp

Pyun YongHyeon yongari at FreeBSD.org
Fri May 7 18:03:36 UTC 2010


Author: yongari
Date: Fri May  7 18:03:35 2010
New Revision: 207750
URL: http://svn.freebsd.org/changeset/base/207750

Log:
  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:
  head/sys/dev/fxp/if_fxp.c

Modified: head/sys/dev/fxp/if_fxp.c
==============================================================================
--- head/sys/dev/fxp/if_fxp.c	Fri May  7 17:20:15 2010	(r207749)
+++ head/sys/dev/fxp/if_fxp.c	Fri May  7 18:03:35 2010	(r207750)
@@ -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-head mailing list