@@ -3514,7 +3514,7 @@ static int pmcraid_build_passthrough_ioadls(
3514
3514
return - ENOMEM ;
3515
3515
}
3516
3516
3517
- sglist -> num_dma_sg = pci_map_sg ( cmd -> drv_inst -> pdev ,
3517
+ sglist -> num_dma_sg = dma_map_sg ( & cmd -> drv_inst -> pdev -> dev ,
3518
3518
sglist -> scatterlist ,
3519
3519
sglist -> num_sg , direction );
3520
3520
@@ -3563,7 +3563,7 @@ static void pmcraid_release_passthrough_ioadls(
3563
3563
struct pmcraid_sglist * sglist = cmd -> sglist ;
3564
3564
3565
3565
if (buflen > 0 ) {
3566
- pci_unmap_sg ( cmd -> drv_inst -> pdev ,
3566
+ dma_unmap_sg ( & cmd -> drv_inst -> pdev -> dev ,
3567
3567
sglist -> scatterlist ,
3568
3568
sglist -> num_sg ,
3569
3569
direction );
@@ -4699,9 +4699,9 @@ static void
4699
4699
pmcraid_release_host_rrqs (struct pmcraid_instance * pinstance , int maxindex )
4700
4700
{
4701
4701
int i ;
4702
- for (i = 0 ; i < maxindex ; i ++ ) {
4703
4702
4704
- pci_free_consistent (pinstance -> pdev ,
4703
+ for (i = 0 ; i < maxindex ; i ++ ) {
4704
+ dma_free_coherent (& pinstance -> pdev -> dev ,
4705
4705
HRRQ_ENTRY_SIZE * PMCRAID_MAX_CMD ,
4706
4706
pinstance -> hrrq_start [i ],
4707
4707
pinstance -> hrrq_start_bus_addr [i ]);
@@ -4728,11 +4728,9 @@ static int pmcraid_allocate_host_rrqs(struct pmcraid_instance *pinstance)
4728
4728
4729
4729
for (i = 0 ; i < pinstance -> num_hrrq ; i ++ ) {
4730
4730
pinstance -> hrrq_start [i ] =
4731
- pci_alloc_consistent (
4732
- pinstance -> pdev ,
4733
- buffer_size ,
4734
- & (pinstance -> hrrq_start_bus_addr [i ]));
4735
-
4731
+ dma_alloc_coherent (& pinstance -> pdev -> dev , buffer_size ,
4732
+ & pinstance -> hrrq_start_bus_addr [i ],
4733
+ GFP_KERNEL );
4736
4734
if (!pinstance -> hrrq_start [i ]) {
4737
4735
pmcraid_err ("pci_alloc failed for hrrq vector : %d\n" ,
4738
4736
i );
@@ -4761,7 +4759,7 @@ static int pmcraid_allocate_host_rrqs(struct pmcraid_instance *pinstance)
4761
4759
static void pmcraid_release_hcams (struct pmcraid_instance * pinstance )
4762
4760
{
4763
4761
if (pinstance -> ccn .msg != NULL ) {
4764
- pci_free_consistent ( pinstance -> pdev ,
4762
+ dma_free_coherent ( & pinstance -> pdev -> dev ,
4765
4763
PMCRAID_AEN_HDR_SIZE +
4766
4764
sizeof (struct pmcraid_hcam_ccn_ext ),
4767
4765
pinstance -> ccn .msg ,
@@ -4773,7 +4771,7 @@ static void pmcraid_release_hcams(struct pmcraid_instance *pinstance)
4773
4771
}
4774
4772
4775
4773
if (pinstance -> ldn .msg != NULL ) {
4776
- pci_free_consistent ( pinstance -> pdev ,
4774
+ dma_free_coherent ( & pinstance -> pdev -> dev ,
4777
4775
PMCRAID_AEN_HDR_SIZE +
4778
4776
sizeof (struct pmcraid_hcam_ldn ),
4779
4777
pinstance -> ldn .msg ,
@@ -4794,17 +4792,15 @@ static void pmcraid_release_hcams(struct pmcraid_instance *pinstance)
4794
4792
*/
4795
4793
static int pmcraid_allocate_hcams (struct pmcraid_instance * pinstance )
4796
4794
{
4797
- pinstance -> ccn .msg = pci_alloc_consistent (
4798
- pinstance -> pdev ,
4795
+ pinstance -> ccn .msg = dma_alloc_coherent (& pinstance -> pdev -> dev ,
4799
4796
PMCRAID_AEN_HDR_SIZE +
4800
4797
sizeof (struct pmcraid_hcam_ccn_ext ),
4801
- & ( pinstance -> ccn .baddr ) );
4798
+ & pinstance -> ccn .baddr , GFP_KERNEL );
4802
4799
4803
- pinstance -> ldn .msg = pci_alloc_consistent (
4804
- pinstance -> pdev ,
4800
+ pinstance -> ldn .msg = dma_alloc_coherent (& pinstance -> pdev -> dev ,
4805
4801
PMCRAID_AEN_HDR_SIZE +
4806
4802
sizeof (struct pmcraid_hcam_ldn ),
4807
- & ( pinstance -> ldn .baddr ) );
4803
+ & pinstance -> ldn .baddr , GFP_KERNEL );
4808
4804
4809
4805
if (pinstance -> ldn .msg == NULL || pinstance -> ccn .msg == NULL ) {
4810
4806
pmcraid_release_hcams (pinstance );
@@ -4832,7 +4828,7 @@ static void pmcraid_release_config_buffers(struct pmcraid_instance *pinstance)
4832
4828
{
4833
4829
if (pinstance -> cfg_table != NULL &&
4834
4830
pinstance -> cfg_table_bus_addr != 0 ) {
4835
- pci_free_consistent ( pinstance -> pdev ,
4831
+ dma_free_coherent ( & pinstance -> pdev -> dev ,
4836
4832
sizeof (struct pmcraid_config_table ),
4837
4833
pinstance -> cfg_table ,
4838
4834
pinstance -> cfg_table_bus_addr );
@@ -4877,10 +4873,10 @@ static int pmcraid_allocate_config_buffers(struct pmcraid_instance *pinstance)
4877
4873
list_add_tail (& pinstance -> res_entries [i ].queue ,
4878
4874
& pinstance -> free_res_q );
4879
4875
4880
- pinstance -> cfg_table =
4881
- pci_alloc_consistent (pinstance -> pdev ,
4876
+ pinstance -> cfg_table = dma_alloc_coherent (& pinstance -> pdev -> dev ,
4882
4877
sizeof (struct pmcraid_config_table ),
4883
- & pinstance -> cfg_table_bus_addr );
4878
+ & pinstance -> cfg_table_bus_addr ,
4879
+ GFP_KERNEL );
4884
4880
4885
4881
if (NULL == pinstance -> cfg_table ) {
4886
4882
pmcraid_err ("couldn't alloc DMA memory for config table\n" );
@@ -4945,7 +4941,7 @@ static void pmcraid_release_buffers(struct pmcraid_instance *pinstance)
4945
4941
pmcraid_release_host_rrqs (pinstance , pinstance -> num_hrrq );
4946
4942
4947
4943
if (pinstance -> inq_data != NULL ) {
4948
- pci_free_consistent ( pinstance -> pdev ,
4944
+ dma_free_coherent ( & pinstance -> pdev -> dev ,
4949
4945
sizeof (struct pmcraid_inquiry_data ),
4950
4946
pinstance -> inq_data ,
4951
4947
pinstance -> inq_data_baddr );
@@ -4955,7 +4951,7 @@ static void pmcraid_release_buffers(struct pmcraid_instance *pinstance)
4955
4951
}
4956
4952
4957
4953
if (pinstance -> timestamp_data != NULL ) {
4958
- pci_free_consistent ( pinstance -> pdev ,
4954
+ dma_free_coherent ( & pinstance -> pdev -> dev ,
4959
4955
sizeof (struct pmcraid_timestamp_data ),
4960
4956
pinstance -> timestamp_data ,
4961
4957
pinstance -> timestamp_data_baddr );
@@ -4972,8 +4968,8 @@ static void pmcraid_release_buffers(struct pmcraid_instance *pinstance)
4972
4968
* This routine pre-allocates memory based on the type of block as below:
4973
4969
* cmdblocks(PMCRAID_MAX_CMD): kernel memory using kernel's slab_allocator,
4974
4970
* IOARCBs(PMCRAID_MAX_CMD) : DMAable memory, using pci pool allocator
4975
- * config-table entries : DMAable memory using pci_alloc_consistent
4976
- * HostRRQs : DMAable memory, using pci_alloc_consistent
4971
+ * config-table entries : DMAable memory using dma_alloc_coherent
4972
+ * HostRRQs : DMAable memory, using dma_alloc_coherent
4977
4973
*
4978
4974
* Return Value
4979
4975
* 0 in case all of the blocks are allocated, -ENOMEM otherwise.
@@ -5010,23 +5006,20 @@ static int pmcraid_init_buffers(struct pmcraid_instance *pinstance)
5010
5006
}
5011
5007
5012
5008
/* allocate DMAable memory for page D0 INQUIRY buffer */
5013
- pinstance -> inq_data = pci_alloc_consistent (
5014
- pinstance -> pdev ,
5009
+ pinstance -> inq_data = dma_alloc_coherent (& pinstance -> pdev -> dev ,
5015
5010
sizeof (struct pmcraid_inquiry_data ),
5016
- & pinstance -> inq_data_baddr );
5017
-
5011
+ & pinstance -> inq_data_baddr , GFP_KERNEL );
5018
5012
if (pinstance -> inq_data == NULL ) {
5019
5013
pmcraid_err ("couldn't allocate DMA memory for INQUIRY\n" );
5020
5014
pmcraid_release_buffers (pinstance );
5021
5015
return - ENOMEM ;
5022
5016
}
5023
5017
5024
5018
/* allocate DMAable memory for set timestamp data buffer */
5025
- pinstance -> timestamp_data = pci_alloc_consistent (
5026
- pinstance -> pdev ,
5019
+ pinstance -> timestamp_data = dma_alloc_coherent (& pinstance -> pdev -> dev ,
5027
5020
sizeof (struct pmcraid_timestamp_data ),
5028
- & pinstance -> timestamp_data_baddr );
5029
-
5021
+ & pinstance -> timestamp_data_baddr ,
5022
+ GFP_KERNEL );
5030
5023
if (pinstance -> timestamp_data == NULL ) {
5031
5024
pmcraid_err ("couldn't allocate DMA memory for \
5032
5025
set time_stamp \n" );
@@ -5315,12 +5308,12 @@ static int pmcraid_resume(struct pci_dev *pdev)
5315
5308
5316
5309
pci_set_master (pdev );
5317
5310
5318
- if (( sizeof (dma_addr_t ) == 4 ) ||
5319
- pci_set_dma_mask ( pdev , DMA_BIT_MASK (64 )))
5320
- rc = pci_set_dma_mask ( pdev , DMA_BIT_MASK (32 ));
5311
+ if (sizeof (dma_addr_t ) == 4 ||
5312
+ dma_set_mask ( & pdev -> dev , DMA_BIT_MASK (64 )))
5313
+ rc = dma_set_mask ( & pdev -> dev , DMA_BIT_MASK (32 ));
5321
5314
5322
5315
if (rc == 0 )
5323
- rc = pci_set_consistent_dma_mask ( pdev , DMA_BIT_MASK (32 ));
5316
+ rc = dma_set_coherent_mask ( & pdev -> dev , DMA_BIT_MASK (32 ));
5324
5317
5325
5318
if (rc != 0 ) {
5326
5319
dev_err (& pdev -> dev , "resume: Failed to set PCI DMA mask\n" );
@@ -5724,19 +5717,19 @@ static int pmcraid_probe(struct pci_dev *pdev,
5724
5717
/* Firmware requires the system bus address of IOARCB to be within
5725
5718
* 32-bit addressable range though it has 64-bit IOARRIN register.
5726
5719
* However, firmware supports 64-bit streaming DMA buffers, whereas
5727
- * coherent buffers are to be 32-bit. Since pci_alloc_consistent always
5720
+ * coherent buffers are to be 32-bit. Since dma_alloc_coherent always
5728
5721
* returns memory within 4GB (if not, change this logic), coherent
5729
5722
* buffers are within firmware acceptable address ranges.
5730
5723
*/
5731
- if (( sizeof (dma_addr_t ) == 4 ) ||
5732
- pci_set_dma_mask ( pdev , DMA_BIT_MASK (64 )))
5733
- rc = pci_set_dma_mask ( pdev , DMA_BIT_MASK (32 ));
5724
+ if (sizeof (dma_addr_t ) == 4 ||
5725
+ dma_set_mask ( & pdev -> dev , DMA_BIT_MASK (64 )))
5726
+ rc = dma_set_mask ( & pdev -> dev , DMA_BIT_MASK (32 ));
5734
5727
5735
5728
/* firmware expects 32-bit DMA addresses for IOARRIN register; set 32
5736
- * bit mask for pci_alloc_consistent to return addresses within 4GB
5729
+ * bit mask for dma_alloc_coherent to return addresses within 4GB
5737
5730
*/
5738
5731
if (rc == 0 )
5739
- rc = pci_set_consistent_dma_mask ( pdev , DMA_BIT_MASK (32 ));
5732
+ rc = dma_set_coherent_mask ( & pdev -> dev , DMA_BIT_MASK (32 ));
5740
5733
5741
5734
if (rc != 0 ) {
5742
5735
dev_err (& pdev -> dev , "Failed to set PCI DMA mask\n" );
0 commit comments