diff options
Diffstat (limited to 'drivers/net/vxge/vxge-config.c')
-rw-r--r-- | drivers/net/vxge/vxge-config.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/drivers/net/vxge/vxge-config.c b/drivers/net/vxge/vxge-config.c index 933237ec38d..c07a7379cfa 100644 --- a/drivers/net/vxge/vxge-config.c +++ b/drivers/net/vxge/vxge-config.c | |||
@@ -2157,6 +2157,28 @@ exit: | |||
2157 | } | 2157 | } |
2158 | 2158 | ||
2159 | /* | 2159 | /* |
2160 | * vxge_hw_vpath_strip_fcs_check - Check for FCS strip. | ||
2161 | */ | ||
2162 | enum vxge_hw_status | ||
2163 | vxge_hw_vpath_strip_fcs_check(struct __vxge_hw_device *hldev, u64 vpath_mask) | ||
2164 | { | ||
2165 | struct vxge_hw_vpmgmt_reg __iomem *vpmgmt_reg; | ||
2166 | enum vxge_hw_status status = VXGE_HW_OK; | ||
2167 | int i = 0, j = 0; | ||
2168 | |||
2169 | for (i = 0; i < VXGE_HW_MAX_VIRTUAL_PATHS; i++) { | ||
2170 | if (!((vpath_mask) & vxge_mBIT(i))) | ||
2171 | continue; | ||
2172 | vpmgmt_reg = hldev->vpmgmt_reg[i]; | ||
2173 | for (j = 0; j < VXGE_HW_MAC_MAX_MAC_PORT_ID; j++) { | ||
2174 | if (readq(&vpmgmt_reg->rxmac_cfg0_port_vpmgmt_clone[j]) | ||
2175 | & VXGE_HW_RXMAC_CFG0_PORT_VPMGMT_CLONE_STRIP_FCS) | ||
2176 | return VXGE_HW_FAIL; | ||
2177 | } | ||
2178 | } | ||
2179 | return status; | ||
2180 | } | ||
2181 | /* | ||
2160 | * vxge_hw_mgmt_reg_Write - Write Titan register. | 2182 | * vxge_hw_mgmt_reg_Write - Write Titan register. |
2161 | */ | 2183 | */ |
2162 | enum vxge_hw_status | 2184 | enum vxge_hw_status |