.. | .. |
---|
69 | 69 | MODULE_DESCRIPTION("Driver for TI ThunderLAN based ethernet PCI adapters"); |
---|
70 | 70 | MODULE_LICENSE("GPL"); |
---|
71 | 71 | |
---|
72 | | -/* Turn on debugging. See Documentation/networking/tlan.txt for details */ |
---|
| 72 | +/* Turn on debugging. |
---|
| 73 | + * See Documentation/networking/device_drivers/ethernet/ti/tlan.rst for details |
---|
| 74 | + */ |
---|
73 | 75 | static int debug; |
---|
74 | 76 | module_param(debug, int, 0); |
---|
75 | 77 | MODULE_PARM_DESC(debug, "ThunderLAN debug mask"); |
---|
.. | .. |
---|
159 | 161 | static int tlan_ioctl(struct net_device *dev, struct ifreq *rq, int cmd); |
---|
160 | 162 | static int tlan_probe1(struct pci_dev *pdev, long ioaddr, |
---|
161 | 163 | int irq, int rev, const struct pci_device_id *ent); |
---|
162 | | -static void tlan_tx_timeout(struct net_device *dev); |
---|
| 164 | +static void tlan_tx_timeout(struct net_device *dev, unsigned int txqueue); |
---|
163 | 165 | static void tlan_tx_timeout_work(struct work_struct *work); |
---|
164 | 166 | static int tlan_init_one(struct pci_dev *pdev, |
---|
165 | 167 | const struct pci_device_id *ent); |
---|
.. | .. |
---|
303 | 305 | unregister_netdev(dev); |
---|
304 | 306 | |
---|
305 | 307 | if (priv->dma_storage) { |
---|
306 | | - pci_free_consistent(priv->pci_dev, |
---|
307 | | - priv->dma_size, priv->dma_storage, |
---|
308 | | - priv->dma_storage_dma); |
---|
| 308 | + dma_free_coherent(&priv->pci_dev->dev, priv->dma_size, |
---|
| 309 | + priv->dma_storage, priv->dma_storage_dma); |
---|
309 | 310 | } |
---|
310 | 311 | |
---|
311 | 312 | #ifdef CONFIG_PCI |
---|
.. | .. |
---|
342 | 343 | } |
---|
343 | 344 | } |
---|
344 | 345 | |
---|
345 | | -#ifdef CONFIG_PM |
---|
346 | | - |
---|
347 | | -static int tlan_suspend(struct pci_dev *pdev, pm_message_t state) |
---|
| 346 | +static int __maybe_unused tlan_suspend(struct device *dev_d) |
---|
348 | 347 | { |
---|
349 | | - struct net_device *dev = pci_get_drvdata(pdev); |
---|
| 348 | + struct net_device *dev = dev_get_drvdata(dev_d); |
---|
350 | 349 | |
---|
351 | 350 | if (netif_running(dev)) |
---|
352 | 351 | tlan_stop(dev); |
---|
353 | 352 | |
---|
354 | 353 | netif_device_detach(dev); |
---|
355 | | - pci_save_state(pdev); |
---|
356 | | - pci_disable_device(pdev); |
---|
357 | | - pci_wake_from_d3(pdev, false); |
---|
358 | | - pci_set_power_state(pdev, PCI_D3hot); |
---|
359 | 354 | |
---|
360 | 355 | return 0; |
---|
361 | 356 | } |
---|
362 | 357 | |
---|
363 | | -static int tlan_resume(struct pci_dev *pdev) |
---|
| 358 | +static int __maybe_unused tlan_resume(struct device *dev_d) |
---|
364 | 359 | { |
---|
365 | | - struct net_device *dev = pci_get_drvdata(pdev); |
---|
366 | | - int rc = pci_enable_device(pdev); |
---|
367 | | - |
---|
368 | | - if (rc) |
---|
369 | | - return rc; |
---|
370 | | - pci_restore_state(pdev); |
---|
371 | | - pci_enable_wake(pdev, PCI_D0, 0); |
---|
| 360 | + struct net_device *dev = dev_get_drvdata(dev_d); |
---|
372 | 361 | netif_device_attach(dev); |
---|
373 | 362 | |
---|
374 | 363 | if (netif_running(dev)) |
---|
.. | .. |
---|
377 | 366 | return 0; |
---|
378 | 367 | } |
---|
379 | 368 | |
---|
380 | | -#else /* CONFIG_PM */ |
---|
381 | | - |
---|
382 | | -#define tlan_suspend NULL |
---|
383 | | -#define tlan_resume NULL |
---|
384 | | - |
---|
385 | | -#endif /* CONFIG_PM */ |
---|
386 | | - |
---|
| 369 | +static SIMPLE_DEV_PM_OPS(tlan_pm_ops, tlan_suspend, tlan_resume); |
---|
387 | 370 | |
---|
388 | 371 | static struct pci_driver tlan_driver = { |
---|
389 | 372 | .name = "tlan", |
---|
390 | 373 | .id_table = tlan_pci_tbl, |
---|
391 | 374 | .probe = tlan_init_one, |
---|
392 | 375 | .remove = tlan_remove_one, |
---|
393 | | - .suspend = tlan_suspend, |
---|
394 | | - .resume = tlan_resume, |
---|
| 376 | + .driver.pm = &tlan_pm_ops, |
---|
395 | 377 | }; |
---|
396 | 378 | |
---|
397 | 379 | static int __init tlan_probe(void) |
---|
.. | .. |
---|
498 | 480 | |
---|
499 | 481 | priv->adapter = &board_info[ent->driver_data]; |
---|
500 | 482 | |
---|
501 | | - rc = pci_set_dma_mask(pdev, DMA_BIT_MASK(32)); |
---|
| 483 | + rc = dma_set_mask(&pdev->dev, DMA_BIT_MASK(32)); |
---|
502 | 484 | if (rc) { |
---|
503 | 485 | pr_err("No suitable PCI mapping available\n"); |
---|
504 | 486 | goto err_out_free_dev; |
---|
.. | .. |
---|
600 | 582 | return 0; |
---|
601 | 583 | |
---|
602 | 584 | err_out_uninit: |
---|
603 | | - pci_free_consistent(priv->pci_dev, priv->dma_size, priv->dma_storage, |
---|
604 | | - priv->dma_storage_dma); |
---|
| 585 | + dma_free_coherent(&priv->pci_dev->dev, priv->dma_size, |
---|
| 586 | + priv->dma_storage, priv->dma_storage_dma); |
---|
605 | 587 | err_out_free_dev: |
---|
606 | 588 | free_netdev(dev); |
---|
607 | 589 | err_out_regions: |
---|
.. | .. |
---|
625 | 607 | dev = tlan_eisa_devices; |
---|
626 | 608 | priv = netdev_priv(dev); |
---|
627 | 609 | if (priv->dma_storage) { |
---|
628 | | - pci_free_consistent(priv->pci_dev, priv->dma_size, |
---|
629 | | - priv->dma_storage, |
---|
630 | | - priv->dma_storage_dma); |
---|
| 610 | + dma_free_coherent(&priv->pci_dev->dev, priv->dma_size, |
---|
| 611 | + priv->dma_storage, |
---|
| 612 | + priv->dma_storage_dma); |
---|
631 | 613 | } |
---|
632 | 614 | release_region(dev->base_addr, 0x10); |
---|
633 | 615 | unregister_netdev(dev); |
---|
.. | .. |
---|
840 | 822 | |
---|
841 | 823 | dma_size = (TLAN_NUM_RX_LISTS + TLAN_NUM_TX_LISTS) |
---|
842 | 824 | * (sizeof(struct tlan_list)); |
---|
843 | | - priv->dma_storage = pci_alloc_consistent(priv->pci_dev, |
---|
844 | | - dma_size, |
---|
845 | | - &priv->dma_storage_dma); |
---|
| 825 | + priv->dma_storage = dma_alloc_coherent(&priv->pci_dev->dev, dma_size, |
---|
| 826 | + &priv->dma_storage_dma, GFP_KERNEL); |
---|
846 | 827 | priv->dma_size = dma_size; |
---|
847 | 828 | |
---|
848 | 829 | if (priv->dma_storage == NULL) { |
---|
.. | .. |
---|
850 | 831 | dev->name); |
---|
851 | 832 | return -ENOMEM; |
---|
852 | 833 | } |
---|
853 | | - memset(priv->dma_storage, 0, dma_size); |
---|
854 | 834 | priv->rx_list = (struct tlan_list *) |
---|
855 | 835 | ALIGN((unsigned long)priv->dma_storage, 8); |
---|
856 | 836 | priv->rx_list_dma = ALIGN(priv->dma_storage_dma, 8); |
---|
.. | .. |
---|
963 | 943 | switch (cmd) { |
---|
964 | 944 | case SIOCGMIIPHY: /* get address of MII PHY in use. */ |
---|
965 | 945 | data->phy_id = phy; |
---|
966 | | - /* fall through */ |
---|
| 946 | + fallthrough; |
---|
967 | 947 | |
---|
968 | 948 | |
---|
969 | 949 | case SIOCGMIIREG: /* read MII PHY register. */ |
---|
.. | .. |
---|
993 | 973 | * |
---|
994 | 974 | **************************************************************/ |
---|
995 | 975 | |
---|
996 | | -static void tlan_tx_timeout(struct net_device *dev) |
---|
| 976 | +static void tlan_tx_timeout(struct net_device *dev, unsigned int txqueue) |
---|
997 | 977 | { |
---|
998 | 978 | |
---|
999 | 979 | TLAN_DBG(TLAN_DEBUG_GNRL, "%s: Transmit timed out.\n", dev->name); |
---|
.. | .. |
---|
1024 | 1004 | struct tlan_priv *priv = |
---|
1025 | 1005 | container_of(work, struct tlan_priv, tlan_tqueue); |
---|
1026 | 1006 | |
---|
1027 | | - tlan_tx_timeout(priv->dev); |
---|
| 1007 | + tlan_tx_timeout(priv->dev, UINT_MAX); |
---|
1028 | 1008 | } |
---|
1029 | 1009 | |
---|
1030 | 1010 | |
---|
.. | .. |
---|
1084 | 1064 | |
---|
1085 | 1065 | tail_list->forward = 0; |
---|
1086 | 1066 | |
---|
1087 | | - tail_list->buffer[0].address = pci_map_single(priv->pci_dev, |
---|
| 1067 | + tail_list->buffer[0].address = dma_map_single(&priv->pci_dev->dev, |
---|
1088 | 1068 | skb->data, txlen, |
---|
1089 | | - PCI_DMA_TODEVICE); |
---|
| 1069 | + DMA_TO_DEVICE); |
---|
1090 | 1070 | tlan_store_skb(tail_list, skb); |
---|
1091 | 1071 | |
---|
1092 | 1072 | tail_list->frame_size = (u16) txlen; |
---|
.. | .. |
---|
1380 | 1360 | struct sk_buff *skb = tlan_get_skb(head_list); |
---|
1381 | 1361 | |
---|
1382 | 1362 | ack++; |
---|
1383 | | - pci_unmap_single(priv->pci_dev, head_list->buffer[0].address, |
---|
1384 | | - max(skb->len, |
---|
1385 | | - (unsigned int)TLAN_MIN_FRAME_SIZE), |
---|
1386 | | - PCI_DMA_TODEVICE); |
---|
| 1363 | + dma_unmap_single(&priv->pci_dev->dev, |
---|
| 1364 | + head_list->buffer[0].address, |
---|
| 1365 | + max(skb->len, (unsigned int)TLAN_MIN_FRAME_SIZE), |
---|
| 1366 | + DMA_TO_DEVICE); |
---|
1387 | 1367 | dev_kfree_skb_any(skb); |
---|
1388 | 1368 | head_list->buffer[8].address = 0; |
---|
1389 | 1369 | head_list->buffer[9].address = 0; |
---|
.. | .. |
---|
1526 | 1506 | goto drop_and_reuse; |
---|
1527 | 1507 | |
---|
1528 | 1508 | skb = tlan_get_skb(head_list); |
---|
1529 | | - pci_unmap_single(priv->pci_dev, frame_dma, |
---|
1530 | | - TLAN_MAX_FRAME_SIZE, PCI_DMA_FROMDEVICE); |
---|
| 1509 | + dma_unmap_single(&priv->pci_dev->dev, frame_dma, |
---|
| 1510 | + TLAN_MAX_FRAME_SIZE, DMA_FROM_DEVICE); |
---|
1531 | 1511 | skb_put(skb, frame_size); |
---|
1532 | 1512 | |
---|
1533 | 1513 | dev->stats.rx_bytes += frame_size; |
---|
.. | .. |
---|
1536 | 1516 | netif_rx(skb); |
---|
1537 | 1517 | |
---|
1538 | 1518 | head_list->buffer[0].address = |
---|
1539 | | - pci_map_single(priv->pci_dev, new_skb->data, |
---|
1540 | | - TLAN_MAX_FRAME_SIZE, PCI_DMA_FROMDEVICE); |
---|
| 1519 | + dma_map_single(&priv->pci_dev->dev, new_skb->data, |
---|
| 1520 | + TLAN_MAX_FRAME_SIZE, DMA_FROM_DEVICE); |
---|
1541 | 1521 | |
---|
1542 | 1522 | tlan_store_skb(head_list, new_skb); |
---|
1543 | 1523 | drop_and_reuse: |
---|
.. | .. |
---|
1938 | 1918 | if (!skb) |
---|
1939 | 1919 | break; |
---|
1940 | 1920 | |
---|
1941 | | - list->buffer[0].address = pci_map_single(priv->pci_dev, |
---|
| 1921 | + list->buffer[0].address = dma_map_single(&priv->pci_dev->dev, |
---|
1942 | 1922 | skb->data, |
---|
1943 | 1923 | TLAN_MAX_FRAME_SIZE, |
---|
1944 | | - PCI_DMA_FROMDEVICE); |
---|
| 1924 | + DMA_FROM_DEVICE); |
---|
1945 | 1925 | tlan_store_skb(list, skb); |
---|
1946 | 1926 | list->buffer[1].count = 0; |
---|
1947 | 1927 | list->buffer[1].address = 0; |
---|
.. | .. |
---|
1969 | 1949 | list = priv->tx_list + i; |
---|
1970 | 1950 | skb = tlan_get_skb(list); |
---|
1971 | 1951 | if (skb) { |
---|
1972 | | - pci_unmap_single( |
---|
1973 | | - priv->pci_dev, |
---|
1974 | | - list->buffer[0].address, |
---|
1975 | | - max(skb->len, |
---|
1976 | | - (unsigned int)TLAN_MIN_FRAME_SIZE), |
---|
1977 | | - PCI_DMA_TODEVICE); |
---|
| 1952 | + dma_unmap_single(&priv->pci_dev->dev, |
---|
| 1953 | + list->buffer[0].address, |
---|
| 1954 | + max(skb->len, (unsigned int)TLAN_MIN_FRAME_SIZE), |
---|
| 1955 | + DMA_TO_DEVICE); |
---|
1978 | 1956 | dev_kfree_skb_any(skb); |
---|
1979 | 1957 | list->buffer[8].address = 0; |
---|
1980 | 1958 | list->buffer[9].address = 0; |
---|
.. | .. |
---|
1985 | 1963 | list = priv->rx_list + i; |
---|
1986 | 1964 | skb = tlan_get_skb(list); |
---|
1987 | 1965 | if (skb) { |
---|
1988 | | - pci_unmap_single(priv->pci_dev, |
---|
| 1966 | + dma_unmap_single(&priv->pci_dev->dev, |
---|
1989 | 1967 | list->buffer[0].address, |
---|
1990 | | - TLAN_MAX_FRAME_SIZE, |
---|
1991 | | - PCI_DMA_FROMDEVICE); |
---|
| 1968 | + TLAN_MAX_FRAME_SIZE, DMA_FROM_DEVICE); |
---|
1992 | 1969 | dev_kfree_skb_any(skb); |
---|
1993 | 1970 | list->buffer[8].address = 0; |
---|
1994 | 1971 | list->buffer[9].address = 0; |
---|
.. | .. |
---|
2526 | 2503 | } |
---|
2527 | 2504 | |
---|
2528 | 2505 | /* Wait for 50 ms and powerup |
---|
2529 | | - * This is abitrary. It is intended to make sure the |
---|
| 2506 | + * This is arbitrary. It is intended to make sure the |
---|
2530 | 2507 | * transceiver settles. |
---|
2531 | 2508 | */ |
---|
2532 | 2509 | tlan_set_timer(dev, msecs_to_jiffies(50), TLAN_TIMER_PHY_PUP); |
---|