The branch main has been updated by jhb:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=e4c4c6eeb2a29f7549d28e6ce51fc36125c08e68

commit e4c4c6eeb2a29f7549d28e6ce51fc36125c08e68
Author:     John Baldwin <[email protected]>
AuthorDate: 2026-05-28 15:51:30 +0000
Commit:     John Baldwin <[email protected]>
CommitDate: 2026-06-22 18:36:53 +0000

    RDMA: dma-mapping: use unsigned long for dma_attrs
    
    Tested by:      Wafa Hamzah <[email protected]> (mlx5_ib)
    Tested by:      John Baldwin <[email protected]> (iw_cxgbe)
    Obtained from:  Linux commit 00085f1efa387a8ce100e3734920f7639c80caa3
    Sponsored by:   Chelsio Communications
---
 sys/ofed/drivers/infiniband/core/ib_umem.c |  6 +++---
 sys/ofed/include/rdma/ib_verbs.h           | 20 ++++++++++----------
 2 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/sys/ofed/drivers/infiniband/core/ib_umem.c 
b/sys/ofed/drivers/infiniband/core/ib_umem.c
index ff92c4fa12a5..1f99d2560224 100644
--- a/sys/ofed/drivers/infiniband/core/ib_umem.c
+++ b/sys/ofed/drivers/infiniband/core/ib_umem.c
@@ -93,13 +93,13 @@ struct ib_umem *ib_umem_get(struct ib_ucontext *context, 
unsigned long addr,
        unsigned long npages;
        int ret;
        int i;
-       struct dma_attrs dma_attrs = { 0 };
+       unsigned long dma_attrs = 0;
        struct scatterlist *sg, *sg_list_start;
        int need_release = 0;
        unsigned int gup_flags = FOLL_WRITE;
 
        if (dmasync)
-               dma_attrs.flags |= DMA_ATTR_WRITE_BARRIER;
+               dma_attrs |= DMA_ATTR_WRITE_BARRIER;
 
        if (!size)
                return ERR_PTR(-EINVAL);
@@ -202,7 +202,7 @@ struct ib_umem *ib_umem_get(struct ib_ucontext *context, 
unsigned long addr,
                                  umem->sg_head.sgl,
                                  umem->npages,
                                  DMA_BIDIRECTIONAL,
-                                 &dma_attrs);
+                                 dma_attrs);
 
        if (umem->nmap <= 0) {
                ret = -ENOMEM;
diff --git a/sys/ofed/include/rdma/ib_verbs.h b/sys/ofed/include/rdma/ib_verbs.h
index 8929cf2fe0b1..b495c1da6c57 100644
--- a/sys/ofed/include/rdma/ib_verbs.h
+++ b/sys/ofed/include/rdma/ib_verbs.h
@@ -2024,11 +2024,11 @@ struct ib_dma_mapping_ops {
        int             (*map_sg_attrs)(struct ib_device *dev,
                                        struct scatterlist *sg, int nents,
                                        enum dma_data_direction direction,
-                                       struct dma_attrs *attrs);
+                                       unsigned long attrs);
        void            (*unmap_sg_attrs)(struct ib_device *dev,
                                          struct scatterlist *sg, int nents,
                                          enum dma_data_direction direction,
-                                         struct dma_attrs *attrs);
+                                         unsigned long attrs);
        void            (*sync_single_for_cpu)(struct ib_device *dev,
                                               u64 dma_handle,
                                               size_t size,
@@ -3540,19 +3540,19 @@ static inline void ib_dma_unmap_single(struct ib_device 
*dev,
 static inline u64 ib_dma_map_single_attrs(struct ib_device *dev,
                                          void *cpu_addr, size_t size,
                                          enum dma_data_direction direction,
-                                         struct dma_attrs *dma_attrs)
+                                         unsigned long dma_attrs)
 {
        return dma_map_single_attrs(dev->dma_device, cpu_addr, size,
-                                   direction, dma_attrs->flags);
+                                   direction, dma_attrs);
 }
 
 static inline void ib_dma_unmap_single_attrs(struct ib_device *dev,
                                             u64 addr, size_t size,
                                             enum dma_data_direction direction,
-                                            struct dma_attrs *dma_attrs)
+                                            unsigned long dma_attrs)
 {
        return dma_unmap_single_attrs(dev->dma_device, addr, size,
-                                     direction, dma_attrs->flags);
+                                     direction, dma_attrs);
 }
 
 /**
@@ -3627,27 +3627,27 @@ static inline void ib_dma_unmap_sg(struct ib_device 
*dev,
 static inline int ib_dma_map_sg_attrs(struct ib_device *dev,
                                      struct scatterlist *sg, int nents,
                                      enum dma_data_direction direction,
-                                     struct dma_attrs *dma_attrs)
+                                     unsigned long dma_attrs)
 {
        if (dev->dma_ops)
                return dev->dma_ops->map_sg_attrs(dev, sg, nents, direction,
                                                  dma_attrs);
        else
                return dma_map_sg_attrs(dev->dma_device, sg, nents, direction,
-                                       dma_attrs->flags);
+                                       dma_attrs);
 }
 
 static inline void ib_dma_unmap_sg_attrs(struct ib_device *dev,
                                         struct scatterlist *sg, int nents,
                                         enum dma_data_direction direction,
-                                        struct dma_attrs *dma_attrs)
+                                        unsigned long dma_attrs)
 {
        if (dev->dma_ops)
                return dev->dma_ops->unmap_sg_attrs(dev, sg, nents, direction,
                                                  dma_attrs);
        else
                dma_unmap_sg_attrs(dev->dma_device, sg, nents, direction,
-                                  dma_attrs->flags);
+                                  dma_attrs);
 }
 /**
  * ib_sg_dma_address - Return the DMA address from a scatter/gather entry

Reply via email to