|
@@ -420,6 +420,22 @@ static void pch_gbe_mac_reset_rx(struct pch_gbe_hw *hw)
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
+static void pch_gbe_disable_mac_rx(struct pch_gbe_hw *hw)
|
|
|
+{
|
|
|
+ u32 rctl;
|
|
|
+ /* Disables Receive MAC */
|
|
|
+ rctl = ioread32(&hw->reg->MAC_RX_EN);
|
|
|
+ iowrite32((rctl & ~PCH_GBE_MRE_MAC_RX_EN), &hw->reg->MAC_RX_EN);
|
|
|
+}
|
|
|
+
|
|
|
+static void pch_gbe_enable_mac_rx(struct pch_gbe_hw *hw)
|
|
|
+{
|
|
|
+ u32 rctl;
|
|
|
+ /* Enables Receive MAC */
|
|
|
+ rctl = ioread32(&hw->reg->MAC_RX_EN);
|
|
|
+ iowrite32((rctl | PCH_GBE_MRE_MAC_RX_EN), &hw->reg->MAC_RX_EN);
|
|
|
+}
|
|
|
+
|
|
|
/**
|
|
|
* pch_gbe_mac_init_rx_addrs - Initialize receive address's
|
|
|
* @hw: Pointer to the HW structure
|
|
@@ -913,7 +929,7 @@ static void pch_gbe_setup_rctl(struct pch_gbe_adapter *adapter)
|
|
|
static void pch_gbe_configure_rx(struct pch_gbe_adapter *adapter)
|
|
|
{
|
|
|
struct pch_gbe_hw *hw = &adapter->hw;
|
|
|
- u32 rdba, rdlen, rctl, rxdma;
|
|
|
+ u32 rdba, rdlen, rxdma;
|
|
|
|
|
|
pr_debug("dma adr = 0x%08llx size = 0x%08x\n",
|
|
|
(unsigned long long)adapter->rx_ring->dma,
|
|
@@ -921,9 +937,7 @@ static void pch_gbe_configure_rx(struct pch_gbe_adapter *adapter)
|
|
|
|
|
|
pch_gbe_mac_force_mac_fc(hw);
|
|
|
|
|
|
- /* Disables Receive MAC */
|
|
|
- rctl = ioread32(&hw->reg->MAC_RX_EN);
|
|
|
- iowrite32((rctl & ~PCH_GBE_MRE_MAC_RX_EN), &hw->reg->MAC_RX_EN);
|
|
|
+ pch_gbe_disable_mac_rx(hw);
|
|
|
|
|
|
/* Disables Receive DMA */
|
|
|
rxdma = ioread32(&hw->reg->DMA_CTRL);
|
|
@@ -1355,8 +1369,8 @@ static void pch_gbe_start_receive(struct pch_gbe_hw *hw)
|
|
|
rxdma = ioread32(&hw->reg->DMA_CTRL);
|
|
|
rxdma |= PCH_GBE_RX_DMA_EN;
|
|
|
iowrite32(rxdma, &hw->reg->DMA_CTRL);
|
|
|
- /* Enables Receive */
|
|
|
- iowrite32(PCH_GBE_MRE_MAC_RX_EN, &hw->reg->MAC_RX_EN);
|
|
|
+
|
|
|
+ pch_gbe_enable_mac_rx(hw);
|
|
|
return;
|
|
|
}
|
|
|
|