Lines Matching defs:grant
3 * Xen grant DMA-mapping layer - contains special DMA-mapping routines
4 * for providing grant references as DMA addresses to be used by frontends
33 static inline dma_addr_t grant_to_dma(grant_ref_t grant)
35 return XEN_GRANT_DMA_ADDR_OFF | ((dma_addr_t)grant << XEN_PAGE_SHIFT);
74 * Such a DMA address is formed by using the grant reference as a frame
85 grant_ref_t grant;
101 if (gnttab_alloc_grant_reference_seq(n_pages, &grant)) {
107 gnttab_grant_foreign_access_ref(grant + i, data->backend_domid,
111 *dma_handle = grant_to_dma(grant);
121 grant_ref_t grant;
130 grant = dma_to_grant(dma_handle);
133 if (unlikely(!gnttab_end_foreign_access_ref(grant + i))) {
140 gnttab_free_grant_reference_seq(grant, n_pages);
175 grant_ref_t grant;
188 if (gnttab_alloc_grant_reference_seq(n_pages, &grant))
192 gnttab_grant_foreign_access_ref(grant + i, data->backend_domid,
197 dma_handle = grant_to_dma(grant) + dma_offset;
209 grant_ref_t grant;
221 grant = dma_to_grant(dma_handle);
224 if (unlikely(!gnttab_end_foreign_access_ref(grant + i))) {
231 gnttab_free_grant_reference_seq(grant, n_pages);
337 if (!of_device_is_compatible(iommu_spec.np, "xen,grant-dma") ||
380 dev_err(dev, "Xen grant DMA data is already created\n");
391 dev_err(dev, "Cannot store Xen grant DMA data\n");
401 dev_err(dev, "Cannot set up Xen grant DMA ops, retain platform DMA ops\n");
416 MODULE_DESCRIPTION("Xen grant DMA-mapping layer");