Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 14 Oct 2007 23:33:06 GMT
From:      Kip Macy <kmacy@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 127532 for review
Message-ID:  <200710142333.l9ENX6FL054216@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=127532

Change 127532 by kmacy@kmacy_home:ethng on 2007/10/14 23:32:13

	convert items with linux analogues - ifdef out dma routines

Affected files ...

.. //depot/projects/ethng/src/sys/contrib/rdma/ib_verbs.h#2 edit

Differences ...

==== //depot/projects/ethng/src/sys/contrib/rdma/ib_verbs.h#2 (text+ko) ====

@@ -38,19 +38,12 @@
  * $Id: ib_verbs.h 1349 2004-12-16 21:09:43Z roland $
  */
 
+
 #if !defined(IB_VERBS_H)
 #define IB_VERBS_H
 
-#include <linux/types.h>
-#include <linux/device.h>
-#include <linux/mm.h>
-#include <linux/dma-mapping.h>
-#include <linux/kref.h>
+#include <sys/linux_compat.h>
 
-#include <asm/atomic.h>
-#include <asm/scatterlist.h>
-#include <asm/uaccess.h>
-
 union ib_gid {
 	u8	raw[16];
 	struct {
@@ -73,7 +66,7 @@
 };
 
 enum rdma_transport_type
-rdma_node_get_transport(enum rdma_node_type node_type) __attribute_const__;
+rdma_node_get_transport(enum rdma_node_type node_type)  __attribute_const__ ;
 
 enum ib_device_cap_flags {
 	IB_DEVICE_RESIZE_MAX_WR		= 1,
@@ -294,7 +287,7 @@
 struct ib_event_handler {
 	struct ib_device *device;
 	void            (*handler)(struct ib_event_handler *, struct ib_event *);
-	struct list_head  list;
+	TAILQ_ENTRY(ib_event_handler) entry;
 };
 
 #define INIT_IB_EVENT_HANDLER(_ptr, _device, _handler)		\
@@ -701,15 +694,19 @@
 	u8	page_shift;
 };
 
+/*
+ * XXX can this really be on 7 different lists at once?
+ *
+ */
 struct ib_ucontext {
 	struct ib_device       *device;
-	struct list_head	pd_list;
-	struct list_head	mr_list;
-	struct list_head	mw_list;
-	struct list_head	cq_list;
-	struct list_head	qp_list;
-	struct list_head	srq_list;
-	struct list_head	ah_list;
+	TAILQ_ENTRY(ib_ucontext)	pd_list;
+	TAILQ_ENTRY(ib_ucontext)	mr_list;
+	TAILQ_ENTRY(ib_ucontext)	mw_list;
+	TAILQ_ENTRY(ib_ucontext)	cq_list;
+	TAILQ_ENTRY(ib_ucontext)	qp_list;
+	TAILQ_ENTRY(ib_ucontext)	srq_list;
+	TAILQ_ENTRY(ib_ucontext)	ah_list;
 	int			closing;
 };
 
@@ -717,9 +714,9 @@
 	u64			user_handle;	/* handle given to us by userspace */
 	struct ib_ucontext     *context;	/* associated user context */
 	void		       *object;		/* containing object */
-	struct list_head	list;		/* link to context's list */
+	TAILQ_ENTRY(ib_uobject)	entry;		/* link to context's list */
 	u32			id;		/* index into kernel idr */
-	struct kref		ref;
+	atomic_t		ref;
 	struct rw_semaphore	mutex;		/* protects .live */
 	int			live;
 };
@@ -798,14 +795,17 @@
 	u32			rkey;
 };
 
+
 struct ib_fmr {
 	struct ib_device	*device;
 	struct ib_pd		*pd;
-	struct list_head	list;
+	TAILQ_ENTRY(ib_fmr)	entry;
 	u32			lkey;
 	u32			rkey;
 };
 
+TAILQ_HEAD(ib_fmr_list_head, ib_fmr);
+
 struct ib_mad;
 struct ib_grh;
 
@@ -882,11 +882,11 @@
 
 	char                          name[IB_DEVICE_NAME_MAX];
 
-	struct list_head              event_handler_list;
+	TAILQ_ENTRY(ib_device)        event_handler_entry;
 	spinlock_t                    event_handler_lock;
 
-	struct list_head              core_list;
-	struct list_head              client_data_list;
+        TAILQ_ENTRY(ib_device)        core_entry;
+        TAILQ_ENTRY(ib_device)        client_data_entry;
 	spinlock_t                    client_data_lock;
 
 	struct ib_cache               cache;
@@ -919,7 +919,7 @@
 						     struct ib_udata *udata);
 	int                        (*dealloc_ucontext)(struct ib_ucontext *context);
 	int                        (*mmap)(struct ib_ucontext *context,
-					   struct vm_area_struct *vma);
+					   struct vm_object *vma);
 	struct ib_pd *             (*alloc_pd)(struct ib_device *device,
 					       struct ib_ucontext *context,
 					       struct ib_udata *udata);
@@ -1009,7 +1009,7 @@
 	int		           (*map_phys_fmr)(struct ib_fmr *fmr,
 						   u64 *page_list, int list_len,
 						   u64 iova);
-	int		           (*unmap_fmr)(struct list_head *fmr_list);
+	int		           (*unmap_fmr)(struct ib_fmr_list_head *fmr_list);
 	int		           (*dealloc_fmr)(struct ib_fmr *fmr);
 	int                        (*attach_mcast)(struct ib_qp *qp,
 						   union ib_gid *gid,
@@ -1028,10 +1028,11 @@
 	struct ib_dma_mapping_ops   *dma_ops;
 
 	struct module               *owner;
+#ifdef notyet	
 	struct class_device          class_dev;
 	struct kobject               ports_parent;
 	struct list_head             port_list;
-
+#endif
 	enum {
 		IB_DEV_UNINITIALIZED,
 		IB_DEV_REGISTERED,
@@ -1051,8 +1052,7 @@
 	char  *name;
 	void (*add)   (struct ib_device *);
 	void (*remove)(struct ib_device *);
-
-	struct list_head list;
+	TAILQ_ENTRY(ib_client) entry;
 };
 
 struct ib_device *ib_alloc_device(size_t size);
@@ -1070,12 +1070,12 @@
 
 static inline int ib_copy_from_udata(void *dest, struct ib_udata *udata, size_t len)
 {
-	return copy_from_user(dest, udata->inbuf, len) ? -EFAULT : 0;
+	return copyin(udata->inbuf, dest, len) ? -EFAULT : 0;
 }
 
 static inline int ib_copy_to_udata(struct ib_udata *udata, void *src, size_t len)
 {
-	return copy_to_user(udata->outbuf, src, len) ? -EFAULT : 0;
+	return copyout(src, udata->outbuf, len) ? -EFAULT : 0;
 }
 
 /**
@@ -1464,7 +1464,7 @@
  * by ib_get_dma_mr().
  */
 struct ib_mr *ib_get_dma_mr(struct ib_pd *pd, int mr_access_flags);
-
+#ifdef notyet
 /**
  * ib_dma_mapping_error - check a DMA addr for error
  * @dev: The device for which the dma_addr was created
@@ -1681,7 +1681,7 @@
 	else
 		dma_free_coherent(dev->dma_device, size, cpu_addr, dma_handle);
 }
-
+#endif
 /**
  * ib_reg_phys_mr - Prepares a virtually addressed memory region for use
  *   by an HCA.
@@ -1804,7 +1804,7 @@
  * ib_unmap_fmr - Removes the mapping from a list of fast memory regions.
  * @fmr_list: A linked list of fast memory regions to unmap.
  */
-int ib_unmap_fmr(struct list_head *fmr_list);
+int ib_unmap_fmr(struct ib_fmr_list_head *fmr_list);
 
 /**
  * ib_dealloc_fmr - Deallocates a fast memory region.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200710142333.l9ENX6FL054216>