Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 24 Feb 2026 22:09:09 +0000
From:      Bjoern A. Zeeb <bz@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 5edf24aac1d0 - main - ofed: reduce usage of struct dma_attrs *dma_attrs
Message-ID:  <699e2185.37782.5dbfa03b@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by bz:

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

commit 5edf24aac1d0978d37d62594f42d87c9f118622b
Author:     Bjoern A. Zeeb <bz@FreeBSD.org>
AuthorDate: 2026-02-19 23:12:29 +0000
Commit:     Bjoern A. Zeeb <bz@FreeBSD.org>
CommitDate: 2026-02-24 22:04:36 +0000

    ofed: reduce usage of struct dma_attrs *dma_attrs
    
    ib_verbs.h still uses struct dma_attrs *dma_attrs everywhere.
    It is beyond my knowledge when that struct got deprecated upstream but
    it is still supported by our LinuxKPI.  The problem is that the
    functions called with that argument (dma_map_single_attrs,
    dma_unmap_single_attrs, dma_map_sg_attrs, dma_unmap_sg_attrs) so far
    are #defines in LinuxKPI and drop the last argument (attrs) so it was
    never a problem.
    
    In preparation to pass the attrs to the actual implementation in LinuxKPI,
    which has gained support for them, we now pass dma_sttrs->flags which
    is the expected unsigned long bit field.
    
    If anyone has serious interest in updating our ofed implementation they
    could look into this some more and remove the usage of struct dma_attrs
    entirely.
    
    Sponsored by:   The FreeBSD Foundation
    MFC after:      3 days
    Reviewed by:    kib
    Differential Revision: https://reviews.freebsd.org/D55390
---
 sys/ofed/include/rdma/ib_verbs.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/sys/ofed/include/rdma/ib_verbs.h b/sys/ofed/include/rdma/ib_verbs.h
index 78aa0af4fa2b..0c40a6f18f7c 100644
--- a/sys/ofed/include/rdma/ib_verbs.h
+++ b/sys/ofed/include/rdma/ib_verbs.h
@@ -3539,7 +3539,7 @@ static inline u64 ib_dma_map_single_attrs(struct ib_device *dev,
 					  struct dma_attrs *dma_attrs)
 {
 	return dma_map_single_attrs(dev->dma_device, cpu_addr, size,
-				    direction, dma_attrs);
+				    direction, dma_attrs->flags);
 }
 
 static inline void ib_dma_unmap_single_attrs(struct ib_device *dev,
@@ -3548,7 +3548,7 @@ static inline void ib_dma_unmap_single_attrs(struct ib_device *dev,
 					     struct dma_attrs *dma_attrs)
 {
 	return dma_unmap_single_attrs(dev->dma_device, addr, size,
-				      direction, dma_attrs);
+				      direction, dma_attrs->flags);
 }
 
 /**
@@ -3630,7 +3630,7 @@ static inline int ib_dma_map_sg_attrs(struct ib_device *dev,
 						  dma_attrs);
 	else
 		return dma_map_sg_attrs(dev->dma_device, sg, nents, direction,
-					dma_attrs);
+					dma_attrs->flags);
 }
 
 static inline void ib_dma_unmap_sg_attrs(struct ib_device *dev,
@@ -3643,7 +3643,7 @@ static inline void ib_dma_unmap_sg_attrs(struct ib_device *dev,
 						  dma_attrs);
 	else
 		dma_unmap_sg_attrs(dev->dma_device, sg, nents, direction,
-				   dma_attrs);
+				   dma_attrs->flags);
 }
 /**
  * ib_sg_dma_address - Return the DMA address from a scatter/gather entry


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?699e2185.37782.5dbfa03b>