IB/qib: Remove qpn, qp tables and related variables from qib
[platform/kernel/linux-rpi.git] / drivers / infiniband / hw / qib / qib_verbs.h
index 538d3a6..e10ab80 100644 (file)
@@ -55,9 +55,6 @@ struct qib_verbs_txreq;
 #define QIB_MAX_RDMA_ATOMIC     16
 #define QIB_GUIDS_PER_PORT     5
 
-#define QPN_MAX                 (1 << 24)
-#define QPNMAP_ENTRIES          (QPN_MAX / PAGE_SIZE / BITS_PER_BYTE)
-
 /*
  * Increment this value if any changes that break userspace ABI
  * compatibility are made.
@@ -364,26 +361,6 @@ static inline struct rvt_rwqe *get_rwqe_ptr(struct rvt_rq *rq, unsigned n)
                  rq->max_sge * sizeof(struct ib_sge)) * n);
 }
 
-/*
- * QPN-map pages start out as NULL, they get allocated upon
- * first use and are never deallocated. This way,
- * large bitmaps are not allocated unless large numbers of QPs are used.
- */
-struct qpn_map {
-       void *page;
-};
-
-struct qib_qpn_table {
-       spinlock_t lock; /* protect changes in this struct */
-       unsigned flags;         /* flags for QP0/1 allocated for each port */
-       u32 last;               /* last QP number allocated */
-       u32 nmaps;              /* size of the map table */
-       u16 limit;
-       u16 mask;
-       /* bit map of free QP numbers other than 0/1 */
-       struct qpn_map map[QPNMAP_ENTRIES];
-};
-
 struct qib_opcode_stats {
        u64 n_packets;          /* number of packets */
        u64 n_bytes;            /* total number of bytes */
@@ -428,26 +405,16 @@ struct qib_ibport {
 
 struct qib_ibdev {
        struct rvt_dev_info rdi;
-       struct list_head pending_mmaps;
-       spinlock_t mmap_offset_lock; /* protect mmap_offset */
-       u32 mmap_offset;
 
-       /* QP numbers are shared by all IB ports */
-       struct qib_qpn_table qpn_table;
        struct list_head piowait;       /* list for wait PIO buf */
        struct list_head dmawait;       /* list for wait DMA */
        struct list_head txwait;        /* list for wait qib_verbs_txreq */
        struct list_head memwait;       /* list for wait kernel memory */
        struct list_head txreq_free;
        struct timer_list mem_timer;
-       struct rvt_qp __rcu **qp_table;
        struct qib_pio_header *pio_hdrs;
        dma_addr_t pio_hdrs_phys;
-       /* list of QPs waiting for RNR timer */
-       spinlock_t pending_lock; /* protect wait lists, PMA counters, etc. */
-       u32 qp_table_size; /* size of the hash table */
        u32 qp_rnd; /* random bytes for hash */
-       spinlock_t qpt_lock;
 
        u32 n_piowait;
        u32 n_txwait;
@@ -585,9 +552,9 @@ int qib_query_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr,
 
 unsigned qib_free_all_qps(struct qib_devdata *dd);
 
-void qib_init_qpn_table(struct qib_devdata *dd, struct qib_qpn_table *qpt);
+void qib_init_qpn_table(struct qib_devdata *dd, struct rvt_qpn_table *qpt);
 
-void qib_free_qpn_table(struct qib_qpn_table *qpt);
+void qib_free_qpn_table(struct rvt_qpn_table *qpt);
 
 #ifdef CONFIG_DEBUG_FS
 
@@ -683,17 +650,6 @@ static inline void qib_put_ss(struct rvt_sge_state *ss)
        }
 }
 
-void qib_release_mmap_info(struct kref *ref);
-
-struct rvt_mmap_info *qib_create_mmap_info(struct qib_ibdev *dev, u32 size,
-                                          struct ib_ucontext *context,
-                                          void *obj);
-
-void qib_update_mmap_info(struct qib_ibdev *dev, struct rvt_mmap_info *ip,
-                         u32 size, void *obj);
-
-int qib_mmap(struct ib_ucontext *context, struct vm_area_struct *vma);
-
 int qib_get_rwqe(struct rvt_qp *qp, int wr_id_only);
 
 void qib_migrate_qp(struct rvt_qp *qp);