hc
2023-12-09 b22da3d8526a935aa31e086e63f60ff3246cb61c
kernel/drivers/net/ethernet/fealnx.c
....@@ -25,8 +25,6 @@
2525 */
2626
2727 #define DRV_NAME "fealnx"
28
-#define DRV_VERSION "2.52"
29
-#define DRV_RELDATE "Sep-11-2006"
3028
3129 static int debug; /* 1-> print debug message */
3230 static int max_interrupt_work = 20;
....@@ -90,11 +88,6 @@
9088 #include <asm/io.h>
9189 #include <linux/uaccess.h>
9290 #include <asm/byteorder.h>
93
-
94
-/* These identify the driver base version and may not be removed. */
95
-static const char version[] =
96
- KERN_INFO DRV_NAME ".c:v" DRV_VERSION " " DRV_RELDATE "\n";
97
-
9891
9992 /* This driver was written to use PCI memory space, however some x86 systems
10093 work only with I/O space accesses. */
....@@ -428,7 +421,7 @@
428421 static void getlinkstatus(struct net_device *dev);
429422 static void netdev_timer(struct timer_list *t);
430423 static void reset_timer(struct timer_list *t);
431
-static void fealnx_tx_timeout(struct net_device *dev);
424
+static void fealnx_tx_timeout(struct net_device *dev, unsigned int txqueue);
432425 static void init_ring(struct net_device *dev);
433426 static netdev_tx_t start_tx(struct sk_buff *skb, struct net_device *dev);
434427 static irqreturn_t intr_handler(int irq, void *dev_instance);
....@@ -495,13 +488,6 @@
495488 int bar = 1;
496489 #endif
497490
498
-/* when built into the kernel, we only print version if device is found */
499
-#ifndef MODULE
500
- static int printed_version;
501
- if (!printed_version++)
502
- printk(version);
503
-#endif
504
-
505491 card_idx++;
506492 sprintf(boardname, "fealnx%d", card_idx);
507493
....@@ -557,7 +543,8 @@
557543 np->mii.phy_id_mask = 0x1f;
558544 np->mii.reg_num_mask = 0x1f;
559545
560
- ring_space = pci_alloc_consistent(pdev, RX_TOTAL_SIZE, &ring_dma);
546
+ ring_space = dma_alloc_coherent(&pdev->dev, RX_TOTAL_SIZE, &ring_dma,
547
+ GFP_KERNEL);
561548 if (!ring_space) {
562549 err = -ENOMEM;
563550 goto err_out_free_dev;
....@@ -565,7 +552,8 @@
565552 np->rx_ring = ring_space;
566553 np->rx_ring_dma = ring_dma;
567554
568
- ring_space = pci_alloc_consistent(pdev, TX_TOTAL_SIZE, &ring_dma);
555
+ ring_space = dma_alloc_coherent(&pdev->dev, TX_TOTAL_SIZE, &ring_dma,
556
+ GFP_KERNEL);
569557 if (!ring_space) {
570558 err = -ENOMEM;
571559 goto err_out_free_rx;
....@@ -670,9 +658,11 @@
670658 return 0;
671659
672660 err_out_free_tx:
673
- pci_free_consistent(pdev, TX_TOTAL_SIZE, np->tx_ring, np->tx_ring_dma);
661
+ dma_free_coherent(&pdev->dev, TX_TOTAL_SIZE, np->tx_ring,
662
+ np->tx_ring_dma);
674663 err_out_free_rx:
675
- pci_free_consistent(pdev, RX_TOTAL_SIZE, np->rx_ring, np->rx_ring_dma);
664
+ dma_free_coherent(&pdev->dev, RX_TOTAL_SIZE, np->rx_ring,
665
+ np->rx_ring_dma);
676666 err_out_free_dev:
677667 free_netdev(dev);
678668 err_out_unmap:
....@@ -690,10 +680,10 @@
690680 if (dev) {
691681 struct netdev_private *np = netdev_priv(dev);
692682
693
- pci_free_consistent(pdev, TX_TOTAL_SIZE, np->tx_ring,
694
- np->tx_ring_dma);
695
- pci_free_consistent(pdev, RX_TOTAL_SIZE, np->rx_ring,
696
- np->rx_ring_dma);
683
+ dma_free_coherent(&pdev->dev, TX_TOTAL_SIZE, np->tx_ring,
684
+ np->tx_ring_dma);
685
+ dma_free_coherent(&pdev->dev, RX_TOTAL_SIZE, np->rx_ring,
686
+ np->rx_ring_dma);
697687 unregister_netdev(dev);
698688 pci_iounmap(pdev, np->mem);
699689 free_netdev(dev);
....@@ -1070,8 +1060,10 @@
10701060 np->lack_rxbuf = np->lack_rxbuf->next_desc_logical;
10711061
10721062 np->lack_rxbuf->skbuff = skb;
1073
- np->lack_rxbuf->buffer = pci_map_single(np->pci_dev, skb->data,
1074
- np->rx_buf_sz, PCI_DMA_FROMDEVICE);
1063
+ np->lack_rxbuf->buffer = dma_map_single(&np->pci_dev->dev,
1064
+ skb->data,
1065
+ np->rx_buf_sz,
1066
+ DMA_FROM_DEVICE);
10751067 np->lack_rxbuf->status = RXOWN;
10761068 ++np->really_rx_count;
10771069 }
....@@ -1191,7 +1183,7 @@
11911183 }
11921184
11931185
1194
-static void fealnx_tx_timeout(struct net_device *dev)
1186
+static void fealnx_tx_timeout(struct net_device *dev, unsigned int txqueue)
11951187 {
11961188 struct netdev_private *np = netdev_priv(dev);
11971189 void __iomem *ioaddr = np->mem;
....@@ -1265,8 +1257,10 @@
12651257
12661258 ++np->really_rx_count;
12671259 np->rx_ring[i].skbuff = skb;
1268
- np->rx_ring[i].buffer = pci_map_single(np->pci_dev, skb->data,
1269
- np->rx_buf_sz, PCI_DMA_FROMDEVICE);
1260
+ np->rx_ring[i].buffer = dma_map_single(&np->pci_dev->dev,
1261
+ skb->data,
1262
+ np->rx_buf_sz,
1263
+ DMA_FROM_DEVICE);
12701264 np->rx_ring[i].status = RXOWN;
12711265 np->rx_ring[i].control |= RXIC;
12721266 }
....@@ -1304,8 +1298,8 @@
13041298 #define one_buffer
13051299 #define BPT 1022
13061300 #if defined(one_buffer)
1307
- np->cur_tx_copy->buffer = pci_map_single(np->pci_dev, skb->data,
1308
- skb->len, PCI_DMA_TODEVICE);
1301
+ np->cur_tx_copy->buffer = dma_map_single(&np->pci_dev->dev, skb->data,
1302
+ skb->len, DMA_TO_DEVICE);
13091303 np->cur_tx_copy->control = TXIC | TXLD | TXFD | CRCEnable | PADEnable;
13101304 np->cur_tx_copy->control |= (skb->len << PKTSShift); /* pkt size */
13111305 np->cur_tx_copy->control |= (skb->len << TBSShift); /* buffer size */
....@@ -1320,8 +1314,9 @@
13201314 struct fealnx_desc *next;
13211315
13221316 /* for the first descriptor */
1323
- np->cur_tx_copy->buffer = pci_map_single(np->pci_dev, skb->data,
1324
- BPT, PCI_DMA_TODEVICE);
1317
+ np->cur_tx_copy->buffer = dma_map_single(&np->pci_dev->dev,
1318
+ skb->data, BPT,
1319
+ DMA_TO_DEVICE);
13251320 np->cur_tx_copy->control = TXIC | TXFD | CRCEnable | PADEnable;
13261321 np->cur_tx_copy->control |= (skb->len << PKTSShift); /* pkt size */
13271322 np->cur_tx_copy->control |= (BPT << TBSShift); /* buffer size */
....@@ -1335,8 +1330,9 @@
13351330 // 89/12/29 add,
13361331 if (np->pci_dev->device == 0x891)
13371332 np->cur_tx_copy->control |= ETIControl | RetryTxLC;
1338
- next->buffer = pci_map_single(ep->pci_dev, skb->data + BPT,
1339
- skb->len - BPT, PCI_DMA_TODEVICE);
1333
+ next->buffer = dma_map_single(&ep->pci_dev->dev,
1334
+ skb->data + BPT, skb->len - BPT,
1335
+ DMA_TO_DEVICE);
13401336
13411337 next->status = TXOWN;
13421338 np->cur_tx_copy->status = TXOWN;
....@@ -1344,8 +1340,9 @@
13441340 np->cur_tx_copy = next->next_desc_logical;
13451341 np->free_tx_count -= 2;
13461342 } else {
1347
- np->cur_tx_copy->buffer = pci_map_single(np->pci_dev, skb->data,
1348
- skb->len, PCI_DMA_TODEVICE);
1343
+ np->cur_tx_copy->buffer = dma_map_single(&np->pci_dev->dev,
1344
+ skb->data, skb->len,
1345
+ DMA_TO_DEVICE);
13491346 np->cur_tx_copy->control = TXIC | TXLD | TXFD | CRCEnable | PADEnable;
13501347 np->cur_tx_copy->control |= (skb->len << PKTSShift); /* pkt size */
13511348 np->cur_tx_copy->control |= (skb->len << TBSShift); /* buffer size */
....@@ -1385,8 +1382,8 @@
13851382 for (i = 0; i < TX_RING_SIZE; i++) {
13861383 cur = &np->tx_ring[i];
13871384 if (cur->skbuff) {
1388
- pci_unmap_single(np->pci_dev, cur->buffer,
1389
- cur->skbuff->len, PCI_DMA_TODEVICE);
1385
+ dma_unmap_single(&np->pci_dev->dev, cur->buffer,
1386
+ cur->skbuff->len, DMA_TO_DEVICE);
13901387 dev_kfree_skb_any(cur->skbuff);
13911388 cur->skbuff = NULL;
13921389 }
....@@ -1529,9 +1526,11 @@
15291526 }
15301527
15311528 /* Free the original skb. */
1532
- pci_unmap_single(np->pci_dev, np->cur_tx->buffer,
1533
- np->cur_tx->skbuff->len, PCI_DMA_TODEVICE);
1534
- dev_kfree_skb_irq(np->cur_tx->skbuff);
1529
+ dma_unmap_single(&np->pci_dev->dev,
1530
+ np->cur_tx->buffer,
1531
+ np->cur_tx->skbuff->len,
1532
+ DMA_TO_DEVICE);
1533
+ dev_consume_skb_irq(np->cur_tx->skbuff);
15351534 np->cur_tx->skbuff = NULL;
15361535 --np->really_tx_count;
15371536 if (np->cur_tx->control & TXLD) {
....@@ -1696,10 +1695,10 @@
16961695 if (pkt_len < rx_copybreak &&
16971696 (skb = netdev_alloc_skb(dev, pkt_len + 2)) != NULL) {
16981697 skb_reserve(skb, 2); /* 16 byte align the IP header */
1699
- pci_dma_sync_single_for_cpu(np->pci_dev,
1700
- np->cur_rx->buffer,
1701
- np->rx_buf_sz,
1702
- PCI_DMA_FROMDEVICE);
1698
+ dma_sync_single_for_cpu(&np->pci_dev->dev,
1699
+ np->cur_rx->buffer,
1700
+ np->rx_buf_sz,
1701
+ DMA_FROM_DEVICE);
17031702 /* Call copy + cksum if available. */
17041703
17051704 #if ! defined(__alpha__)
....@@ -1710,15 +1709,15 @@
17101709 skb_put_data(skb, np->cur_rx->skbuff->data,
17111710 pkt_len);
17121711 #endif
1713
- pci_dma_sync_single_for_device(np->pci_dev,
1714
- np->cur_rx->buffer,
1715
- np->rx_buf_sz,
1716
- PCI_DMA_FROMDEVICE);
1712
+ dma_sync_single_for_device(&np->pci_dev->dev,
1713
+ np->cur_rx->buffer,
1714
+ np->rx_buf_sz,
1715
+ DMA_FROM_DEVICE);
17171716 } else {
1718
- pci_unmap_single(np->pci_dev,
1717
+ dma_unmap_single(&np->pci_dev->dev,
17191718 np->cur_rx->buffer,
17201719 np->rx_buf_sz,
1721
- PCI_DMA_FROMDEVICE);
1720
+ DMA_FROM_DEVICE);
17221721 skb_put(skb = np->cur_rx->skbuff, pkt_len);
17231722 np->cur_rx->skbuff = NULL;
17241723 --np->really_rx_count;
....@@ -1809,7 +1808,6 @@
18091808 struct netdev_private *np = netdev_priv(dev);
18101809
18111810 strlcpy(info->driver, DRV_NAME, sizeof(info->driver));
1812
- strlcpy(info->version, DRV_VERSION, sizeof(info->version));
18131811 strlcpy(info->bus_info, pci_name(np->pci_dev), sizeof(info->bus_info));
18141812 }
18151813
....@@ -1911,8 +1909,9 @@
19111909
19121910 np->rx_ring[i].status = 0;
19131911 if (skb) {
1914
- pci_unmap_single(np->pci_dev, np->rx_ring[i].buffer,
1915
- np->rx_buf_sz, PCI_DMA_FROMDEVICE);
1912
+ dma_unmap_single(&np->pci_dev->dev,
1913
+ np->rx_ring[i].buffer, np->rx_buf_sz,
1914
+ DMA_FROM_DEVICE);
19161915 dev_kfree_skb(skb);
19171916 np->rx_ring[i].skbuff = NULL;
19181917 }
....@@ -1922,8 +1921,9 @@
19221921 struct sk_buff *skb = np->tx_ring[i].skbuff;
19231922
19241923 if (skb) {
1925
- pci_unmap_single(np->pci_dev, np->tx_ring[i].buffer,
1926
- skb->len, PCI_DMA_TODEVICE);
1924
+ dma_unmap_single(&np->pci_dev->dev,
1925
+ np->tx_ring[i].buffer, skb->len,
1926
+ DMA_TO_DEVICE);
19271927 dev_kfree_skb(skb);
19281928 np->tx_ring[i].skbuff = NULL;
19291929 }
....@@ -1950,11 +1950,6 @@
19501950
19511951 static int __init fealnx_init(void)
19521952 {
1953
-/* when a module, this is printed whether or not devices are found in probe */
1954
-#ifdef MODULE
1955
- printk(version);
1956
-#endif
1957
-
19581953 return pci_register_driver(&fealnx_driver);
19591954 }
19601955