Home
last modified time | relevance | path

Searched refs:pgt_info (Results 1 – 5 of 5) sorted by relevance

/linux-6.12.1/drivers/accel/habanalabs/common/mmu/
Dmmu.c784 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 …]
Dmmu_v2_hr.c13 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 …]
Dmmu_v2.c42 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()
Dmmu_v1.c201 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/
Dhabanalabs.h297 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 …]