Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 19 Nov 2012 05:24:34 +0000 (UTC)
From:      Juli Mallett <jmallett@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r243260 - head/sys/contrib/octeon-sdk
Message-ID:  <201211190524.qAJ5OYOm090302@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201211190524.qAJ5OYOm090302>