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;
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to