forked from ~ljy/RK356X_SDK_RELEASE

hc
2023-12-08 01573e231f18eb2d99162747186f59511f56b64d
kernel/drivers/net/ethernet/chelsio/cxgb/cxgb2.c
....@@ -211,9 +211,10 @@
211211 t1_interrupts_clear(adapter);
212212
213213 adapter->params.has_msi = !disable_msi && !pci_enable_msi(adapter->pdev);
214
- err = request_irq(adapter->pdev->irq, t1_interrupt,
215
- adapter->params.has_msi ? 0 : IRQF_SHARED,
216
- adapter->name, adapter);
214
+ err = request_threaded_irq(adapter->pdev->irq, t1_interrupt,
215
+ t1_interrupt_thread,
216
+ adapter->params.has_msi ? 0 : IRQF_SHARED,
217
+ adapter->name, adapter);
217218 if (err) {
218219 if (adapter->params.has_msi)
219220 pci_disable_msi(adapter->pdev);
....@@ -429,7 +430,6 @@
429430 struct adapter *adapter = dev->ml_priv;
430431
431432 strlcpy(info->driver, DRV_NAME, sizeof(info->driver));
432
- strlcpy(info->version, DRV_VERSION, sizeof(info->version));
433433 strlcpy(info->bus_info, pci_name(adapter->pdev),
434434 sizeof(info->bus_info));
435435 }
....@@ -794,6 +794,9 @@
794794 }
795795
796796 static const struct ethtool_ops t1_ethtool_ops = {
797
+ .supported_coalesce_params = ETHTOOL_COALESCE_RX_USECS |
798
+ ETHTOOL_COALESCE_USE_ADAPTIVE_RX |
799
+ ETHTOOL_COALESCE_RATE_SAMPLE_INTERVAL,
797800 .get_drvinfo = get_drvinfo,
798801 .get_msglevel = get_msglevel,
799802 .set_msglevel = set_msglevel,
....@@ -914,51 +917,6 @@
914917 spin_unlock(&adapter->work_lock);
915918 }
916919
917
-/*
918
- * Processes elmer0 external interrupts in process context.
919
- */
920
-static void ext_intr_task(struct work_struct *work)
921
-{
922
- struct adapter *adapter =
923
- container_of(work, struct adapter, ext_intr_handler_task);
924
-
925
- t1_elmer0_ext_intr_handler(adapter);
926
-
927
- /* Now reenable external interrupts */
928
- spin_lock_irq(&adapter->async_lock);
929
- adapter->slow_intr_mask |= F_PL_INTR_EXT;
930
- writel(F_PL_INTR_EXT, adapter->regs + A_PL_CAUSE);
931
- writel(adapter->slow_intr_mask | F_PL_INTR_SGE_DATA,
932
- adapter->regs + A_PL_ENABLE);
933
- spin_unlock_irq(&adapter->async_lock);
934
-}
935
-
936
-/*
937
- * Interrupt-context handler for elmer0 external interrupts.
938
- */
939
-void t1_elmer0_ext_intr(struct adapter *adapter)
940
-{
941
- /*
942
- * Schedule a task to handle external interrupts as we require
943
- * a process context. We disable EXT interrupts in the interim
944
- * and let the task reenable them when it's done.
945
- */
946
- adapter->slow_intr_mask &= ~F_PL_INTR_EXT;
947
- writel(adapter->slow_intr_mask | F_PL_INTR_SGE_DATA,
948
- adapter->regs + A_PL_ENABLE);
949
- schedule_work(&adapter->ext_intr_handler_task);
950
-}
951
-
952
-void t1_fatal_err(struct adapter *adapter)
953
-{
954
- if (adapter->flags & FULL_INIT_DONE) {
955
- t1_sge_stop(adapter->sge);
956
- t1_interrupts_disable(adapter);
957
- }
958
- pr_alert("%s: encountered fatal error, operation suspended\n",
959
- adapter->name);
960
-}
961
-
962920 static const struct net_device_ops cxgb_netdev_ops = {
963921 .ndo_open = cxgb_open,
964922 .ndo_stop = cxgb_close,
....@@ -984,8 +942,6 @@
984942 struct adapter *adapter = NULL;
985943 struct port_info *pi;
986944
987
- pr_info_once("%s - version %s\n", DRV_DESCRIPTION, DRV_VERSION);
988
-
989945 err = pci_enable_device(pdev);
990946 if (err)
991947 return err;
....@@ -997,17 +953,17 @@
997953 goto out_disable_pdev;
998954 }
999955
1000
- if (!pci_set_dma_mask(pdev, DMA_BIT_MASK(64))) {
956
+ if (!dma_set_mask(&pdev->dev, DMA_BIT_MASK(64))) {
1001957 pci_using_dac = 1;
1002958
1003
- if (pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64))) {
1004
- pr_err("%s: unable to obtain 64-bit DMA for "
1005
- "consistent allocations\n", pci_name(pdev));
959
+ if (dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(64))) {
960
+ pr_err("%s: unable to obtain 64-bit DMA for coherent allocations\n",
961
+ pci_name(pdev));
1006962 err = -ENODEV;
1007963 goto out_disable_pdev;
1008964 }
1009965
1010
- } else if ((err = pci_set_dma_mask(pdev, DMA_BIT_MASK(32))) != 0) {
966
+ } else if ((err = dma_set_mask(&pdev->dev, DMA_BIT_MASK(32))) != 0) {
1011967 pr_err("%s: no usable DMA configuration\n", pci_name(pdev));
1012968 goto out_disable_pdev;
1013969 }
....@@ -1062,8 +1018,6 @@
10621018 spin_lock_init(&adapter->async_lock);
10631019 spin_lock_init(&adapter->mac_lock);
10641020
1065
- INIT_WORK(&adapter->ext_intr_handler_task,
1066
- ext_intr_task);
10671021 INIT_DELAYED_WORK(&adapter->stats_update_task,
10681022 mac_stats_task);
10691023