* ngbe_enable_rx_dma - Enable the Rx DMA unit * @hw: pointer to hardware structure * @regval: register value to write to RXCTRL * * Enables the Rx DMA unit **/
| 1800 | * Enables the Rx DMA unit |
| 1801 | **/ |
| 1802 | s32 ngbe_enable_rx_dma(struct ngbe_hw *hw, u32 regval) |
| 1803 | { |
| 1804 | /* |
| 1805 | * Workaround silicon errata when enabling the Rx datapath. |
| 1806 | * If traffic is incoming before we enable the Rx unit, it could hang |
| 1807 | * the Rx DMA unit. Therefore, make sure the security engine is |
| 1808 | * completely disabled prior to enabling the Rx unit. |
| 1809 | */ |
| 1810 | hw->mac.disable_sec_rx_path(hw); |
| 1811 | |
| 1812 | if (regval & NGBE_PBRXCTL_ENA) |
| 1813 | ngbe_enable_rx(hw); |
| 1814 | else |
| 1815 | ngbe_disable_rx(hw); |
| 1816 | |
| 1817 | hw->mac.enable_sec_rx_path(hw); |
| 1818 | |
| 1819 | return 0; |
| 1820 | } |
| 1821 | |
| 1822 | /* cmd_addr is used for some special command: |
| 1823 | * 1. to be sector address, when implemented erase sector command |
nothing calls this directly
no test coverage detected