Message ID | 70c8a3bc67e41c5fefb526ecd64c5174c1e2dc76.1625720835.git.christophe.jaillet@wanadoo.fr (mailing list archive) |
---|---|
State | Accepted |
Commit | 53b50458110d829c8fc45e7803a335a515698fd8 |
Headers | show |
Series | dmaengine: idxd: Simplify code and axe the use of a deprecated API | expand |
On 7/7/2021 10:08 PM, Christophe JAILLET wrote: > The wrappers in include/linux/pci-dma-compat.h should go away. > > Replace 'pci_set_dma_mask/pci_set_consistent_dma_mask' by an equivalent > and less verbose 'dma_set_mask_and_coherent()' call. > > Even if the code may look different, it should have exactly the same > run-time behavior. > If pci_set_dma_mask(64) fails and pci_set_dma_mask(32) succeeds, then > pci_set_consistent_dma_mask(64) will also fail. > > Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Acked-by: Dave Jiang <dave.jiang@intel.com> thanks. > --- > If needed, see post from Christoph Hellwig on the kernel-janitors ML: > https://marc.info/?l=kernel-janitors&m=158745678307186&w=4 > --- > drivers/dma/idxd/init.c | 10 ++-------- > 1 file changed, 2 insertions(+), 8 deletions(-) > > diff --git a/drivers/dma/idxd/init.c b/drivers/dma/idxd/init.c > index c8ae41d36040..de300ba38b14 100644 > --- a/drivers/dma/idxd/init.c > +++ b/drivers/dma/idxd/init.c > @@ -637,15 +637,9 @@ static int idxd_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) > } > > dev_dbg(dev, "Set DMA masks\n"); > - rc = pci_set_dma_mask(pdev, DMA_BIT_MASK(64)); > + rc = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64)); > if (rc) > - rc = pci_set_dma_mask(pdev, DMA_BIT_MASK(32)); > - if (rc) > - goto err; > - > - rc = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64)); > - if (rc) > - rc = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32)); > + rc = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)); > if (rc) > goto err; >
On 08-07-21, 07:08, Christophe JAILLET wrote: > The wrappers in include/linux/pci-dma-compat.h should go away. > > Replace 'pci_set_dma_mask/pci_set_consistent_dma_mask' by an equivalent > and less verbose 'dma_set_mask_and_coherent()' call. > > Even if the code may look different, it should have exactly the same > run-time behavior. > If pci_set_dma_mask(64) fails and pci_set_dma_mask(32) succeeds, then > pci_set_consistent_dma_mask(64) will also fail. Applied, thanks
diff --git a/drivers/dma/idxd/init.c b/drivers/dma/idxd/init.c index c8ae41d36040..de300ba38b14 100644 --- a/drivers/dma/idxd/init.c +++ b/drivers/dma/idxd/init.c @@ -637,15 +637,9 @@ static int idxd_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) } dev_dbg(dev, "Set DMA masks\n"); - rc = pci_set_dma_mask(pdev, DMA_BIT_MASK(64)); + rc = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64)); if (rc) - rc = pci_set_dma_mask(pdev, DMA_BIT_MASK(32)); - if (rc) - goto err; - - rc = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64)); - if (rc) - rc = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32)); + rc = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)); if (rc) goto err;
The wrappers in include/linux/pci-dma-compat.h should go away. Replace 'pci_set_dma_mask/pci_set_consistent_dma_mask' by an equivalent and less verbose 'dma_set_mask_and_coherent()' call. Even if the code may look different, it should have exactly the same run-time behavior. If pci_set_dma_mask(64) fails and pci_set_dma_mask(32) succeeds, then pci_set_consistent_dma_mask(64) will also fail. Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> --- If needed, see post from Christoph Hellwig on the kernel-janitors ML: https://marc.info/?l=kernel-janitors&m=158745678307186&w=4 --- drivers/dma/idxd/init.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-)