Skip to content

Commit b114dda

Browse files
tititiou36martinkpetersen
authored andcommitted
scsi: message: fusion: Remove usage of the deprecated "pci-dma-compat.h" API
In [1], Christoph Hellwig has proposed to remove the wrappers in include/linux/pci-dma-compat.h. Some reasons why this API should be removed have been given by Julia Lawall in [2]. A coccinelle script has been used to perform the needed transformation. It can be found in [3]. In this patch, all functions but pci_alloc_consistent() are handled. pci_alloc_consistent() needs more attention and explanation. [1]: https://lore.kernel.org/kernel-janitors/20200421081257.GA131897@infradead.org/ [2]: https://lore.kernel.org/kernel-janitors/alpine.DEB.2.22.394.2007120902170.2424@hadrien/ [3]: https://lore.kernel.org/kernel-janitors/20200716192821.321233-1-christophe.jaillet@wanadoo.fr/ Link: https://lore.kernel.org/r/e38e897fbd3314718315b0e357c824e3f01775d6.1641500561.git.christophe.jaillet@wanadoo.fr Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
1 parent 315d049 commit b114dda

File tree

4 files changed

+154
-132
lines changed

4 files changed

+154
-132
lines changed

drivers/message/fusion/mptbase.c

Lines changed: 50 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -316,8 +316,8 @@ mpt_is_discovery_complete(MPT_ADAPTER *ioc)
316316
rc = 1;
317317

318318
out_free_consistent:
319-
pci_free_consistent(ioc->pcidev, hdr.ExtPageLength * 4,
320-
buffer, dma_handle);
319+
dma_free_coherent(&ioc->pcidev->dev, hdr.ExtPageLength * 4, buffer,
320+
dma_handle);
321321
out:
322322
return rc;
323323
}
@@ -1661,16 +1661,14 @@ mpt_mapresources(MPT_ADAPTER *ioc)
16611661
const uint64_t required_mask = dma_get_required_mask
16621662
(&pdev->dev);
16631663
if (required_mask > DMA_BIT_MASK(32)
1664-
&& !pci_set_dma_mask(pdev, DMA_BIT_MASK(64))
1665-
&& !pci_set_consistent_dma_mask(pdev,
1666-
DMA_BIT_MASK(64))) {
1664+
&& !dma_set_mask(&pdev->dev, DMA_BIT_MASK(64))
1665+
&& !dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(64))) {
16671666
ioc->dma_mask = DMA_BIT_MASK(64);
16681667
dinitprintk(ioc, printk(MYIOC_s_INFO_FMT
16691668
": 64 BIT PCI BUS DMA ADDRESSING SUPPORTED\n",
16701669
ioc->name));
1671-
} else if (!pci_set_dma_mask(pdev, DMA_BIT_MASK(32))
1672-
&& !pci_set_consistent_dma_mask(pdev,
1673-
DMA_BIT_MASK(32))) {
1670+
} else if (!dma_set_mask(&pdev->dev, DMA_BIT_MASK(32))
1671+
&& !dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32))) {
16741672
ioc->dma_mask = DMA_BIT_MASK(32);
16751673
dinitprintk(ioc, printk(MYIOC_s_INFO_FMT
16761674
": 32 BIT PCI BUS DMA ADDRESSING SUPPORTED\n",
@@ -1681,9 +1679,8 @@ mpt_mapresources(MPT_ADAPTER *ioc)
16811679
goto out_pci_release_region;
16821680
}
16831681
} else {
1684-
if (!pci_set_dma_mask(pdev, DMA_BIT_MASK(32))
1685-
&& !pci_set_consistent_dma_mask(pdev,
1686-
DMA_BIT_MASK(32))) {
1682+
if (!dma_set_mask(&pdev->dev, DMA_BIT_MASK(32))
1683+
&& !dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32))) {
16871684
ioc->dma_mask = DMA_BIT_MASK(32);
16881685
dinitprintk(ioc, printk(MYIOC_s_INFO_FMT
16891686
": 32 BIT PCI BUS DMA ADDRESSING SUPPORTED\n",
@@ -2769,9 +2766,9 @@ mpt_adapter_disable(MPT_ADAPTER *ioc)
27692766

27702767
if (ioc->spi_data.pIocPg4 != NULL) {
27712768
sz = ioc->spi_data.IocPg4Sz;
2772-
pci_free_consistent(ioc->pcidev, sz,
2773-
ioc->spi_data.pIocPg4,
2774-
ioc->spi_data.IocPg4_dma);
2769+
dma_free_coherent(&ioc->pcidev->dev, sz,
2770+
ioc->spi_data.pIocPg4,
2771+
ioc->spi_data.IocPg4_dma);
27752772
ioc->spi_data.pIocPg4 = NULL;
27762773
ioc->alloc_total -= sz;
27772774
}
@@ -3548,7 +3545,8 @@ mpt_free_fw_memory(MPT_ADAPTER *ioc)
35483545
sz = ioc->facts.FWImageSize;
35493546
dinitprintk(ioc, printk(MYIOC_s_DEBUG_FMT "free_fw_memory: FW Image @ %p[%p], sz=%d[%x] bytes\n",
35503547
ioc->name, ioc->cached_fw, (void *)(ulong)ioc->cached_fw_dma, sz, sz));
3551-
pci_free_consistent(ioc->pcidev, sz, ioc->cached_fw, ioc->cached_fw_dma);
3548+
dma_free_coherent(&ioc->pcidev->dev, sz, ioc->cached_fw,
3549+
ioc->cached_fw_dma);
35523550
ioc->alloc_total -= sz;
35533551
ioc->cached_fw = NULL;
35543552
}
@@ -4447,20 +4445,19 @@ PrimeIocFifos(MPT_ADAPTER *ioc)
44474445
*/
44484446
if (ioc->pcidev->device == MPI_MANUFACTPAGE_DEVID_SAS1078 &&
44494447
ioc->dma_mask > DMA_BIT_MASK(35)) {
4450-
if (!pci_set_dma_mask(ioc->pcidev, DMA_BIT_MASK(32))
4451-
&& !pci_set_consistent_dma_mask(ioc->pcidev,
4452-
DMA_BIT_MASK(32))) {
4448+
if (!dma_set_mask(&ioc->pcidev->dev, DMA_BIT_MASK(32))
4449+
&& !dma_set_coherent_mask(&ioc->pcidev->dev, DMA_BIT_MASK(32))) {
44534450
dma_mask = DMA_BIT_MASK(35);
44544451
d36memprintk(ioc, printk(MYIOC_s_DEBUG_FMT
44554452
"setting 35 bit addressing for "
44564453
"Request/Reply/Chain and Sense Buffers\n",
44574454
ioc->name));
44584455
} else {
44594456
/*Reseting DMA mask to 64 bit*/
4460-
pci_set_dma_mask(ioc->pcidev,
4461-
DMA_BIT_MASK(64));
4462-
pci_set_consistent_dma_mask(ioc->pcidev,
4463-
DMA_BIT_MASK(64));
4457+
dma_set_mask(&ioc->pcidev->dev,
4458+
DMA_BIT_MASK(64));
4459+
dma_set_coherent_mask(&ioc->pcidev->dev,
4460+
DMA_BIT_MASK(64));
44644461

44654462
printk(MYIOC_s_ERR_FMT
44664463
"failed setting 35 bit addressing for "
@@ -4595,8 +4592,8 @@ PrimeIocFifos(MPT_ADAPTER *ioc)
45954592
alloc_dma += ioc->reply_sz;
45964593
}
45974594

4598-
if (dma_mask == DMA_BIT_MASK(35) && !pci_set_dma_mask(ioc->pcidev,
4599-
ioc->dma_mask) && !pci_set_consistent_dma_mask(ioc->pcidev,
4595+
if (dma_mask == DMA_BIT_MASK(35) && !dma_set_mask(&ioc->pcidev->dev,
4596+
ioc->dma_mask) && !dma_set_coherent_mask(&ioc->pcidev->dev,
46004597
ioc->dma_mask))
46014598
d36memprintk(ioc, printk(MYIOC_s_DEBUG_FMT
46024599
"restoring 64 bit addressing\n", ioc->name));
@@ -4620,8 +4617,8 @@ PrimeIocFifos(MPT_ADAPTER *ioc)
46204617
ioc->sense_buf_pool = NULL;
46214618
}
46224619

4623-
if (dma_mask == DMA_BIT_MASK(35) && !pci_set_dma_mask(ioc->pcidev,
4624-
DMA_BIT_MASK(64)) && !pci_set_consistent_dma_mask(ioc->pcidev,
4620+
if (dma_mask == DMA_BIT_MASK(35) && !dma_set_mask(&ioc->pcidev->dev,
4621+
DMA_BIT_MASK(64)) && !dma_set_coherent_mask(&ioc->pcidev->dev,
46254622
DMA_BIT_MASK(64)))
46264623
d36memprintk(ioc, printk(MYIOC_s_DEBUG_FMT
46274624
"restoring 64 bit addressing\n", ioc->name));
@@ -4982,7 +4979,8 @@ GetLanConfigPages(MPT_ADAPTER *ioc)
49824979

49834980
}
49844981

4985-
pci_free_consistent(ioc->pcidev, data_sz, (u8 *) ppage0_alloc, page0_dma);
4982+
dma_free_coherent(&ioc->pcidev->dev, data_sz,
4983+
(u8 *)ppage0_alloc, page0_dma);
49864984

49874985
/* FIXME!
49884986
* Normalize endianness of structure data,
@@ -5026,7 +5024,8 @@ GetLanConfigPages(MPT_ADAPTER *ioc)
50265024
memcpy(&ioc->lan_cnfg_page1, ppage1_alloc, copy_sz);
50275025
}
50285026

5029-
pci_free_consistent(ioc->pcidev, data_sz, (u8 *) ppage1_alloc, page1_dma);
5027+
dma_free_coherent(&ioc->pcidev->dev, data_sz,
5028+
(u8 *)ppage1_alloc, page1_dma);
50305029

50315030
/* FIXME!
50325031
* Normalize endianness of structure data,
@@ -5325,7 +5324,8 @@ GetIoUnitPage2(MPT_ADAPTER *ioc)
53255324
if ((rc = mpt_config(ioc, &cfg)) == 0)
53265325
ioc->biosVersion = le32_to_cpu(ppage_alloc->BiosVersion);
53275326

5328-
pci_free_consistent(ioc->pcidev, data_sz, (u8 *) ppage_alloc, page_dma);
5327+
dma_free_coherent(&ioc->pcidev->dev, data_sz,
5328+
(u8 *)ppage_alloc, page_dma);
53295329
}
53305330

53315331
return rc;
@@ -5456,7 +5456,9 @@ mpt_GetScsiPortSettings(MPT_ADAPTER *ioc, int portnum)
54565456
}
54575457
}
54585458
if (pbuf) {
5459-
pci_free_consistent(ioc->pcidev, header.PageLength * 4, pbuf, buf_dma);
5459+
dma_free_coherent(&ioc->pcidev->dev,
5460+
header.PageLength * 4, pbuf,
5461+
buf_dma);
54605462
}
54615463
}
54625464
}
@@ -5543,7 +5545,9 @@ mpt_GetScsiPortSettings(MPT_ADAPTER *ioc, int portnum)
55435545
}
55445546
}
55455547

5546-
pci_free_consistent(ioc->pcidev, header.PageLength * 4, pbuf, buf_dma);
5548+
dma_free_coherent(&ioc->pcidev->dev,
5549+
header.PageLength * 4, pbuf,
5550+
buf_dma);
55475551
}
55485552
}
55495553

@@ -5707,8 +5711,8 @@ mpt_inactive_raid_volumes(MPT_ADAPTER *ioc, u8 channel, u8 id)
57075711

57085712
out:
57095713
if (buffer)
5710-
pci_free_consistent(ioc->pcidev, hdr.PageLength * 4, buffer,
5711-
dma_handle);
5714+
dma_free_coherent(&ioc->pcidev->dev, hdr.PageLength * 4,
5715+
buffer, dma_handle);
57125716
}
57135717

57145718
/**
@@ -5776,8 +5780,8 @@ mpt_raid_phys_disk_pg0(MPT_ADAPTER *ioc, u8 phys_disk_num,
57765780
out:
57775781

57785782
if (buffer)
5779-
pci_free_consistent(ioc->pcidev, hdr.PageLength * 4, buffer,
5780-
dma_handle);
5783+
dma_free_coherent(&ioc->pcidev->dev, hdr.PageLength * 4,
5784+
buffer, dma_handle);
57815785

57825786
return rc;
57835787
}
@@ -5840,8 +5844,8 @@ mpt_raid_phys_disk_get_num_paths(MPT_ADAPTER *ioc, u8 phys_disk_num)
58405844
out:
58415845

58425846
if (buffer)
5843-
pci_free_consistent(ioc->pcidev, hdr.PageLength * 4, buffer,
5844-
dma_handle);
5847+
dma_free_coherent(&ioc->pcidev->dev, hdr.PageLength * 4,
5848+
buffer, dma_handle);
58455849

58465850
return rc;
58475851
}
@@ -5929,8 +5933,8 @@ mpt_raid_phys_disk_pg1(MPT_ADAPTER *ioc, u8 phys_disk_num,
59295933
out:
59305934

59315935
if (buffer)
5932-
pci_free_consistent(ioc->pcidev, hdr.PageLength * 4, buffer,
5933-
dma_handle);
5936+
dma_free_coherent(&ioc->pcidev->dev, hdr.PageLength * 4,
5937+
buffer, dma_handle);
59345938

59355939
return rc;
59365940
}
@@ -6011,7 +6015,7 @@ mpt_findImVolumes(MPT_ADAPTER *ioc)
60116015
pIoc2->RaidVolume[i].VolumeID);
60126016

60136017
out:
6014-
pci_free_consistent(ioc->pcidev, iocpage2sz, pIoc2, ioc2_dma);
6018+
dma_free_coherent(&ioc->pcidev->dev, iocpage2sz, pIoc2, ioc2_dma);
60156019

60166020
return rc;
60176021
}
@@ -6070,7 +6074,7 @@ mpt_read_ioc_pg_3(MPT_ADAPTER *ioc)
60706074
}
60716075
}
60726076

6073-
pci_free_consistent(ioc->pcidev, iocpage3sz, pIoc3, ioc3_dma);
6077+
dma_free_coherent(&ioc->pcidev->dev, iocpage3sz, pIoc3, ioc3_dma);
60746078

60756079
return 0;
60766080
}
@@ -6122,7 +6126,8 @@ mpt_read_ioc_pg_4(MPT_ADAPTER *ioc)
61226126
ioc->spi_data.IocPg4_dma = ioc4_dma;
61236127
ioc->spi_data.IocPg4Sz = iocpage4sz;
61246128
} else {
6125-
pci_free_consistent(ioc->pcidev, iocpage4sz, pIoc4, ioc4_dma);
6129+
dma_free_coherent(&ioc->pcidev->dev, iocpage4sz, pIoc4,
6130+
ioc4_dma);
61266131
ioc->spi_data.pIocPg4 = NULL;
61276132
ioc->alloc_total -= iocpage4sz;
61286133
}
@@ -6210,7 +6215,7 @@ mpt_read_ioc_pg_1(MPT_ADAPTER *ioc)
62106215
}
62116216
}
62126217

6213-
pci_free_consistent(ioc->pcidev, iocpage1sz, pIoc1, ioc1_dma);
6218+
dma_free_coherent(&ioc->pcidev->dev, iocpage1sz, pIoc1, ioc1_dma);
62146219

62156220
return;
62166221
}
@@ -6255,7 +6260,8 @@ mpt_get_manufacturing_pg_0(MPT_ADAPTER *ioc)
62556260
out:
62566261

62576262
if (pbuf)
6258-
pci_free_consistent(ioc->pcidev, hdr.PageLength * 4, pbuf, buf_dma);
6263+
dma_free_coherent(&ioc->pcidev->dev, hdr.PageLength * 4, pbuf,
6264+
buf_dma);
62596265
}
62606266

62616267
/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/

drivers/message/fusion/mptctl.c

Lines changed: 30 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1046,9 +1046,9 @@ kbuf_alloc_2_sgl(int bytes, u32 sgdir, int sge_offset, int *frags,
10461046
goto free_and_fail;
10471047

10481048
if (sgdir & 0x04000000)
1049-
dir = PCI_DMA_TODEVICE;
1049+
dir = DMA_TO_DEVICE;
10501050
else
1051-
dir = PCI_DMA_FROMDEVICE;
1051+
dir = DMA_FROM_DEVICE;
10521052

10531053
/* At start:
10541054
* sgl = sglbuf = point to beginning of sg buffer
@@ -1080,8 +1080,9 @@ kbuf_alloc_2_sgl(int bytes, u32 sgdir, int sge_offset, int *frags,
10801080

10811081
bytes_allocd += this_alloc;
10821082
sgl->FlagsLength = (0x10000000|sgdir|this_alloc);
1083-
dma_addr = pci_map_single(ioc->pcidev,
1084-
buflist[buflist_ent].kptr, this_alloc, dir);
1083+
dma_addr = dma_map_single(&ioc->pcidev->dev,
1084+
buflist[buflist_ent].kptr,
1085+
this_alloc, dir);
10851086
sgl->Address = dma_addr;
10861087

10871088
fragcnt++;
@@ -1140,9 +1141,11 @@ kbuf_alloc_2_sgl(int bytes, u32 sgdir, int sge_offset, int *frags,
11401141
kptr = buflist[i].kptr;
11411142
len = buflist[i].len;
11421143

1143-
pci_free_consistent(ioc->pcidev, len, kptr, dma_addr);
1144+
dma_free_coherent(&ioc->pcidev->dev, len, kptr,
1145+
dma_addr);
11441146
}
1145-
pci_free_consistent(ioc->pcidev, MAX_SGL_BYTES, sglbuf, *sglbuf_dma);
1147+
dma_free_coherent(&ioc->pcidev->dev, MAX_SGL_BYTES, sglbuf,
1148+
*sglbuf_dma);
11461149
}
11471150
kfree(buflist);
11481151
return NULL;
@@ -1162,9 +1165,9 @@ kfree_sgl(MptSge_t *sgl, dma_addr_t sgl_dma, struct buflist *buflist, MPT_ADAPTE
11621165
int n = 0;
11631166

11641167
if (sg->FlagsLength & 0x04000000)
1165-
dir = PCI_DMA_TODEVICE;
1168+
dir = DMA_TO_DEVICE;
11661169
else
1167-
dir = PCI_DMA_FROMDEVICE;
1170+
dir = DMA_FROM_DEVICE;
11681171

11691172
nib = (sg->FlagsLength & 0xF0000000) >> 28;
11701173
while (! (nib & 0x4)) { /* eob */
@@ -1179,8 +1182,10 @@ kfree_sgl(MptSge_t *sgl, dma_addr_t sgl_dma, struct buflist *buflist, MPT_ADAPTE
11791182
dma_addr = sg->Address;
11801183
kptr = bl->kptr;
11811184
len = bl->len;
1182-
pci_unmap_single(ioc->pcidev, dma_addr, len, dir);
1183-
pci_free_consistent(ioc->pcidev, len, kptr, dma_addr);
1185+
dma_unmap_single(&ioc->pcidev->dev, dma_addr, len,
1186+
dir);
1187+
dma_free_coherent(&ioc->pcidev->dev, len, kptr,
1188+
dma_addr);
11841189
n++;
11851190
}
11861191
sg++;
@@ -1197,12 +1202,12 @@ kfree_sgl(MptSge_t *sgl, dma_addr_t sgl_dma, struct buflist *buflist, MPT_ADAPTE
11971202
dma_addr = sg->Address;
11981203
kptr = bl->kptr;
11991204
len = bl->len;
1200-
pci_unmap_single(ioc->pcidev, dma_addr, len, dir);
1201-
pci_free_consistent(ioc->pcidev, len, kptr, dma_addr);
1205+
dma_unmap_single(&ioc->pcidev->dev, dma_addr, len, dir);
1206+
dma_free_coherent(&ioc->pcidev->dev, len, kptr, dma_addr);
12021207
n++;
12031208
}
12041209

1205-
pci_free_consistent(ioc->pcidev, MAX_SGL_BYTES, sgl, sgl_dma);
1210+
dma_free_coherent(&ioc->pcidev->dev, MAX_SGL_BYTES, sgl, sgl_dma);
12061211
kfree(buflist);
12071212
dctlprintk(ioc, printk(MYIOC_s_DEBUG_FMT "-SG: Free'd 1 SGL buf + %d kbufs!\n",
12081213
ioc->name, n));
@@ -2283,13 +2288,13 @@ mptctl_do_mpt_command (MPT_ADAPTER *ioc, struct mpt_ioctl_command karg, void __u
22832288
/* Free the allocated memory.
22842289
*/
22852290
if (bufOut.kptr != NULL) {
2286-
pci_free_consistent(ioc->pcidev,
2287-
bufOut.len, (void *) bufOut.kptr, dma_addr_out);
2291+
dma_free_coherent(&ioc->pcidev->dev, bufOut.len,
2292+
(void *)bufOut.kptr, dma_addr_out);
22882293
}
22892294

22902295
if (bufIn.kptr != NULL) {
2291-
pci_free_consistent(ioc->pcidev,
2292-
bufIn.len, (void *) bufIn.kptr, dma_addr_in);
2296+
dma_free_coherent(&ioc->pcidev->dev, bufIn.len,
2297+
(void *)bufIn.kptr, dma_addr_in);
22932298
}
22942299

22952300
/* mf is null if command issued successfully
@@ -2405,7 +2410,9 @@ mptctl_hp_hostinfo(MPT_ADAPTER *ioc, unsigned long arg, unsigned int data_size)
24052410
pdata->BoardTracerNumber, 24);
24062411
}
24072412
}
2408-
pci_free_consistent(ioc->pcidev, hdr.PageLength * 4, pbuf, buf_dma);
2413+
dma_free_coherent(&ioc->pcidev->dev,
2414+
hdr.PageLength * 4, pbuf,
2415+
buf_dma);
24092416
pbuf = NULL;
24102417
}
24112418
}
@@ -2519,7 +2526,7 @@ mptctl_hp_hostinfo(MPT_ADAPTER *ioc, unsigned long arg, unsigned int data_size)
25192526
SET_MGMT_MSG_CONTEXT(ioc->ioctl_cmds.msg_context, 0);
25202527

25212528
if (pbuf)
2522-
pci_free_consistent(ioc->pcidev, 4, pbuf, buf_dma);
2529+
dma_free_coherent(&ioc->pcidev->dev, 4, pbuf, buf_dma);
25232530

25242531
/* Copy the data from kernel memory to user memory
25252532
*/
@@ -2623,7 +2630,8 @@ mptctl_hp_targetinfo(MPT_ADAPTER *ioc, unsigned long arg)
26232630
karg.negotiated_speed = HP_DEV_SPEED_ASYNC;
26242631
}
26252632

2626-
pci_free_consistent(ioc->pcidev, data_sz, (u8 *) pg0_alloc, page_dma);
2633+
dma_free_coherent(&ioc->pcidev->dev, data_sz, (u8 *)pg0_alloc,
2634+
page_dma);
26272635
}
26282636

26292637
/* Set defaults
@@ -2658,7 +2666,8 @@ mptctl_hp_targetinfo(MPT_ADAPTER *ioc, unsigned long arg)
26582666
karg.phase_errors = (u32) le16_to_cpu(pg3_alloc->PhaseErrorCount);
26592667
karg.parity_errors = (u32) le16_to_cpu(pg3_alloc->ParityErrorCount);
26602668
}
2661-
pci_free_consistent(ioc->pcidev, data_sz, (u8 *) pg3_alloc, page_dma);
2669+
dma_free_coherent(&ioc->pcidev->dev, data_sz,
2670+
(u8 *)pg3_alloc, page_dma);
26622671
}
26632672
}
26642673
hd = shost_priv(ioc->sh);

0 commit comments

Comments
 (0)