Lines Matching refs:grefs
52 * Calculate number of grefs required to handle this buffer,
53 * e.g. if grefs are required for page directory only or the buffer
85 if (!buf->grefs)
88 return buf->grefs[0];
141 if (buf->grefs) {
145 if (buf->grefs[i] != GRANT_INVALID_REF)
146 gnttab_end_foreign_access(buf->grefs[i],
149 kfree(buf->grefs);
155 * Number of grefs a page can hold with respect to the
194 * plus grefs for the buffer pages.
214 if (!buf->pages || !buf->backend_map_handles || !buf->grefs)
275 * Read page directory to get grefs from the backend: for external
276 * buffer we only allocate buf->grefs for the page directory,
343 /* Fill only grefs for the page directory itself. */
347 page_dir->gref_dir_next_page = buf->grefs[i + 1];
370 * While copying, skip grefs at start, they are for pages
384 page_dir->gref_dir_next_page = buf->grefs[i + 1];
386 memcpy(&page_dir->gref, &buf->grefs[cur_gref],
418 buf->grefs[gref_idx++] = cur_ref;
458 buf->grefs[j++] = cur_ref;
479 buf->grefs = kcalloc(buf->num_grefs, sizeof(*buf->grefs), GFP_KERNEL);
480 if (!buf->grefs)