Home
last modified time | relevance | path

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

/linux/tools/dma/
H A Ddma_map_benchmark.c38 /* default granule 1 PAGESIZE */ in main()
39 int granule = 1; in main()
64 granule = atoi(optarg); in main()
110 if (granule < 1 || granule > 1024) { in main()
111 fprintf(stderr, "invalid granule size\n"); in main()
128 map.granule = granule;
136 printf("dma mapping benchmark(%s): threads:%d seconds:%d node:%d dir:%s granule:%d\n",
137 mode[map_mode], threads, seconds, node, directions[dir], granule);
32 int granule = 1; main() local
[all...]
/linux/include/linux/
H A Dio-pgtable.h41 void (*tlb_flush_walk)(unsigned long iova, size_t size, size_t granule,
44 unsigned long iova, size_t granule, void *cookie);
286 size_t size, size_t granule) in io_pgtable_tlb_flush_walk() argument
289 iop->cfg.tlb->tlb_flush_walk(iova, size, granule, iop->cookie); in io_pgtable_tlb_flush_walk()
295 size_t granule) in io_pgtable_tlb_add_page() argument
298 iop->cfg.tlb->tlb_add_page(gather, iova, granule, iop->cookie); in io_pgtable_tlb_add_page()
/linux/drivers/iommu/
H A Dio-pgtable-arm-selftests.c27 size_t granule, void *cookie) in dummy_tlb_flush() argument
34 unsigned long iova, size_t granule, in dummy_tlb_add_page() argument
37 dummy_tlb_flush(iova, granule, granule, cookie); in dummy_tlb_add_page()
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 Dio-pgtable-arm.c909 unsigned long granule, page_sizes; in arm_lpae_restrict_pgsizes()
914 * translation regime for a particular granule. Aim to match in arm_lpae_restrict_pgsizes()
917 * chosen granule. in arm_lpae_alloc_pgtable()
920 granule = PAGE_SIZE; in arm_lpae_alloc_pgtable()
922 granule = 1UL << __fls(cfg->pgsize_bitmap & ~PAGE_MASK); in arm_lpae_alloc_pgtable()
924 granule = 1UL << __ffs(cfg->pgsize_bitmap & PAGE_MASK); in arm_lpae_alloc_pgtable()
926 granule = 0; in arm_lpae_alloc_pgtable()
928 switch (granule) { in arm_lpae_alloc_pgtable()
1137 sl++; /* SL0 format is different for 4K granule size */ in arm_64_lpae_alloc_pgtable_s2()
875 unsigned long granule, page_sizes; arm_lpae_restrict_pgsizes() local
H A Dio-pgtable-arm-v7s.c791 size_t granule, void *cookie) in dummy_tlb_flush() argument
799 size_t granule, in dummy_tlb_add_page() argument
802 dummy_tlb_flush(iova, granule, granule, cookie); in dummy_tlb_add_page()
H A Dvirtio-iommu.c406 unsigned long granule = 1UL << __ffs(vdomain->domain.pgsize_bitmap); in viommu_domain_map_identity() local
408 iova = ALIGN(iova, granule); in viommu_domain_map_identity()
409 limit = ALIGN_DOWN(limit + 1, granule) - 1; in viommu_domain_map_identity()
412 u64 resv_start = ALIGN_DOWN(resv->start, granule); in viommu_domain_map_identity()
413 u64 resv_end = ALIGN(resv->start + resv->length, granule) - 1; in viommu_domain_map_identity()
H A Ddma-iommu.c429 if (cookie->iovad.granule) { in iommu_put_dma_cookie()
492 start += iovad->granule; in cookie_init_hw_msi_region()
701 if (1UL << order != iovad->granule || in iommu_dma_init_domain()
1208 * the IOMMU granule. Returns non-zero if either the start or end
1209 * address is not aligned to the granule boundary.
1907 size_t bounce_len = min(size, iovad->granule - iova_start_pad); in iommu_dma_iova_link_swiotlb()
2055 end - addr, iovad->granule - iova_start_pad); in iommu_dma_iova_unlink_range_slow()
2179 return domain->iova_cookie->iovad.granule; in cookie_msi_pages()
H A Dipmmu-vmsa.c317 size_t granule, void *cookie) in ipmmu_tlb_flush() argument
/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()
H A Darm-smmu.c282 size_t granule, void *cookie, int reg) in arm_smmu_tlb_inv_range_s1() argument
297 iova += granule; in arm_smmu_tlb_inv_range_s1()
298 } while (size -= granule); in arm_smmu_tlb_inv_range_s1()
304 iova += granule >> 12; in arm_smmu_tlb_inv_range_s1()
305 } while (size -= granule); in arm_smmu_tlb_inv_range_s1()
310 size_t granule, void *cookie, int reg) in arm_smmu_tlb_inv_range_s2() argument
325 iova += granule >> 12; in arm_smmu_tlb_inv_range_s2()
326 } while (size -= granule); in arm_smmu_tlb_inv_range_s2()
330 size_t granule, void *cookie) in arm_smmu_tlb_inv_walk_s1() argument
338 arm_smmu_tlb_inv_range_s1(iova, size, granule, cookie, in arm_smmu_tlb_inv_walk_s1()
[all …]
/linux/arch/arm64/kvm/hyp/
H A Dpgtable.c34 u64 granule = kvm_granule_size(ctx->level); in kvm_block_mapping_supported() local
39 if (granule > (ctx->end - ctx->addr)) in kvm_block_mapping_supported()
42 if (!IS_ALIGNED(phys, granule)) in kvm_block_mapping_supported()
45 return IS_ALIGNED(ctx->addr, granule); in kvm_block_mapping_supported()
473 u64 granule = kvm_granule_size(ctx->level); in hyp_unmap_walker() local
490 if (ctx->end - ctx->addr < granule) in hyp_unmap_walker()
496 *unmapped += granule; in hyp_unmap_walker()
961 u64 granule = kvm_granule_size(ctx->level); in stage2_map_walker_try_leaf() local
1004 granule); in stage2_map_walker_try_leaf()
1008 mm_ops->icache_inval_pou(kvm_pte_follow(new, mm_ops), granule); in stage2_map_walker_try_leaf()
/linux/arch/powerpc/boot/dts/
H A Dmicrowatt.dts119 reservation-granule-size = <64>;
149 reservation-granule-size = <64>;
/linux/drivers/gpu/drm/msm/
H A Dmsm_iommu.c373 * and determined at creation time based on the granule size.
426 * and determined at creation time based on the granule size. in msm_iommu_pagetable_free_pt()
467 size_t granule, void *cookie) in msm_iommu_tlb_flush_walk()
477 pagetable->tlb->tlb_flush_walk(iova, size, granule, (void *)adreno_smmu->cookie); in msm_iommu_tlb_flush_walk()
483 unsigned long iova, size_t granule, void *cookie)
464 msm_iommu_tlb_flush_walk(unsigned long iova,size_t size,size_t granule,void * cookie) msm_iommu_tlb_flush_walk() argument
480 msm_iommu_tlb_add_page(struct iommu_iotlb_gather * gather,unsigned long iova,size_t granule,void * cookie) 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/arm64/kvm/hyp/nvhe/
H A Dmem_protect.c523 u64 granule; in host_stage2_adjust_range()
544 granule = kvm_granule_size(level); in host_stage2_adjust_range()
545 cur.start = ALIGN_DOWN(addr, granule); in host_stage2_adjust_range()
546 cur.end = cur.start + granule; in host_stage2_adjust_range()
520 u64 granule; host_stage2_adjust_range() local
/linux/drivers/gpu/drm/panfrost/
H A Dpanfrost_mmu.c539 static void mmu_tlb_flush_walk(unsigned long iova, size_t size, size_t granule, in mmu_tlb_flush_walk() argument
/linux/drivers/gpu/drm/panthor/
H A Dpanthor_mmu.c442 * and determined at creation time based on the granule size. in alloc_pt()
470 * 4k granule size at init time. in alloc_pt()
502 * and determined at creation time based on the granule size. in wait_ready()
1678 static void mmu_tlb_flush_walk(unsigned long iova, size_t size, size_t granule, void *cookie) in panthor_vm_lock_region()
1611 mmu_tlb_flush_walk(unsigned long iova,size_t size,size_t granule,void * cookie) mmu_tlb_flush_walk() argument
/linux/arch/arm64/
H A DKconfig1419 Page size (translation granule) configuration.