@@ -4186,17 +4186,6 @@ int mpi3mr_init_ioc(struct mpi3mr_ioc *mrioc)
4186
4186
mpi3mr_read_tsu_interval (mrioc );
4187
4187
mpi3mr_print_ioc_info (mrioc );
4188
4188
4189
- if (!mrioc -> cfg_page ) {
4190
- dprint_init (mrioc , "allocating config page buffers\n" );
4191
- mrioc -> cfg_page_sz = MPI3MR_DEFAULT_CFG_PAGE_SZ ;
4192
- mrioc -> cfg_page = dma_alloc_coherent (& mrioc -> pdev -> dev ,
4193
- mrioc -> cfg_page_sz , & mrioc -> cfg_page_dma , GFP_KERNEL );
4194
- if (!mrioc -> cfg_page ) {
4195
- retval = -1 ;
4196
- goto out_failed_noretry ;
4197
- }
4198
- }
4199
-
4200
4189
dprint_init (mrioc , "allocating host diag buffers\n" );
4201
4190
mpi3mr_alloc_diag_bufs (mrioc );
4202
4191
@@ -4768,11 +4757,7 @@ void mpi3mr_free_mem(struct mpi3mr_ioc *mrioc)
4768
4757
mrioc -> admin_req_base , mrioc -> admin_req_dma );
4769
4758
mrioc -> admin_req_base = NULL ;
4770
4759
}
4771
- if (mrioc -> cfg_page ) {
4772
- dma_free_coherent (& mrioc -> pdev -> dev , mrioc -> cfg_page_sz ,
4773
- mrioc -> cfg_page , mrioc -> cfg_page_dma );
4774
- mrioc -> cfg_page = NULL ;
4775
- }
4760
+
4776
4761
if (mrioc -> pel_seqnum_virt ) {
4777
4762
dma_free_coherent (& mrioc -> pdev -> dev , mrioc -> pel_seqnum_sz ,
4778
4763
mrioc -> pel_seqnum_virt , mrioc -> pel_seqnum_dma );
@@ -5392,55 +5377,6 @@ int mpi3mr_soft_reset_handler(struct mpi3mr_ioc *mrioc,
5392
5377
return retval ;
5393
5378
}
5394
5379
5395
-
5396
- /**
5397
- * mpi3mr_free_config_dma_memory - free memory for config page
5398
- * @mrioc: Adapter instance reference
5399
- * @mem_desc: memory descriptor structure
5400
- *
5401
- * Check whether the size of the buffer specified by the memory
5402
- * descriptor is greater than the default page size if so then
5403
- * free the memory pointed by the descriptor.
5404
- *
5405
- * Return: Nothing.
5406
- */
5407
- static void mpi3mr_free_config_dma_memory (struct mpi3mr_ioc * mrioc ,
5408
- struct dma_memory_desc * mem_desc )
5409
- {
5410
- if ((mem_desc -> size > mrioc -> cfg_page_sz ) && mem_desc -> addr ) {
5411
- dma_free_coherent (& mrioc -> pdev -> dev , mem_desc -> size ,
5412
- mem_desc -> addr , mem_desc -> dma_addr );
5413
- mem_desc -> addr = NULL ;
5414
- }
5415
- }
5416
-
5417
- /**
5418
- * mpi3mr_alloc_config_dma_memory - Alloc memory for config page
5419
- * @mrioc: Adapter instance reference
5420
- * @mem_desc: Memory descriptor to hold dma memory info
5421
- *
5422
- * This function allocates new dmaable memory or provides the
5423
- * default config page dmaable memory based on the memory size
5424
- * described by the descriptor.
5425
- *
5426
- * Return: 0 on success, non-zero on failure.
5427
- */
5428
- static int mpi3mr_alloc_config_dma_memory (struct mpi3mr_ioc * mrioc ,
5429
- struct dma_memory_desc * mem_desc )
5430
- {
5431
- if (mem_desc -> size > mrioc -> cfg_page_sz ) {
5432
- mem_desc -> addr = dma_alloc_coherent (& mrioc -> pdev -> dev ,
5433
- mem_desc -> size , & mem_desc -> dma_addr , GFP_KERNEL );
5434
- if (!mem_desc -> addr )
5435
- return - ENOMEM ;
5436
- } else {
5437
- mem_desc -> addr = mrioc -> cfg_page ;
5438
- mem_desc -> dma_addr = mrioc -> cfg_page_dma ;
5439
- memset (mem_desc -> addr , 0 , mrioc -> cfg_page_sz );
5440
- }
5441
- return 0 ;
5442
- }
5443
-
5444
5380
/**
5445
5381
* mpi3mr_post_cfg_req - Issue config requests and wait
5446
5382
* @mrioc: Adapter instance reference
@@ -5596,8 +5532,12 @@ static int mpi3mr_process_cfg_req(struct mpi3mr_ioc *mrioc,
5596
5532
cfg_req -> page_length = cfg_hdr -> page_length ;
5597
5533
cfg_req -> page_version = cfg_hdr -> page_version ;
5598
5534
}
5599
- if (mpi3mr_alloc_config_dma_memory (mrioc , & mem_desc ))
5600
- goto out ;
5535
+
5536
+ mem_desc .addr = dma_alloc_coherent (& mrioc -> pdev -> dev ,
5537
+ mem_desc .size , & mem_desc .dma_addr , GFP_KERNEL );
5538
+
5539
+ if (!mem_desc .addr )
5540
+ return retval ;
5601
5541
5602
5542
mpi3mr_add_sg_single (& cfg_req -> sgl , sgl_flags , mem_desc .size ,
5603
5543
mem_desc .dma_addr );
@@ -5626,7 +5566,12 @@ static int mpi3mr_process_cfg_req(struct mpi3mr_ioc *mrioc,
5626
5566
}
5627
5567
5628
5568
out :
5629
- mpi3mr_free_config_dma_memory (mrioc , & mem_desc );
5569
+ if (mem_desc .addr ) {
5570
+ dma_free_coherent (& mrioc -> pdev -> dev , mem_desc .size ,
5571
+ mem_desc .addr , mem_desc .dma_addr );
5572
+ mem_desc .addr = NULL ;
5573
+ }
5574
+
5630
5575
return retval ;
5631
5576
}
5632
5577
0 commit comments