Home
last modified time | relevance | path

Searched refs:granule (Results 1 – 23 of 23) sorted by relevance

/linux/tools/testing/selftests/dma/
H A Ddma_map_benchmark.c33 int granule = 1; in main() local
58 granule = atoi(optarg); in main()
95 if (granule < 1 || granule > 1024) { in main()
113 map.granule = granule; in main()
121 threads, seconds, node, dir[directions], granule); in main()
/linux/include/linux/
H A Diova.h33 unsigned long granule; /* pfn granularity for this domain */ member
50 return __ffs(iovad->granule); in iova_shift()
55 return iovad->granule - 1; in iova_mask()
65 return ALIGN(size, iovad->granule); in iova_align()
70 return ALIGN_DOWN(size, iovad->granule); in iova_dma_addr()
100 void init_iova_domain(struct iova_domain *iovad, unsigned long granule,
153 unsigned long granule, in find_iova()
148 init_iova_domain(struct iova_domain * iovad,unsigned long granule,unsigned long start_pfn) init_iova_domain() argument
H A Dio-pgtable.h43 void (*tlb_flush_walk)(unsigned long iova, size_t size, size_t granule,
46 unsigned long iova, size_t granule, void *cookie);
260 size_t size, size_t granule) in io_pgtable_tlb_flush_walk()
263 iop->cfg.tlb->tlb_flush_walk(iova, size, granule, iop->cookie); in io_pgtable_tlb_add_page()
269 size_t granule) in io_pgtable_tlb_add_page()
272 iop->cfg.tlb->tlb_add_page(gather, iova, granule, iop->cookie);
256 io_pgtable_tlb_flush_walk(struct io_pgtable * iop,unsigned long iova,size_t size,size_t granule) io_pgtable_tlb_flush_walk() argument
265 io_pgtable_tlb_add_page(struct io_pgtable * iop,struct iommu_iotlb_gather * gather,unsigned long iova,size_t granule) io_pgtable_tlb_add_page() argument
H A Dmap_benchmark.h29 __u32 granule; /* how many PAGE_SIZE will do map/unmap once a time */ member
/linux/Documentation/virt/kvm/arm/
H A Dhypercalls.rst67 | | | | memory protection granule in bytes |
74 permissions. The size of the region is equal to the memory protection granule
100 memory protection granule advertised by ``ARM_SMCCC_KVM_FUNC_HYP_MEMINFO``.
125 region is equal to the memory protection granule advertised by
/linux/drivers/iommu/arm/arm-smmu/
H A Dqcom_iommu.c148 size_t granule, bool leaf, void *cookie) in qcom_iommu_tlb_inv_range_nosync() argument
164 iova += granule; in qcom_iommu_tlb_inv_range_nosync()
165 } while (s -= granule); in qcom_iommu_tlb_inv_range_nosync()
170 size_t granule, void *cookie) in qcom_iommu_tlb_flush_walk() argument
172 qcom_iommu_tlb_inv_range_nosync(iova, size, granule, false, cookie); in qcom_iommu_tlb_flush_walk()
177 unsigned long iova, size_t granule, in qcom_iommu_tlb_add_page() argument
180 qcom_iommu_tlb_inv_range_nosync(iova, granule, granule, true, cookie); in qcom_iommu_tlb_add_page()
/linux/drivers/iommu/
H A Dmsm_iommu.c139 size_t granule, bool leaf, void *cookie) in __flush_iotlb_range() argument
159 iova += granule; in __flush_iotlb_range()
160 } while (temp_size -= granule); in __flush_iotlb_range()
171 size_t granule, void *cookie) in __flush_iotlb_walk() argument
173 __flush_iotlb_range(iova, size, granule, false, cookie); in __flush_iotlb_walk()
177 unsigned long iova, size_t granule, void *cookie) in __flush_iotlb_page() argument
179 __flush_iotlb_range(iova, granule, granule, true, cookie); in __flush_iotlb_page()
H A Diova.c37 init_iova_domain(struct iova_domain *iovad, unsigned long granule, in init_iova_domain() argument
45 BUG_ON((granule > PAGE_SIZE) || !is_power_of_2(granule)); in init_iova_domain()
51 iovad->granule = granule; in init_iova_domain()
H A Dvirtio-iommu.c389 unsigned long granule = 1UL << __ffs(vdomain->domain.pgsize_bitmap); in viommu_domain_map_identity() local
391 iova = ALIGN(iova, granule); in viommu_domain_map_identity()
392 limit = ALIGN_DOWN(limit + 1, granule) - 1; in viommu_domain_map_identity()
395 u64 resv_start = ALIGN_DOWN(resv->start, granule); in viommu_domain_map_identity()
396 u64 resv_end = ALIGN(resv->start + resv->length, granule) - 1; in viommu_domain_map_identity()
H A Dio-pgtable-arm-v7s.c903 size_t granule, void *cookie) in dummy_tlb_flush() argument
910 unsigned long iova, size_t granule, in dummy_tlb_add_page() argument
913 dummy_tlb_flush(iova, granule, granule, cookie); in dummy_tlb_add_page()
H A Ddma-iommu.c371 return cookie->iovad.granule; in cookie_msi_granule()
449 if (cookie->type == IOMMU_DMA_IOVA_COOKIE && cookie->iovad.granule) { in iommu_put_dma_cookie()
502 start += iovad->granule; in cookie_init_hw_msi_region()
703 if (1UL << order != iovad->granule || in iommu_dma_init_domain()
H A Dipmmu-vmsa.c317 size_t granule, void *cookie) in ipmmu_tlb_flush() argument
/linux/arch/arm64/kvm/hyp/
H A Dpgtable.c48 u64 granule = kvm_granule_size(ctx->level); in kvm_block_mapping_supported() local
53 if (granule > (ctx->end - ctx->addr)) in kvm_block_mapping_supported()
56 if (kvm_phys_is_valid(phys) && !IS_ALIGNED(phys, granule)) in kvm_block_mapping_supported()
59 return IS_ALIGNED(ctx->addr, granule); in kvm_block_mapping_supported()
474 u64 granule = kvm_granule_size(ctx->level); in hyp_unmap_walker() local
491 if (ctx->end - ctx->addr < granule) in hyp_unmap_walker()
497 *unmapped += granule; in hyp_unmap_walker()
919 u64 granule = kvm_granule_size(ctx->level); in stage2_map_walker_try_leaf() local
962 granule); in stage2_map_walker_try_leaf()
966 mm_ops->icache_inval_pou(kvm_pte_follow(new, mm_ops), granule); in stage2_map_walker_try_leaf()
/linux/kernel/dma/
H A Dmap_benchmark.c39 int npages = map->bparam.granule; in map_benchmark_thread()
236 if (map->bparam.granule < 1 || map->bparam.granule > 1024) { in map_benchmark_ioctl()
/linux/drivers/gpu/drm/msm/
H A Dmsm_iommu.c220 size_t granule, void *cookie) in msm_iommu_tlb_flush_walk() argument
230 pagetable->tlb->tlb_flush_walk(iova, size, granule, (void *)adreno_smmu->cookie); in msm_iommu_tlb_flush_walk()
236 unsigned long iova, size_t granule, void *cookie) in msm_iommu_tlb_add_page() argument
/linux/Documentation/arch/arm64/
H A Dmemory-tagging-extension.rst19 allocation tag for each 16-byte granule in the physical address space.
197 4-bit tag per byte and correspond to a 16-byte MTE tag granule in the
200 **Note**: If ``addr`` is not aligned to a 16-byte granule, the kernel
247 in a byte. With the tag granule of 16 bytes, a 4K page requires 128
/linux/arch/powerpc/boot/dts/
H A Dmicrowatt.dts78 reservation-granule-size = <64>;
/linux/arch/arm64/kvm/hyp/nvhe/
H A Dmem_protect.c461 u64 granule = kvm_granule_size(level); in host_stage2_adjust_range() local
462 cur.start = ALIGN_DOWN(addr, granule); in host_stage2_adjust_range()
463 cur.end = cur.start + granule; in host_stage2_adjust_range()
/linux/Documentation/dev-tools/
H A Dkasan.rst250 Internally, KASAN tracks memory state separately for each memory granule, which
255 For Generic KASAN, the size of each memory granule is 8. The state of each
256 granule is encoded in one shadow byte. Those 8 bytes can be accessible,
/linux/drivers/gpu/drm/panfrost/
H A Dpanfrost_mmu.c393 static void mmu_tlb_flush_walk(unsigned long iova, size_t size, size_t granule, in mmu_tlb_flush_walk() argument
/linux/Documentation/admin-guide/mm/
H A Dnommu-mmap.rst118 granule but will only discard the excess if appropriately configured as
/linux/drivers/gpu/drm/panthor/
H A Dpanthor_mmu.c425 * and determined at creation time based on the granule size.
453 * 4k granule size at init time. in alloc_pt()
485 * and determined at creation time based on the granule size.
1616 static void mmu_tlb_flush_walk(unsigned long iova, size_t size, size_t granule, void *cookie) in mmu_tlb_flush_walk() argument
/linux/arch/arm64/
H A DKconfig1298 Page size (translation granule) configuration.