Lines Matching refs:npages
20 unsigned int npages;
55 static u32 sdma_cache_evict(struct hfi1_user_sdma_pkt_q *pq, u32 npages)
60 evict_data.target = npages;
66 unsigned int start, unsigned int npages)
68 hfi1_release_user_pages(mm, pages + start, npages, false);
79 if (node->npages) {
81 node->npages);
82 atomic_sub(node->npages, &node->pq->n_locked);
116 struct sdma_mmu_node *node, int npages)
122 pages = kcalloc(npages, sizeof(*pages), GFP_KERNEL);
128 npages)) {
129 SDMA_DBG(req, "Evicting: nlocked %u npages %u",
130 atomic_read(&pq->n_locked), npages);
131 cleared = sdma_cache_evict(pq, npages);
132 if (cleared >= npages)
136 SDMA_DBG(req, "Acquire user pages start_address %lx node->npages %u npages %u",
137 start_address, node->npages, npages);
138 pinned = hfi1_acquire_user_pages(current->mm, start_address, npages, 0,
146 if (pinned != npages) {
147 unpin_vector_pages(current->mm, pages, node->npages, pinned);
148 SDMA_DBG(req, "npages %u pinned %d", npages, pinned);
154 node->npages = npages;
303 if (page_index >= cache_entry->npages) {
305 "Request for page_index %zu >= cache_entry->npages %u",
306 page_index, cache_entry->npages);
459 evict_data->cleared += node->npages;