forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-01-05 071106ecf68c401173c58808b1cf5f68cc50d390
kernel/drivers/net/ethernet/neterion/vxge/vxge-config.c
....@@ -13,6 +13,7 @@
1313 ******************************************************************************/
1414 #include <linux/vmalloc.h>
1515 #include <linux/etherdevice.h>
16
+#include <linux/io-64-nonatomic-lo-hi.h>
1617 #include <linux/pci.h>
1718 #include <linux/slab.h>
1819
....@@ -987,6 +988,9 @@
987988
988989 /**
989990 * vxge_hw_device_hw_info_get - Get the hw information
991
+ * @bar0: the bar
992
+ * @hw_info: the hw_info struct
993
+ *
990994 * Returns the vpath mask that has the bits set for each vpath allocated
991995 * for the driver, FW version information, and the first mac address for
992996 * each vpath
....@@ -1101,10 +1105,10 @@
11011105 hldev = blockpool->hldev;
11021106
11031107 list_for_each_safe(p, n, &blockpool->free_block_list) {
1104
- pci_unmap_single(hldev->pdev,
1105
- ((struct __vxge_hw_blockpool_entry *)p)->dma_addr,
1106
- ((struct __vxge_hw_blockpool_entry *)p)->length,
1107
- PCI_DMA_BIDIRECTIONAL);
1108
+ dma_unmap_single(&hldev->pdev->dev,
1109
+ ((struct __vxge_hw_blockpool_entry *)p)->dma_addr,
1110
+ ((struct __vxge_hw_blockpool_entry *)p)->length,
1111
+ DMA_BIDIRECTIONAL);
11081112
11091113 vxge_os_dma_free(hldev->pdev,
11101114 ((struct __vxge_hw_blockpool_entry *)p)->memblock,
....@@ -1177,10 +1181,10 @@
11771181 goto blockpool_create_exit;
11781182 }
11791183
1180
- dma_addr = pci_map_single(hldev->pdev, memblock,
1181
- VXGE_HW_BLOCK_SIZE, PCI_DMA_BIDIRECTIONAL);
1182
- if (unlikely(pci_dma_mapping_error(hldev->pdev,
1183
- dma_addr))) {
1184
+ dma_addr = dma_map_single(&hldev->pdev->dev, memblock,
1185
+ VXGE_HW_BLOCK_SIZE,
1186
+ DMA_BIDIRECTIONAL);
1187
+ if (unlikely(dma_mapping_error(&hldev->pdev->dev, dma_addr))) {
11841188 vxge_os_dma_free(hldev->pdev, memblock, &acc_handle);
11851189 __vxge_hw_blockpool_destroy(blockpool);
11861190 status = VXGE_HW_ERR_OUT_OF_MEMORY;
....@@ -2263,10 +2267,10 @@
22632267 goto exit;
22642268 }
22652269
2266
- dma_addr = pci_map_single(devh->pdev, block_addr, length,
2267
- PCI_DMA_BIDIRECTIONAL);
2270
+ dma_addr = dma_map_single(&devh->pdev->dev, block_addr, length,
2271
+ DMA_BIDIRECTIONAL);
22682272
2269
- if (unlikely(pci_dma_mapping_error(devh->pdev, dma_addr))) {
2273
+ if (unlikely(dma_mapping_error(&devh->pdev->dev, dma_addr))) {
22702274 vxge_os_dma_free(devh->pdev, block_addr, &acc_handle);
22712275 blockpool->req_out--;
22722276 goto exit;
....@@ -2302,16 +2306,9 @@
23022306 static inline void
23032307 vxge_os_dma_malloc_async(struct pci_dev *pdev, void *devh, unsigned long size)
23042308 {
2305
- gfp_t flags;
23062309 void *vaddr;
23072310
2308
- if (in_interrupt())
2309
- flags = GFP_ATOMIC | GFP_DMA;
2310
- else
2311
- flags = GFP_KERNEL | GFP_DMA;
2312
-
2313
- vaddr = kmalloc((size), flags);
2314
-
2311
+ vaddr = kmalloc(size, GFP_KERNEL | GFP_DMA);
23152312 vxge_hw_blockpool_block_add(devh, vaddr, size, pdev, pdev);
23162313 }
23172314
....@@ -2358,11 +2355,10 @@
23582355 if (!memblock)
23592356 goto exit;
23602357
2361
- dma_object->addr = pci_map_single(devh->pdev, memblock, size,
2362
- PCI_DMA_BIDIRECTIONAL);
2358
+ dma_object->addr = dma_map_single(&devh->pdev->dev, memblock,
2359
+ size, DMA_BIDIRECTIONAL);
23632360
2364
- if (unlikely(pci_dma_mapping_error(devh->pdev,
2365
- dma_object->addr))) {
2361
+ if (unlikely(dma_mapping_error(&devh->pdev->dev, dma_object->addr))) {
23662362 vxge_os_dma_free(devh->pdev, memblock,
23672363 &dma_object->acc_handle);
23682364 memblock = NULL;
....@@ -2409,11 +2405,10 @@
24092405 if (blockpool->pool_size < blockpool->pool_max)
24102406 break;
24112407
2412
- pci_unmap_single(
2413
- (blockpool->hldev)->pdev,
2414
- ((struct __vxge_hw_blockpool_entry *)p)->dma_addr,
2415
- ((struct __vxge_hw_blockpool_entry *)p)->length,
2416
- PCI_DMA_BIDIRECTIONAL);
2408
+ dma_unmap_single(&(blockpool->hldev)->pdev->dev,
2409
+ ((struct __vxge_hw_blockpool_entry *)p)->dma_addr,
2410
+ ((struct __vxge_hw_blockpool_entry *)p)->length,
2411
+ DMA_BIDIRECTIONAL);
24172412
24182413 vxge_os_dma_free(
24192414 (blockpool->hldev)->pdev,
....@@ -2444,8 +2439,8 @@
24442439 blockpool = &devh->block_pool;
24452440
24462441 if (size != blockpool->block_size) {
2447
- pci_unmap_single(devh->pdev, dma_object->addr, size,
2448
- PCI_DMA_BIDIRECTIONAL);
2442
+ dma_unmap_single(&devh->pdev->dev, dma_object->addr, size,
2443
+ DMA_BIDIRECTIONAL);
24492444 vxge_os_dma_free(devh->pdev, memblock, &dma_object->acc_handle);
24502445 } else {
24512446
....@@ -3769,20 +3764,20 @@
37693764 VXGE_HW_RTS_ACCESS_STEER_DATA0_RTH_ITEM0_ENTRY_EN |
37703765 VXGE_HW_RTS_ACCESS_STEER_DATA0_RTH_ITEM0_BUCKET_DATA(
37713766 itable[j]);
3772
- /* fall through */
3767
+ fallthrough;
37733768 case 2:
37743769 *data0 |=
37753770 VXGE_HW_RTS_ACCESS_STEER_DATA0_RTH_ITEM1_BUCKET_NUM(j)|
37763771 VXGE_HW_RTS_ACCESS_STEER_DATA0_RTH_ITEM1_ENTRY_EN |
37773772 VXGE_HW_RTS_ACCESS_STEER_DATA0_RTH_ITEM1_BUCKET_DATA(
37783773 itable[j]);
3779
- /* fall through */
3774
+ fallthrough;
37803775 case 3:
37813776 *data1 = VXGE_HW_RTS_ACCESS_STEER_DATA1_RTH_ITEM0_BUCKET_NUM(j)|
37823777 VXGE_HW_RTS_ACCESS_STEER_DATA1_RTH_ITEM0_ENTRY_EN |
37833778 VXGE_HW_RTS_ACCESS_STEER_DATA1_RTH_ITEM0_BUCKET_DATA(
37843779 itable[j]);
3785
- /* fall through */
3780
+ fallthrough;
37863781 case 4:
37873782 *data1 |=
37883783 VXGE_HW_RTS_ACCESS_STEER_DATA1_RTH_ITEM1_BUCKET_NUM(j)|
....@@ -3927,7 +3922,7 @@
39273922
39283923 /**
39293924 * vxge_hw_vpath_check_leak - Check for memory leak
3930
- * @ringh: Handle to the ring object used for receive
3925
+ * @ring: Handle to the ring object used for receive
39313926 *
39323927 * If PRC_RXD_DOORBELL_VPn.NEW_QW_CNT is larger or equal to
39333928 * PRC_CFG6_VPn.RXD_SPAT then a leak has occurred.