diff options
author | Eyal Harari <Eyal.Harari@freesacle.com> | 2014-08-25 08:01:40 (GMT) |
---|---|---|
committer | Rich Schmitt <B43082@freescale.com> | 2014-09-05 17:13:07 (GMT) |
commit | 10cecebd6e5a9daf9bcb6ede01184237c7df8d79 (patch) | |
tree | c6a70a26eb1abc6a8e062187041599d5cf834ebe /drivers/net/ethernet/freescale/fman/Peripherals/FM | |
parent | 89e4d4b113dc6d78ab0f2db705bbbcd669efe3b4 (diff) | |
download | linux-fsl-qoriq-10cecebd6e5a9daf9bcb6ede01184237c7df8d79.tar.xz |
FMD: DSAR: configure conflict detection bit for ARP and ND
Signed-off-by: Eyal Harari <Eyal.Harari@freesacle.com>
Diffstat (limited to 'drivers/net/ethernet/freescale/fman/Peripherals/FM')
-rw-r--r-- | drivers/net/ethernet/freescale/fman/Peripherals/FM/Port/fm_port.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/net/ethernet/freescale/fman/Peripherals/FM/Port/fm_port.c b/drivers/net/ethernet/freescale/fman/Peripherals/FM/Port/fm_port.c index e5ffdb4..8378df2 100644 --- a/drivers/net/ethernet/freescale/fman/Peripherals/FM/Port/fm_port.c +++ b/drivers/net/ethernet/freescale/fman/Peripherals/FM/Port/fm_port.c @@ -5535,7 +5535,10 @@ t_Error FM_PORT_EnterDsar(t_Handle h_FmPortRx, t_FmPortDsarParams *params) ArpDescriptor = (t_DsarArpDescriptor*)(PTR_TO_UINT(ArCommonDescPtr) + of->arp); WRITE_UINT32(ArCommonDescPtr->p_ArpDescriptor, PTR_TO_UINT(ArpDescriptor) - fmMuramVirtBaseAddr); arp_bindings = (t_DsarArpBindingEntry*)(PTR_TO_UINT(ArpDescriptor) + sizeof(t_DsarArpDescriptor)); - WRITE_UINT16(ArpDescriptor->control, 0); + if (params->p_AutoResArpInfo->enableConflictDetection) + WRITE_UINT16(ArpDescriptor->control, 1); + else + WRITE_UINT16(ArpDescriptor->control, 0); if (params->p_AutoResArpInfo->tableSize) { t_FmPortDsarArpEntry* arp_entry = params->p_AutoResArpInfo->p_AutoResTable; @@ -5617,7 +5620,10 @@ t_Error FM_PORT_EnterDsar(t_Handle h_FmPortRx, t_FmPortDsarParams *params) NDDescriptor = (t_DsarNdDescriptor*)(PTR_TO_UINT(ArCommonDescPtr) + of->nd); WRITE_UINT32(ArCommonDescPtr->p_NdDescriptor, PTR_TO_UINT(NDDescriptor) - fmMuramVirtBaseAddr); icmpv6_bindings = (t_DsarIcmpV6BindingEntry*)(PTR_TO_UINT(NDDescriptor) + sizeof(t_DsarNdDescriptor)); - WRITE_UINT16(NDDescriptor->control, 0); + if (params->p_AutoResNdpInfo->enableConflictDetection) + WRITE_UINT16(NDDescriptor->control, 1); + else + WRITE_UINT16(NDDescriptor->control, 0); if (params->p_AutoResNdpInfo->tableSizeAssigned + params->p_AutoResNdpInfo->tableSizeTmp) { t_FmPortDsarNdpEntry* ndp_entry = params->p_AutoResNdpInfo->p_AutoResTableAssigned; |