Home
last modified time | relevance | path

Searched refs:mmu_prop (Results 1 – 6 of 6) sorted by relevance

/linux/drivers/accel/habanalabs/common/mmu/ !
H A Dmmu_v2.c64 struct hl_mmu_properties *mmu_prop; in hl_mmu_v2_unmap() local
72 mmu_prop = &prop->dmmu; in hl_mmu_v2_unmap()
74 hop_last = mmu_prop->num_hops - 1; in hl_mmu_v2_unmap()
79 hop_pte_addr[0] = hl_mmu_get_hop_pte_phys_addr(ctx, mmu_prop, 0, in hl_mmu_v2_unmap()
86 for (i = 1 ; i < mmu_prop->num_hops ; i++) { in hl_mmu_v2_unmap()
91 hop_pte_addr[i] = hl_mmu_get_hop_pte_phys_addr(ctx, mmu_prop, i, in hl_mmu_v2_unmap()
98 if ((i <= hop_last) && (curr_pte & mmu_prop->last_mask)) { in hl_mmu_v2_unmap()
138 struct hl_mmu_properties *mmu_prop; in hl_mmu_v2_map() local
145 mmu_prop = &prop->dmmu; in hl_mmu_v2_map()
147 hop_last = mmu_prop->num_hops - 1; in hl_mmu_v2_map()
[all …]
H A Dmmu_v2_hr.c122 struct hl_mmu_properties *mmu_prop; in _hl_mmu_v2_hr_unmap() local
129 mmu_prop = is_dram_addr ? &prop->dmmu : &prop->pmmu; in _hl_mmu_v2_hr_unmap()
130 hop_last = mmu_prop->num_hops - 1; in _hl_mmu_v2_hr_unmap()
135 for (i = 0 ; i < mmu_prop->num_hops ; i++) { in _hl_mmu_v2_hr_unmap()
145 hop_pte_phys_addr[i] = hl_mmu_get_hop_pte_phys_addr(ctx, mmu_prop, i, in _hl_mmu_v2_hr_unmap()
155 if ((i < hop_last) && (curr_pte & mmu_prop->last_mask)) { in _hl_mmu_v2_hr_unmap()
190 static int hl_mmu_v2_get_last_hop(struct hl_mmu_properties *mmu_prop, u32 page_size) in hl_mmu_v2_get_last_hop() argument
194 for (hop = (mmu_prop->num_hops - 1); hop; hop--) { in hl_mmu_v2_get_last_hop()
195 if (mmu_prop->hop_shifts[hop] == 0) in hl_mmu_v2_get_last_hop()
198 if (page_size <= (1 << mmu_prop->hop_shifts[hop])) in hl_mmu_v2_get_last_hop()
[all …]
H A Dmmu_v1.c15 static inline u64 get_hop_pte_addr(struct hl_ctx *ctx, struct hl_mmu_properties *mmu_prop, in get_hop_pte_addr() argument
20 mask = mmu_prop->hop_masks[hop_idx]; in get_hop_pte_addr()
21 shift = mmu_prop->hop_shifts[hop_idx]; in get_hop_pte_addr()
225 struct hl_mmu_properties *mmu_prop; in hl_mmu_v1_unmap() local
230 mmu_prop = is_dram_addr ? &prop->dmmu : &prop->pmmu; in hl_mmu_v1_unmap()
242 get_hop_pte_addr(ctx, mmu_prop, hop_addr, virt_addr, hop_idx); in hl_mmu_v1_unmap()
247 is_huge = curr_pte & mmu_prop->last_mask; in hl_mmu_v1_unmap()
261 get_hop_pte_addr(ctx, mmu_prop, hop_addr, virt_addr, hop_idx); in hl_mmu_v1_unmap()
268 HOP_PHYS_ADDR_MASK) | mmu_prop->last_mask | in hl_mmu_v1_unmap()
329 struct hl_mmu_properties *mmu_prop; in hl_mmu_v1_map() local
[all …]
H A Dmmu.c175 int hl_mmu_get_real_page_size(struct hl_device *hdev, struct hl_mmu_properties *mmu_prop, in hl_mmu_get_real_page_size() argument
182 if ((page_size % mmu_prop->page_size) == 0) { in hl_mmu_get_real_page_size()
183 *real_page_size = mmu_prop->page_size; in hl_mmu_get_real_page_size()
188 page_size, mmu_prop->page_size >> 10); in hl_mmu_get_real_page_size()
230 struct hl_mmu_properties *mmu_prop; in hl_mmu_unmap_page() local
241 mmu_prop = hl_mmu_get_prop(hdev, page_size, is_dram_addr); in hl_mmu_unmap_page()
243 pgt_residency = mmu_prop->host_resident ? MMU_HR_PGT : MMU_DR_PGT; in hl_mmu_unmap_page()
246 rc = hdev->asic_funcs->mmu_get_real_page_size(hdev, mmu_prop, page_size, &real_page_size, in hl_mmu_unmap_page()
298 struct hl_mmu_properties *mmu_prop; in hl_mmu_map_page() local
309 mmu_prop = hl_mmu_get_prop(hdev, page_size, is_dram_addr); in hl_mmu_map_page()
[all …]
/linux/drivers/accel/habanalabs/common/ !
H A Dhabanalabs.h1766 int (*mmu_get_real_page_size)(struct hl_device *hdev, struct hl_mmu_properties *mmu_prop,
2915 int (*get_tlb_mapping_params)(struct hl_device *hdev, struct hl_mmu_properties **mmu_prop,
3924 int hl_mmu_get_real_page_size(struct hl_device *hdev, struct hl_mmu_properties *mmu_prop,
3936 u64 hl_mmu_get_hop_pte_phys_addr(struct hl_ctx *ctx, struct hl_mmu_properties *mmu_prop,
3958 struct hl_mmu_properties *mmu_prop);
3962 struct hl_mmu_properties *mmu_prop,
/linux/drivers/accel/habanalabs/gaudi2/ !
H A Dgaudi2.c11832 static int gaudi2_mmu_get_real_page_size(struct hl_device *hdev, struct hl_mmu_properties *mmu_prop, in gaudi2_mmu_get_real_page_size() argument
11839 if (page_size % mmu_prop->page_size) in gaudi2_mmu_get_real_page_size()
11842 *real_page_size = mmu_prop->page_size; in gaudi2_mmu_get_real_page_size()
11846 if ((page_size % prop->dram_page_size) || (prop->dram_page_size > mmu_prop->page_size)) in gaudi2_mmu_get_real_page_size()
11863 page_size, mmu_prop->page_size >> 10); in gaudi2_mmu_get_real_page_size()