forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-01-05 071106ecf68c401173c58808b1cf5f68cc50d390
kernel/drivers/net/ethernet/mellanox/mlx4/alloc.c
....@@ -185,8 +185,7 @@
185185 bitmap->avail = num - reserved_top - reserved_bot;
186186 bitmap->effective_len = bitmap->avail;
187187 spin_lock_init(&bitmap->lock);
188
- bitmap->table = kcalloc(BITS_TO_LONGS(bitmap->max), sizeof(long),
189
- GFP_KERNEL);
188
+ bitmap->table = bitmap_zalloc(bitmap->max, GFP_KERNEL);
190189 if (!bitmap->table)
191190 return -ENOMEM;
192191
....@@ -197,7 +196,7 @@
197196
198197 void mlx4_bitmap_cleanup(struct mlx4_bitmap *bitmap)
199198 {
200
- kfree(bitmap->table);
199
+ bitmap_free(bitmap->table);
201200 }
202201
203202 struct mlx4_zone_allocator {
....@@ -584,8 +583,8 @@
584583 buf->npages = 1;
585584 buf->page_shift = get_order(size) + PAGE_SHIFT;
586585 buf->direct.buf =
587
- dma_zalloc_coherent(&dev->persist->pdev->dev,
588
- size, &t, GFP_KERNEL);
586
+ dma_alloc_coherent(&dev->persist->pdev->dev, size, &t,
587
+ GFP_KERNEL);
589588 if (!buf->direct.buf)
590589 return -ENOMEM;
591590
....@@ -614,7 +613,7 @@
614613 int i;
615614
616615 buf->direct.buf = NULL;
617
- buf->nbufs = (size + PAGE_SIZE - 1) / PAGE_SIZE;
616
+ buf->nbufs = DIV_ROUND_UP(size, PAGE_SIZE);
618617 buf->npages = buf->nbufs;
619618 buf->page_shift = PAGE_SHIFT;
620619 buf->page_list = kcalloc(buf->nbufs, sizeof(*buf->page_list),
....@@ -624,8 +623,8 @@
624623
625624 for (i = 0; i < buf->nbufs; ++i) {
626625 buf->page_list[i].buf =
627
- dma_zalloc_coherent(&dev->persist->pdev->dev,
628
- PAGE_SIZE, &t, GFP_KERNEL);
626
+ dma_alloc_coherent(&dev->persist->pdev->dev,
627
+ PAGE_SIZE, &t, GFP_KERNEL);
629628 if (!buf->page_list[i].buf)
630629 goto err_free;
631630