Symbol: pgt_info
drivers/accel/habanalabs/common/habanalabs.h
2846
struct pgt_info *mmu_asid_hop0;
drivers/accel/habanalabs/common/habanalabs.h
2912
struct pgt_info *(*get_hop0_pgt_info)(struct hl_ctx *ctx);
drivers/accel/habanalabs/common/habanalabs.h
2913
struct pgt_info *(*get_pgt_info)(struct hl_ctx *ctx, u64 phys_hop_addr);
drivers/accel/habanalabs/common/habanalabs.h
2914
void (*add_pgt_info)(struct hl_ctx *ctx, struct pgt_info *pgt_info, dma_addr_t phys_addr);
drivers/accel/habanalabs/common/habanalabs.h
3942
void hl_mmu_hr_free_hop_remove_pgt(struct pgt_info *pgt_info, struct hl_mmu_hr_priv *hr_priv,
drivers/accel/habanalabs/common/habanalabs.h
3944
u64 hl_mmu_hr_pte_phys_to_virt(struct hl_ctx *ctx, struct pgt_info *pgt, u64 phys_pte_addr,
drivers/accel/habanalabs/common/habanalabs.h
3946
void hl_mmu_hr_write_pte(struct hl_ctx *ctx, struct pgt_info *pgt_info, u64 phys_pte_addr,
drivers/accel/habanalabs/common/habanalabs.h
3948
void hl_mmu_hr_clear_pte(struct hl_ctx *ctx, struct pgt_info *pgt_info, u64 phys_pte_addr,
drivers/accel/habanalabs/common/habanalabs.h
3950
int hl_mmu_hr_put_pte(struct hl_ctx *ctx, struct pgt_info *pgt_info, struct hl_mmu_hr_priv *hr_priv,
drivers/accel/habanalabs/common/habanalabs.h
3953
struct pgt_info *hl_mmu_hr_get_next_hop_pgt_info(struct hl_ctx *ctx,
drivers/accel/habanalabs/common/habanalabs.h
3956
struct pgt_info *hl_mmu_hr_alloc_hop(struct hl_ctx *ctx, struct hl_mmu_hr_priv *hr_priv,
drivers/accel/habanalabs/common/habanalabs.h
3959
struct pgt_info *hl_mmu_hr_get_alloc_next_hop(struct hl_ctx *ctx,
drivers/accel/habanalabs/common/habanalabs.h
3976
struct pgt_info *hl_mmu_dr_get_pgt_info(struct hl_ctx *ctx, u64 hop_addr);
drivers/accel/habanalabs/common/habanalabs.h
3978
void hl_mmu_dr_free_pgt_node(struct hl_ctx *ctx, struct pgt_info *pgt_info);
drivers/accel/habanalabs/common/mmu/mmu.c
1005
int hl_mmu_hr_put_pte(struct hl_ctx *ctx, struct pgt_info *pgt_info,
drivers/accel/habanalabs/common/mmu/mmu.c
1011
pgt_info->num_of_ptes--;
drivers/accel/habanalabs/common/mmu/mmu.c
1017
num_of_ptes_left = pgt_info->num_of_ptes;
drivers/accel/habanalabs/common/mmu/mmu.c
1019
hl_mmu_hr_free_hop_remove_pgt(pgt_info, hr_priv, hop_table_size);
drivers/accel/habanalabs/common/mmu/mmu.c
1043
struct pgt_info *hl_mmu_hr_get_next_hop_pgt_info(struct hl_ctx *ctx,
drivers/accel/habanalabs/common/mmu/mmu.c
1064
struct pgt_info *hl_mmu_hr_alloc_hop(struct hl_ctx *ctx, struct hl_mmu_hr_priv *hr_priv,
drivers/accel/habanalabs/common/mmu/mmu.c
1069
struct pgt_info *pgt_info;
drivers/accel/habanalabs/common/mmu/mmu.c
1074
pgt_info = kmalloc_obj(*pgt_info);
drivers/accel/habanalabs/common/mmu/mmu.c
1075
if (!pgt_info)
drivers/accel/habanalabs/common/mmu/mmu.c
1105
pgt_info->phys_addr = phys_addr;
drivers/accel/habanalabs/common/mmu/mmu.c
1106
pgt_info->shadow_addr = (unsigned long) NULL;
drivers/accel/habanalabs/common/mmu/mmu.c
1107
pgt_info->virt_addr = (unsigned long)virt_addr;
drivers/accel/habanalabs/common/mmu/mmu.c
1108
pgt_info->ctx = ctx;
drivers/accel/habanalabs/common/mmu/mmu.c
1109
pgt_info->num_of_ptes = 0;
drivers/accel/habanalabs/common/mmu/mmu.c
1110
hr_func->add_pgt_info(ctx, pgt_info, phys_addr);
drivers/accel/habanalabs/common/mmu/mmu.c
1112
return pgt_info;
drivers/accel/habanalabs/common/mmu/mmu.c
1115
kfree(pgt_info);
drivers/accel/habanalabs/common/mmu/mmu.c
1131
struct pgt_info *hl_mmu_hr_get_alloc_next_hop(struct hl_ctx *ctx,
drivers/accel/habanalabs/common/mmu/mmu.c
1159
struct pgt_info *hops_pgt_info[MMU_ARCH_6_HOPS] = { NULL };
drivers/accel/habanalabs/common/mmu/mmu.c
1219
struct pgt_info *hl_mmu_dr_get_pgt_info(struct hl_ctx *ctx, u64 hop_addr)
drivers/accel/habanalabs/common/mmu/mmu.c
1221
struct pgt_info *pgt_info = NULL;
drivers/accel/habanalabs/common/mmu/mmu.c
1223
hash_for_each_possible(ctx->mmu_shadow_hash, pgt_info, node,
drivers/accel/habanalabs/common/mmu/mmu.c
1225
if (hop_addr == pgt_info->shadow_addr)
drivers/accel/habanalabs/common/mmu/mmu.c
1228
return pgt_info;
drivers/accel/habanalabs/common/mmu/mmu.c
1233
struct pgt_info *pgt_info = hl_mmu_dr_get_pgt_info(ctx, hop_addr);
drivers/accel/habanalabs/common/mmu/mmu.c
1235
hl_mmu_dr_free_pgt_node(ctx, pgt_info);
drivers/accel/habanalabs/common/mmu/mmu.c
1238
void hl_mmu_dr_free_pgt_node(struct hl_ctx *ctx, struct pgt_info *pgt_info)
drivers/accel/habanalabs/common/mmu/mmu.c
1242
gen_pool_free(hdev->mmu_priv.dr.mmu_pgt_pool, pgt_info->phys_addr,
drivers/accel/habanalabs/common/mmu/mmu.c
1244
hash_del(&pgt_info->node);
drivers/accel/habanalabs/common/mmu/mmu.c
1245
kfree((u64 *) (uintptr_t) pgt_info->shadow_addr);
drivers/accel/habanalabs/common/mmu/mmu.c
1246
kfree(pgt_info);
drivers/accel/habanalabs/common/mmu/mmu.c
1305
struct pgt_info *pgt_info = hl_mmu_dr_get_pgt_info(ctx, hop_addr);
drivers/accel/habanalabs/common/mmu/mmu.c
1308
pgt_info->num_of_ptes--;
drivers/accel/habanalabs/common/mmu/mmu.c
1314
num_of_ptes_left = pgt_info->num_of_ptes;
drivers/accel/habanalabs/common/mmu/mmu.c
1316
hl_mmu_dr_free_pgt_node(ctx, pgt_info);
drivers/accel/habanalabs/common/mmu/mmu.c
1325
struct pgt_info *pgt_info;
drivers/accel/habanalabs/common/mmu/mmu.c
1328
pgt_info = kmalloc_obj(*pgt_info);
drivers/accel/habanalabs/common/mmu/mmu.c
1329
if (!pgt_info)
drivers/accel/habanalabs/common/mmu/mmu.c
1344
pgt_info->phys_addr = phys_addr;
drivers/accel/habanalabs/common/mmu/mmu.c
1345
pgt_info->shadow_addr = shadow_addr;
drivers/accel/habanalabs/common/mmu/mmu.c
1346
pgt_info->ctx = ctx;
drivers/accel/habanalabs/common/mmu/mmu.c
1347
pgt_info->num_of_ptes = 0;
drivers/accel/habanalabs/common/mmu/mmu.c
1348
hash_add(ctx->mmu_shadow_hash, &pgt_info->node, shadow_addr);
drivers/accel/habanalabs/common/mmu/mmu.c
1356
kfree(pgt_info);
drivers/accel/habanalabs/common/mmu/mmu.c
784
struct pgt_info *hop0_pgt;
drivers/accel/habanalabs/common/mmu/mmu.c
829
struct pgt_info *hop0_pgt;
drivers/accel/habanalabs/common/mmu/mmu.c
846
hr_priv->mmu_asid_hop0 = kvzalloc_objs(struct pgt_info, prop->max_asid);
drivers/accel/habanalabs/common/mmu/mmu.c
933
void hl_mmu_hr_free_hop_remove_pgt(struct pgt_info *pgt_info, struct hl_mmu_hr_priv *hr_priv,
drivers/accel/habanalabs/common/mmu/mmu.c
936
gen_pool_free(hr_priv->mmu_pgt_pool, pgt_info->virt_addr, hop_table_size);
drivers/accel/habanalabs/common/mmu/mmu.c
937
hash_del(&pgt_info->node);
drivers/accel/habanalabs/common/mmu/mmu.c
938
kfree(pgt_info);
drivers/accel/habanalabs/common/mmu/mmu.c
953
u64 hl_mmu_hr_pte_phys_to_virt(struct hl_ctx *ctx, struct pgt_info *pgt,
drivers/accel/habanalabs/common/mmu/mmu.c
970
void hl_mmu_hr_write_pte(struct hl_ctx *ctx, struct pgt_info *pgt_info, u64 phys_pte_addr,
drivers/accel/habanalabs/common/mmu/mmu.c
977
u64 virt_addr = hl_mmu_hr_pte_phys_to_virt(ctx, pgt_info, phys_pte_addr, hop_table_size);
drivers/accel/habanalabs/common/mmu/mmu.c
989
void hl_mmu_hr_clear_pte(struct hl_ctx *ctx, struct pgt_info *pgt_info, u64 phys_pte_addr,
drivers/accel/habanalabs/common/mmu/mmu.c
993
hl_mmu_hr_write_pte(ctx, pgt_info, phys_pte_addr, 0, hop_table_size);
drivers/accel/habanalabs/common/mmu/mmu_v1.c
201
struct pgt_info *pgt_info;
drivers/accel/habanalabs/common/mmu/mmu_v1.c
211
hash_for_each_safe(ctx->mmu_shadow_hash, i, tmp, pgt_info, node) {
drivers/accel/habanalabs/common/mmu/mmu_v1.c
214
pgt_info->phys_addr, ctx->asid, pgt_info->num_of_ptes);
drivers/accel/habanalabs/common/mmu/mmu_v1.c
215
hl_mmu_dr_free_pgt_node(ctx, pgt_info);
drivers/accel/habanalabs/common/mmu/mmu_v2.c
42
struct pgt_info *pgt_info;
drivers/accel/habanalabs/common/mmu/mmu_v2.c
50
hash_for_each_safe(ctx->mmu_shadow_hash, i, tmp, pgt_info, node) {
drivers/accel/habanalabs/common/mmu/mmu_v2.c
53
pgt_info->phys_addr, ctx->asid, pgt_info->num_of_ptes);
drivers/accel/habanalabs/common/mmu/mmu_v2.c
54
hl_mmu_dr_free_pgt_node(ctx, pgt_info);
drivers/accel/habanalabs/common/mmu/mmu_v2_hr.c
106
hash_for_each_safe(ctx->hr_mmu_phys_hash, i, tmp, pgt_info, node) {
drivers/accel/habanalabs/common/mmu/mmu_v2_hr.c
109
pgt_info->phys_addr, ctx->asid, pgt_info->num_of_ptes);
drivers/accel/habanalabs/common/mmu/mmu_v2_hr.c
110
hl_mmu_hr_free_hop_remove_pgt(pgt_info, &ctx->hdev->mmu_priv.hr,
drivers/accel/habanalabs/common/mmu/mmu_v2_hr.c
119
struct pgt_info *hops_pgt_info[MMU_ARCH_6_HOPS] = { NULL };
drivers/accel/habanalabs/common/mmu/mmu_v2_hr.c
13
static struct pgt_info *hl_mmu_v2_hr_get_pgt_info(struct hl_ctx *ctx, u64 phys_hop_addr)
drivers/accel/habanalabs/common/mmu/mmu_v2_hr.c
15
struct pgt_info *pgt_info = NULL;
drivers/accel/habanalabs/common/mmu/mmu_v2_hr.c
17
hash_for_each_possible(ctx->hr_mmu_phys_hash, pgt_info, node,
drivers/accel/habanalabs/common/mmu/mmu_v2_hr.c
19
if (phys_hop_addr == pgt_info->phys_addr)
drivers/accel/habanalabs/common/mmu/mmu_v2_hr.c
211
struct pgt_info *hops_pgt_info[MMU_ARCH_6_HOPS] = { NULL };
drivers/accel/habanalabs/common/mmu/mmu_v2_hr.c
22
return pgt_info;
drivers/accel/habanalabs/common/mmu/mmu_v2_hr.c
25
static void hl_mmu_v2_hr_add_pgt_info(struct hl_ctx *ctx, struct pgt_info *pgt_info,
drivers/accel/habanalabs/common/mmu/mmu_v2_hr.c
28
hash_add(ctx->hr_mmu_phys_hash, &pgt_info->node, phys_addr);
drivers/accel/habanalabs/common/mmu/mmu_v2_hr.c
31
static struct pgt_info *hl_mmu_v2_hr_get_hop0_pgt_info(struct hl_ctx *ctx)
drivers/accel/habanalabs/common/mmu/mmu_v2_hr.c
98
struct pgt_info *pgt_info;