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.
This commit is contained in:
Juli Mallett 2012-11-19 05:24:33 +00:00
parent 8aff4e5fdd
commit 72d324fab6
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=243260
2 changed files with 14 additions and 0 deletions

View File

@ -164,6 +164,13 @@ int __cvmx_helper_spi_enable(int interface)
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);
}

View File

@ -652,6 +652,13 @@ int cvmx_spi_interface_up_cb(int interface, cvmx_spi_mode_t mode)
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;