aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2018-09-25 13:28:03 -0400
committerDavid S. Miller <davem@davemloft.net>2018-09-25 13:28:03 -0400
commit9da90297ca30fd2422ec6513a916cd0de4149eff (patch)
tree22c7ec6853326cb8fa8d9f75ae901ec9ce3e6e50
parentedad8d260e259b0f8290deffef130034f0816b3e (diff)
parenta0456790fe57a23a30c6a7697f0833d33f10747a (diff)
Merge branch 'r8169-series-with-smaller-improvements'
Heiner Kallweit says: ==================== r8169: series with smaller improvements This series includes smaller improvements, nothing exciting. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/ethernet/realtek/r8169.c18
1 files changed, 6 insertions, 12 deletions
diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
index 1843fafb62d1..f882be49f493 100644
--- a/drivers/net/ethernet/realtek/r8169.c
+++ b/drivers/net/ethernet/realtek/r8169.c
@@ -77,8 +77,6 @@ static const int multicast_filter_limit = 32;
77#define R8169_TX_RING_BYTES (NUM_TX_DESC * sizeof(struct TxDesc)) 77#define R8169_TX_RING_BYTES (NUM_TX_DESC * sizeof(struct TxDesc))
78#define R8169_RX_RING_BYTES (NUM_RX_DESC * sizeof(struct RxDesc)) 78#define R8169_RX_RING_BYTES (NUM_RX_DESC * sizeof(struct RxDesc))
79 79
80#define RTL8169_TX_TIMEOUT (6*HZ)
81
82/* write/read MMIO register */ 80/* write/read MMIO register */
83#define RTL_W8(tp, reg, val8) writeb((val8), tp->mmio_addr + (reg)) 81#define RTL_W8(tp, reg, val8) writeb((val8), tp->mmio_addr + (reg))
84#define RTL_W16(tp, reg, val16) writew((val16), tp->mmio_addr + (reg)) 82#define RTL_W16(tp, reg, val16) writew((val16), tp->mmio_addr + (reg))
@@ -1354,7 +1352,8 @@ static void rtl_irq_enable_all(struct rtl8169_private *tp)
1354static void rtl8169_irq_mask_and_ack(struct rtl8169_private *tp) 1352static void rtl8169_irq_mask_and_ack(struct rtl8169_private *tp)
1355{ 1353{
1356 rtl_irq_disable(tp); 1354 rtl_irq_disable(tp);
1357 rtl_ack_events(tp, RTL_EVENT_NAPI | tp->event_slow); 1355 rtl_ack_events(tp, 0xffff);
1356 /* PCI commit */
1358 RTL_R8(tp, ChipCmd); 1357 RTL_R8(tp, ChipCmd);
1359} 1358}
1360 1359
@@ -7347,11 +7346,9 @@ static int rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
7347 7346
7348 tp->cp_cmd = RTL_R16(tp, CPlusCmd); 7347 tp->cp_cmd = RTL_R16(tp, CPlusCmd);
7349 7348
7350 if ((sizeof(dma_addr_t) > 4) && 7349 if (sizeof(dma_addr_t) > 4 && (use_dac == 1 || (use_dac == -1 &&
7351 (use_dac == 1 || (use_dac == -1 && pci_is_pcie(pdev) && 7350 tp->mac_version >= RTL_GIGA_MAC_VER_18)) &&
7352 tp->mac_version >= RTL_GIGA_MAC_VER_18)) && 7351 !dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64))) {
7353 !pci_set_dma_mask(pdev, DMA_BIT_MASK(64)) &&
7354 !pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64))) {
7355 7352
7356 /* CPlusCmd Dual Access Cycle is only needed for non-PCIe */ 7353 /* CPlusCmd Dual Access Cycle is only needed for non-PCIe */
7357 if (!pci_is_pcie(pdev)) 7354 if (!pci_is_pcie(pdev))
@@ -7367,14 +7364,12 @@ static int rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
7367 7364
7368 rtl_init_rxcfg(tp); 7365 rtl_init_rxcfg(tp);
7369 7366
7370 rtl_irq_disable(tp); 7367 rtl8169_irq_mask_and_ack(tp);
7371 7368
7372 rtl_hw_initialize(tp); 7369 rtl_hw_initialize(tp);
7373 7370
7374 rtl_hw_reset(tp); 7371 rtl_hw_reset(tp);
7375 7372
7376 rtl_ack_events(tp, 0xffff);
7377
7378 pci_set_master(pdev); 7373 pci_set_master(pdev);
7379 7374
7380 rtl_init_mdio_ops(tp); 7375 rtl_init_mdio_ops(tp);
@@ -7414,7 +7409,6 @@ static int rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
7414 dev->dev_addr[i] = RTL_R8(tp, MAC0 + i); 7409 dev->dev_addr[i] = RTL_R8(tp, MAC0 + i);
7415 7410
7416 dev->ethtool_ops = &rtl8169_ethtool_ops; 7411 dev->ethtool_ops = &rtl8169_ethtool_ops;
7417 dev->watchdog_timeo = RTL8169_TX_TIMEOUT;
7418 7412
7419 netif_napi_add(dev, &tp->napi, rtl8169_poll, NAPI_POLL_WEIGHT); 7413 netif_napi_add(dev, &tp->napi, rtl8169_poll, NAPI_POLL_WEIGHT);
7420 7414