/* * Description: * Stop MAC function * * Parameters: * In: * dwIoBase - Base Address for MAC * Out: * none * * Return Value: true if success; otherwise false * */ bool MACbSafeStop(void __iomem *dwIoBase) { MACvRegBitsOff(dwIoBase, MAC_REG_TCR, TCR_AUTOBCNTX); if (!MACbSafeRxOff(dwIoBase)) { pr_debug(" MACbSafeRxOff == false)\n"); MACbSafeSoftwareReset(dwIoBase); return false; } if (!MACbSafeTxOff(dwIoBase)) { pr_debug(" MACbSafeTxOff == false)\n"); MACbSafeSoftwareReset(dwIoBase); return false; } MACvRegBitsOff(dwIoBase, MAC_REG_HOSTCR, HOSTCR_MACEN); return true; }
/* * Description: * Stop MAC function * * Parameters: * In: * io_base - Base Address for MAC * Out: * none * * Return Value: true if success; otherwise false * */ bool MACbSafeStop(struct vnt_private *priv) { void __iomem *io_base = priv->PortOffset; MACvRegBitsOff(io_base, MAC_REG_TCR, TCR_AUTOBCNTX); if (!MACbSafeRxOff(priv)) { pr_debug(" MACbSafeRxOff == false)\n"); MACbSafeSoftwareReset(priv); return false; } if (!MACbSafeTxOff(priv)) { pr_debug(" MACbSafeTxOff == false)\n"); MACbSafeSoftwareReset(priv); return false; } MACvRegBitsOff(io_base, MAC_REG_HOSTCR, HOSTCR_MACEN); return true; }