[kmods] linux/igb_uio: fix build on Linux 5.18+

Message ID 20221216171801.348224-1-luca.boccassi@gmail.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series [kmods] linux/igb_uio: fix build on Linux 5.18+ |

Checks

Context Check Description
ci/checkpatch warning coding style issues
ci/loongarch-compilation warning apply patch failure
ci/iol-testing warning apply patch failure
ci/Intel-compilation warning apply issues

Commit Message

Luca Boccassi Dec. 16, 2022, 5:18 p.m. UTC
  From: Luca Boccassi <bluca@debian.org>

Reported-by: Paolo Pisati <p.pisati@gmail.com>
Signed-off-by: Luca Boccassi <bluca@debian.org>
---
Only build-tested.

 linux/igb_uio/igb_uio.c | 8 ++++++++
 1 file changed, 8 insertions(+)
  

Comments

Ferruh Yigit Dec. 18, 2022, 2:24 p.m. UTC | #1
On 12/16/2022 5:18 PM, luca.boccassi@gmail.com wrote:
> From: Luca Boccassi <bluca@debian.org>
> 
> Reported-by: Paolo Pisati <p.pisati@gmail.com>
> Signed-off-by: Luca Boccassi <bluca@debian.org>
> ---
> Only build-tested.
> 
>  linux/igb_uio/igb_uio.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/linux/igb_uio/igb_uio.c b/linux/igb_uio/igb_uio.c
> index 33e0e02..3d8a8a8 100644
> --- a/linux/igb_uio/igb_uio.c
> +++ b/linux/igb_uio/igb_uio.c
> @@ -512,13 +512,21 @@ igbuio_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
>  		goto fail_release_iomem;
>  
>  	/* set 64-bit DMA mask */
> +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 18, 0)
>  	err = pci_set_dma_mask(dev,  DMA_BIT_MASK(64));
> +#else
> +	err = dma_set_mask(&dev->dev, DMA_BIT_MASK(64));
> +#endif


Hi Luca,

Can you please check following, I guess these patches are for same issue:
https://patches.dpdk.org/project/dpdk/patch/20221216115732.3552650-1-ferruh.yigit@amd.com/

>  	if (err != 0) {
>  		dev_err(&dev->dev, "Cannot set DMA mask\n");
>  		goto fail_release_iomem;
>  	}
>  
> +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 18, 0)
>  	err = pci_set_consistent_dma_mask(dev, DMA_BIT_MASK(64));
> +#else
> +	err = dma_set_coherent_mask(&dev->dev, DMA_BIT_MASK(64));
> +#endif
>  	if (err != 0) {
>  		dev_err(&dev->dev, "Cannot set consistent DMA mask\n");
>  		goto fail_release_iomem;
  
Luca Boccassi Dec. 22, 2022, 3:35 p.m. UTC | #2
On Sun, 18 Dec 2022 at 15:25, Ferruh Yigit <ferruh.yigit@amd.com> wrote:
>
> On 12/16/2022 5:18 PM, luca.boccassi@gmail.com wrote:
> > From: Luca Boccassi <bluca@debian.org>
> >
> > Reported-by: Paolo Pisati <p.pisati@gmail.com>
> > Signed-off-by: Luca Boccassi <bluca@debian.org>
> > ---
> > Only build-tested.
> >
> >  linux/igb_uio/igb_uio.c | 8 ++++++++
> >  1 file changed, 8 insertions(+)
> >
> > diff --git a/linux/igb_uio/igb_uio.c b/linux/igb_uio/igb_uio.c
> > index 33e0e02..3d8a8a8 100644
> > --- a/linux/igb_uio/igb_uio.c
> > +++ b/linux/igb_uio/igb_uio.c
> > @@ -512,13 +512,21 @@ igbuio_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
> >               goto fail_release_iomem;
> >
> >       /* set 64-bit DMA mask */
> > +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 18, 0)
> >       err = pci_set_dma_mask(dev,  DMA_BIT_MASK(64));
> > +#else
> > +     err = dma_set_mask(&dev->dev, DMA_BIT_MASK(64));
> > +#endif
>
>
> Hi Luca,
>
> Can you please check following, I guess these patches are for same issue:
> https://patches.dpdk.org/project/dpdk/patch/20221216115732.3552650-1-ferruh.yigit@amd.com/

Yeah that's better, thanks.

Kind regards,
Luca Boccassi
  

Patch

diff --git a/linux/igb_uio/igb_uio.c b/linux/igb_uio/igb_uio.c
index 33e0e02..3d8a8a8 100644
--- a/linux/igb_uio/igb_uio.c
+++ b/linux/igb_uio/igb_uio.c
@@ -512,13 +512,21 @@  igbuio_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
 		goto fail_release_iomem;
 
 	/* set 64-bit DMA mask */
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 18, 0)
 	err = pci_set_dma_mask(dev,  DMA_BIT_MASK(64));
+#else
+	err = dma_set_mask(&dev->dev, DMA_BIT_MASK(64));
+#endif
 	if (err != 0) {
 		dev_err(&dev->dev, "Cannot set DMA mask\n");
 		goto fail_release_iomem;
 	}
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 18, 0)
 	err = pci_set_consistent_dma_mask(dev, DMA_BIT_MASK(64));
+#else
+	err = dma_set_coherent_mask(&dev->dev, DMA_BIT_MASK(64));
+#endif
 	if (err != 0) {
 		dev_err(&dev->dev, "Cannot set consistent DMA mask\n");
 		goto fail_release_iomem;