Lines Matching +full:full +full:- +full:custom

1 /* SPDX-License-Identifier: GPL-2.0 */
26 * struct iommu_flush_ops - IOMMU callbacks for TLB and page table management.
50 * struct io_pgtable_cfg - Configuration data for a set of page tables.
53 * action by the low-level page table allocator.
68 * even in non-secure state where they should normally be ignored.
71 * IOMMU_NOEXEC flags and map everything with full access, for
73 * format, and/or requires some format-specific default value.
86 * IO_PGTABLE_QUIRK_ARM_OUTER_WBWA: Override the outer-cacheability
87 * attributes set in the TCR for a non-coherent page-table walker.
109 * @alloc: Custom page allocator.
117 * Not all formats support custom page allocators. Before considering
118 * passing a non-NULL value, make sure the chosen page format supports
124 * @free: Custom page de-allocator.
127 * hook. Must be non-NULL if @alloc is not NULL, must be NULL
132 /* Low-level data specific to the table format */
184 * struct arm_lpae_io_pgtable_walk_data - information from a pgtable walk
193 * struct io_pgtable_ops - Page table manipulation API for IOMMU drivers.
220 * alloc_io_pgtable_ops() - Allocate a page table allocator for use by an IOMMU.
227 * the callback routines in cfg->tlb.
234 * free_io_pgtable_ops() - Free an io_pgtable_ops structure. The caller
248 * struct io_pgtable - Internal structure describing a set of page tables.
267 if (iop->cfg.tlb && iop->cfg.tlb->tlb_flush_all) in io_pgtable_tlb_flush_all()
268 iop->cfg.tlb->tlb_flush_all(iop->cookie); in io_pgtable_tlb_flush_all()
275 if (iop->cfg.tlb && iop->cfg.tlb->tlb_flush_walk) in io_pgtable_tlb_flush_walk()
276 iop->cfg.tlb->tlb_flush_walk(iova, size, granule, iop->cookie); in io_pgtable_tlb_flush_walk()
284 if (iop->cfg.tlb && iop->cfg.tlb->tlb_add_page) in io_pgtable_tlb_add_page()
285 iop->cfg.tlb->tlb_add_page(gather, iova, granule, iop->cookie); in io_pgtable_tlb_add_page()
289 * enum io_pgtable_caps - IO page table backend capabilities.
292 /** @IO_PGTABLE_CAP_CUSTOM_ALLOCATOR: Backend accepts custom page table allocators. */
297 * struct io_pgtable_init_fns - Alloc/free a set of page tables for a