hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
kernel/drivers/net/ethernet/alacritech/slicoss.c
....@@ -1,19 +1,10 @@
1
+// SPDX-License-Identifier: GPL-2.0-only
12 /*
23 * Driver for Gigabit Ethernet adapters based on the Session Layer
34 * Interface (SLIC) technology by Alacritech. The driver does not
45 * support the hardware acceleration features provided by these cards.
56 *
67 * Copyright (C) 2016 Lino Sanfilippo <LinoSanfilippo@gmx.de>
7
- *
8
- * This program is free software; you can redistribute it and/or modify
9
- * it under the terms of the GNU General Public License as published by
10
- * the Free Software Foundation; either version 2 of the License.
11
- *
12
- * This program is distributed in the hope that it will be useful,
13
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
- * GNU General Public License for more details.
16
- *
178 */
189
1910 #include <linux/kernel.h>
....@@ -35,7 +26,6 @@
3526 #include "slic.h"
3627
3728 #define DRV_NAME "slicoss"
38
-#define DRV_VERSION "1.0"
3929
4030 static const struct pci_device_id slic_id_tbl[] = {
4131 { PCI_DEVICE(PCI_VENDOR_ID_ALACRITECH,
....@@ -345,8 +335,6 @@
345335 if (sdev->promisc != set_promisc) {
346336 sdev->promisc = set_promisc;
347337 slic_configure_rcv(sdev);
348
- /* make sure writes to receiver cant leak out of the lock */
349
- mmiowb();
350338 }
351339 spin_unlock_bh(&sdev->link_lock);
352340 }
....@@ -795,8 +783,8 @@
795783 size = stq->len * sizeof(*descs) + DESC_ALIGN_MASK;
796784
797785 for (i = 0; i < SLIC_NUM_STAT_DESC_ARRAYS; i++) {
798
- descs = dma_zalloc_coherent(&sdev->pdev->dev, size, &paddr,
799
- GFP_KERNEL);
786
+ descs = dma_alloc_coherent(&sdev->pdev->dev, size, &paddr,
787
+ GFP_KERNEL);
800788 if (!descs) {
801789 netdev_err(sdev->netdev,
802790 "failed to allocate status descriptors\n");
....@@ -1240,8 +1228,8 @@
12401228 struct slic_shmem_data *sm_data;
12411229 dma_addr_t paddr;
12421230
1243
- sm_data = dma_zalloc_coherent(&sdev->pdev->dev, sizeof(*sm_data),
1244
- &paddr, GFP_KERNEL);
1231
+ sm_data = dma_alloc_coherent(&sdev->pdev->dev, sizeof(*sm_data),
1232
+ &paddr, GFP_KERNEL);
12451233 if (!sm_data) {
12461234 dev_err(&sdev->pdev->dev, "failed to allocate shared memory\n");
12471235 return -ENOMEM;
....@@ -1461,8 +1449,6 @@
14611449
14621450 if (slic_get_free_tx_descs(txq) < SLIC_MAX_REQ_TX_DESCS)
14631451 netif_stop_queue(dev);
1464
- /* make sure writes to io-memory cant leak out of tx queue lock */
1465
- mmiowb();
14661452
14671453 return NETDEV_TX_OK;
14681454 drop_skb:
....@@ -1546,7 +1532,6 @@
15461532 struct slic_device *sdev = netdev_priv(dev);
15471533
15481534 strlcpy(info->driver, DRV_NAME, sizeof(info->driver));
1549
- strlcpy(info->version, DRV_VERSION, sizeof(info->version));
15501535 strlcpy(info->bus_info, pci_name(sdev->pdev), sizeof(info->bus_info));
15511536 }
15521537
....@@ -1621,8 +1606,8 @@
16211606 int err = 0;
16221607 u8 *mac[2];
16231608
1624
- eeprom = dma_zalloc_coherent(&sdev->pdev->dev, SLIC_EEPROM_SIZE,
1625
- &paddr, GFP_KERNEL);
1609
+ eeprom = dma_alloc_coherent(&sdev->pdev->dev, SLIC_EEPROM_SIZE,
1610
+ &paddr, GFP_KERNEL);
16261611 if (!eeprom)
16271612 return -ENOMEM;
16281613
....@@ -1727,13 +1712,13 @@
17271712 {
17281713 switch (subdev) {
17291714 /* Mojave */
1730
- case PCI_SUBDEVICE_ID_ALACRITECH_1000X1F: /* fallthrough */
1731
- case PCI_SUBDEVICE_ID_ALACRITECH_SES1001F: /* fallthrough */
1715
+ case PCI_SUBDEVICE_ID_ALACRITECH_1000X1F:
1716
+ case PCI_SUBDEVICE_ID_ALACRITECH_SES1001F: fallthrough;
17321717 /* Oasis */
1733
- case PCI_SUBDEVICE_ID_ALACRITECH_SEN2002XF: /* fallthrough */
1734
- case PCI_SUBDEVICE_ID_ALACRITECH_SEN2001XF: /* fallthrough */
1735
- case PCI_SUBDEVICE_ID_ALACRITECH_SEN2104EF: /* fallthrough */
1736
- case PCI_SUBDEVICE_ID_ALACRITECH_SEN2102EF: /* fallthrough */
1718
+ case PCI_SUBDEVICE_ID_ALACRITECH_SEN2002XF:
1719
+ case PCI_SUBDEVICE_ID_ALACRITECH_SEN2001XF:
1720
+ case PCI_SUBDEVICE_ID_ALACRITECH_SEN2104EF:
1721
+ case PCI_SUBDEVICE_ID_ALACRITECH_SEN2102EF:
17371722 return true;
17381723 }
17391724 return false;
....@@ -1804,7 +1789,7 @@
18041789 sdev->is_fiber = slic_is_fiber(pdev->subsystem_device);
18051790 sdev->pdev = pdev;
18061791 sdev->netdev = dev;
1807
- sdev->regs = ioremap_nocache(pci_resource_start(pdev, 0),
1792
+ sdev->regs = ioremap(pci_resource_start(pdev, 0),
18081793 pci_resource_len(pdev, 0));
18091794 if (!sdev->regs) {
18101795 dev_err(&pdev->dev, "failed to map registers\n");
....@@ -1865,4 +1850,3 @@
18651850 MODULE_DESCRIPTION("Alacritech non-accelerated SLIC driver");
18661851 MODULE_AUTHOR("Lino Sanfilippo <LinoSanfilippo@gmx.de>");
18671852 MODULE_LICENSE("GPL");
1868
-MODULE_VERSION(DRV_VERSION);