| .. | .. |
|---|
| 53 | 53 | #include "common.h" |
|---|
| 54 | 54 | #include "iowait.h" |
|---|
| 55 | 55 | #include "user_exp_rcv.h" |
|---|
| 56 | +#include "mmu_rb.h" |
|---|
| 56 | 57 | |
|---|
| 57 | 58 | /* The maximum number of Data io vectors per message/request */ |
|---|
| 58 | 59 | #define MAX_VECTORS_PER_REQ 8 |
|---|
| .. | .. |
|---|
| 144 | 145 | struct sdma_mmu_node { |
|---|
| 145 | 146 | struct mmu_rb_node rb; |
|---|
| 146 | 147 | struct hfi1_user_sdma_pkt_q *pq; |
|---|
| 147 | | - atomic_t refcount; |
|---|
| 148 | 148 | struct page **pages; |
|---|
| 149 | 149 | unsigned int npages; |
|---|
| 150 | 150 | }; |
|---|
| .. | .. |
|---|
| 152 | 152 | struct user_sdma_iovec { |
|---|
| 153 | 153 | struct list_head list; |
|---|
| 154 | 154 | struct iovec iov; |
|---|
| 155 | | - /* number of pages in this vector */ |
|---|
| 156 | | - unsigned int npages; |
|---|
| 157 | | - /* array of pinned pages for this vector */ |
|---|
| 158 | | - struct page **pages; |
|---|
| 159 | 155 | /* |
|---|
| 160 | 156 | * offset into the virtual address space of the vector at |
|---|
| 161 | 157 | * which we last left off. |
|---|
| 162 | 158 | */ |
|---|
| 163 | 159 | u64 offset; |
|---|
| 164 | | - struct sdma_mmu_node *node; |
|---|
| 165 | 160 | }; |
|---|
| 166 | 161 | |
|---|
| 167 | 162 | /* evict operation argument */ |
|---|