svn commit: r243260 - head/sys/contrib/octeon-sdk

Juli Mallett jmallett at FreeBSD.org
Mon Nov 19 05:24:34 UTC 2012


Author: jmallett
Date: Mon Nov 19 05:24:33 2012
New Revision: 243260
URL: http://svnweb.freebsd.org/changeset/base/243260

Log:
  Fix packet receive on the ATCA-7220 by disabling FCS-related checks, since the
  FCS is stripped by the underlying hardware before it reaches the Octeon.

Modified:
  head/sys/contrib/octeon-sdk/cvmx-helper-spi.c
  head/sys/contrib/octeon-sdk/cvmx-spi.c

Modified: head/sys/contrib/octeon-sdk/cvmx-helper-spi.c
==============================================================================
--- head/sys/contrib/octeon-sdk/cvmx-helper-spi.c	Mon Nov 19 04:10:23 2012	(r243259)
+++ head/sys/contrib/octeon-sdk/cvmx-helper-spi.c	Mon Nov 19 05:24:33 2012	(r243260)
@@ -164,6 +164,13 @@ int __cvmx_helper_spi_enable(int interfa
         cvmx_pip_prt_cfgx_t port_config;
         port_config.u64 = cvmx_read_csr(CVMX_PIP_PRT_CFGX(ipd_port));
         port_config.s.crc_en = 1;
+#ifdef OCTEON_VENDOR_RADISYS
+	/*
+	 * Incoming packets on the RSYS4GBE have the FCS stripped.
+	 */
+	if (cvmx_sysinfo_get()->board_type == CVMX_BOARD_TYPE_CUST_RADISYS_RSYS4GBE)
+		port_config.s.crc_en = 0;
+#endif
         cvmx_write_csr(CVMX_PIP_PRT_CFGX(ipd_port), port_config.u64);
     }
 

Modified: head/sys/contrib/octeon-sdk/cvmx-spi.c
==============================================================================
--- head/sys/contrib/octeon-sdk/cvmx-spi.c	Mon Nov 19 04:10:23 2012	(r243259)
+++ head/sys/contrib/octeon-sdk/cvmx-spi.c	Mon Nov 19 05:24:33 2012	(r243260)
@@ -652,6 +652,13 @@ int cvmx_spi_interface_up_cb(int interfa
 
     gmxx_rxx_frm_min.u64 = 0;
     gmxx_rxx_frm_min.s.len = 64;
+#ifdef OCTEON_VENDOR_RADISYS
+    /*
+     * Incoming packets on the RSYS4GBE have the FCS stripped.
+     */
+    if (cvmx_sysinfo_get()->board_type == CVMX_BOARD_TYPE_CUST_RADISYS_RSYS4GBE)
+	    gmxx_rxx_frm_min.s.len -= 4;
+#endif
     cvmx_write_csr(CVMX_GMXX_RXX_FRM_MIN(0,interface), gmxx_rxx_frm_min.u64);
     gmxx_rxx_frm_max.u64 = 0;
     gmxx_rxx_frm_max.s.len = 64*1024 - 4;


More information about the svn-src-head mailing list