Lines Matching defs:page_idx

45 			((void *)((wqs)->page_vaddr[(wq)->page_idx]) \
49 ((wqs)->page_paddr[(wq)->page_idx] \
53 ((void *)((wqs)->shadow_page_vaddr[(wq)->page_idx]) \
133 * @page_idx: the page index of the page will be allocated
137 static int wqs_allocate_page(struct hinic_wqs *wqs, int page_idx)
139 return queue_alloc_page(wqs->hwif, &wqs->page_vaddr[page_idx],
140 &wqs->page_paddr[page_idx],
141 &wqs->shadow_page_vaddr[page_idx],
148 * @page_idx: the page index of the page will be freed
150 static void wqs_free_page(struct hinic_wqs *wqs, int page_idx)
156 wqs->page_vaddr[page_idx],
157 (dma_addr_t)wqs->page_paddr[page_idx]);
158 vfree(wqs->shadow_page_vaddr[page_idx]);
231 static int wqs_next_block(struct hinic_wqs *wqs, int *page_idx,
249 *page_idx = wqs->free_blocks[pos].page_idx;
252 wqs->free_blocks[pos].page_idx = -1;
259 static void wqs_return_block(struct hinic_wqs *wqs, int page_idx,
269 wqs->free_blocks[pos].page_idx = page_idx;
279 int page_idx, blk_idx, pos = 0;
281 for (page_idx = 0; page_idx < wqs->num_pages; page_idx++) {
283 wqs->free_blocks[pos].page_idx = page_idx;
308 int err, i, page_idx;
325 for (page_idx = 0; page_idx < wqs->num_pages; page_idx++) {
326 err = wqs_allocate_page(wqs, page_idx);
345 for (i = 0; i < page_idx; i++)
360 int page_idx;
364 for (page_idx = 0; page_idx < wqs->num_pages; page_idx++)
365 wqs_free_page(wqs, page_idx);
539 err = wqs_next_block(wqs, &wq->page_idx, &wq->block_idx);
570 wqs_return_block(wqs, wq->page_idx, wq->block_idx);
583 wqs_return_block(wqs, wq->page_idx, wq->block_idx);
645 wq[i].page_idx = 0;