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
