Searched refs:pgt_info (Results 1 – 5 of 5) sorted by relevance
/linux-6.12.1/drivers/accel/habanalabs/common/mmu/ |
D | mmu.c | 784 struct pgt_info *hop0_pgt; in hl_mmu_hr_pool_destroy() 829 struct pgt_info *hop0_pgt; in hl_mmu_hr_init() 846 hr_priv->mmu_asid_hop0 = kvcalloc(prop->max_asid, sizeof(struct pgt_info), GFP_KERNEL); in hl_mmu_hr_init() 933 void hl_mmu_hr_free_hop_remove_pgt(struct pgt_info *pgt_info, struct hl_mmu_hr_priv *hr_priv, in hl_mmu_hr_free_hop_remove_pgt() argument 936 gen_pool_free(hr_priv->mmu_pgt_pool, pgt_info->virt_addr, hop_table_size); in hl_mmu_hr_free_hop_remove_pgt() 937 hash_del(&pgt_info->node); in hl_mmu_hr_free_hop_remove_pgt() 938 kfree(pgt_info); in hl_mmu_hr_free_hop_remove_pgt() 953 u64 hl_mmu_hr_pte_phys_to_virt(struct hl_ctx *ctx, struct pgt_info *pgt, in hl_mmu_hr_pte_phys_to_virt() 970 void hl_mmu_hr_write_pte(struct hl_ctx *ctx, struct pgt_info *pgt_info, u64 phys_pte_addr, in hl_mmu_hr_write_pte() argument 977 u64 virt_addr = hl_mmu_hr_pte_phys_to_virt(ctx, pgt_info, phys_pte_addr, hop_table_size); in hl_mmu_hr_write_pte() [all …]
|
D | mmu_v2_hr.c | 13 static struct pgt_info *hl_mmu_v2_hr_get_pgt_info(struct hl_ctx *ctx, u64 phys_hop_addr) in hl_mmu_v2_hr_get_pgt_info() 15 struct pgt_info *pgt_info = NULL; in hl_mmu_v2_hr_get_pgt_info() local 17 hash_for_each_possible(ctx->hr_mmu_phys_hash, pgt_info, node, in hl_mmu_v2_hr_get_pgt_info() 19 if (phys_hop_addr == pgt_info->phys_addr) in hl_mmu_v2_hr_get_pgt_info() 22 return pgt_info; in hl_mmu_v2_hr_get_pgt_info() 25 static void hl_mmu_v2_hr_add_pgt_info(struct hl_ctx *ctx, struct pgt_info *pgt_info, in hl_mmu_v2_hr_add_pgt_info() argument 28 hash_add(ctx->hr_mmu_phys_hash, &pgt_info->node, phys_addr); in hl_mmu_v2_hr_add_pgt_info() 31 static struct pgt_info *hl_mmu_v2_hr_get_hop0_pgt_info(struct hl_ctx *ctx) in hl_mmu_v2_hr_get_hop0_pgt_info() 98 struct pgt_info *pgt_info; in hl_mmu_v2_hr_ctx_fini() local 106 hash_for_each_safe(ctx->hr_mmu_phys_hash, i, tmp, pgt_info, node) { in hl_mmu_v2_hr_ctx_fini() [all …]
|
D | mmu_v2.c | 42 struct pgt_info *pgt_info; in hl_mmu_v2_ctx_fini() local 50 hash_for_each_safe(ctx->mmu_shadow_hash, i, tmp, pgt_info, node) { in hl_mmu_v2_ctx_fini() 53 pgt_info->phys_addr, ctx->asid, pgt_info->num_of_ptes); in hl_mmu_v2_ctx_fini() 54 hl_mmu_dr_free_pgt_node(ctx, pgt_info); in hl_mmu_v2_ctx_fini()
|
D | mmu_v1.c | 201 struct pgt_info *pgt_info; in hl_mmu_v1_ctx_fini() local 211 hash_for_each_safe(ctx->mmu_shadow_hash, i, tmp, pgt_info, node) { in hl_mmu_v1_ctx_fini() 214 pgt_info->phys_addr, ctx->asid, pgt_info->num_of_ptes); in hl_mmu_v1_ctx_fini() 215 hl_mmu_dr_free_pgt_node(ctx, pgt_info); in hl_mmu_v1_ctx_fini()
|
/linux-6.12.1/drivers/accel/habanalabs/common/ |
D | habanalabs.h | 297 struct pgt_info { struct 2809 struct pgt_info *mmu_asid_hop0; 2875 struct pgt_info *(*get_hop0_pgt_info)(struct hl_ctx *ctx); 2876 struct pgt_info *(*get_pgt_info)(struct hl_ctx *ctx, u64 phys_hop_addr); 2877 void (*add_pgt_info)(struct hl_ctx *ctx, struct pgt_info *pgt_info, dma_addr_t phys_addr); 3898 void hl_mmu_hr_free_hop_remove_pgt(struct pgt_info *pgt_info, struct hl_mmu_hr_priv *hr_priv, 3900 u64 hl_mmu_hr_pte_phys_to_virt(struct hl_ctx *ctx, struct pgt_info *pgt, u64 phys_pte_addr, 3902 void hl_mmu_hr_write_pte(struct hl_ctx *ctx, struct pgt_info *pgt_info, u64 phys_pte_addr, 3904 void hl_mmu_hr_clear_pte(struct hl_ctx *ctx, struct pgt_info *pgt_info, u64 phys_pte_addr, 3906 int hl_mmu_hr_put_pte(struct hl_ctx *ctx, struct pgt_info *pgt_info, struct hl_mmu_hr_priv *hr_priv, [all …]
|