mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-25 11:37:56 +00:00
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:
parent
8aff4e5fdd
commit
72d324fab6
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=243260
@ -164,6 +164,13 @@ int __cvmx_helper_spi_enable(int interface)
|
|||||||
cvmx_pip_prt_cfgx_t port_config;
|
cvmx_pip_prt_cfgx_t port_config;
|
||||||
port_config.u64 = cvmx_read_csr(CVMX_PIP_PRT_CFGX(ipd_port));
|
port_config.u64 = cvmx_read_csr(CVMX_PIP_PRT_CFGX(ipd_port));
|
||||||
port_config.s.crc_en = 1;
|
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);
|
cvmx_write_csr(CVMX_PIP_PRT_CFGX(ipd_port), port_config.u64);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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.u64 = 0;
|
||||||
gmxx_rxx_frm_min.s.len = 64;
|
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);
|
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.u64 = 0;
|
||||||
gmxx_rxx_frm_max.s.len = 64*1024 - 4;
|
gmxx_rxx_frm_max.s.len = 64*1024 - 4;
|
||||||
|
Loading…
Reference in New Issue
Block a user