Searched refs:mmu_prop (Results 1 – 6 of 6) sorted by relevance
| /linux/drivers/accel/habanalabs/common/mmu/ ! |
| H A D | mmu_v2.c | 64 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 D | mmu_v2_hr.c | 122 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 D | mmu_v1.c | 15 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 D | mmu.c | 175 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 D | habanalabs.h | 1766 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 D | gaudi2.c | 11832 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()
|