Lines Matching refs:hdev

12 static bool is_dram_va(struct hl_device *hdev, u64 virt_addr)  in is_dram_va()  argument
14 struct asic_fixed_properties *prop = &hdev->asic_prop; in is_dram_va()
31 int hl_mmu_init(struct hl_device *hdev) in hl_mmu_init() argument
33 if (hdev->mmu_enable) in hl_mmu_init()
34 return hdev->mmu_func.init(hdev); in hl_mmu_init()
49 void hl_mmu_fini(struct hl_device *hdev) in hl_mmu_fini() argument
51 if (hdev->mmu_enable) in hl_mmu_fini()
52 hdev->mmu_func.fini(hdev); in hl_mmu_fini()
65 struct hl_device *hdev = ctx->hdev; in hl_mmu_ctx_init() local
67 if (hdev->mmu_enable) in hl_mmu_ctx_init()
68 return hdev->mmu_func.ctx_init(ctx); in hl_mmu_ctx_init()
85 struct hl_device *hdev = ctx->hdev; in hl_mmu_ctx_fini() local
87 if (hdev->mmu_enable) in hl_mmu_ctx_fini()
88 hdev->mmu_func.ctx_fini(ctx); in hl_mmu_ctx_fini()
115 struct hl_device *hdev = ctx->hdev; in hl_mmu_unmap() local
116 struct asic_fixed_properties *prop = &hdev->asic_prop; in hl_mmu_unmap()
123 if (!hdev->mmu_enable) in hl_mmu_unmap()
126 is_dram_addr = is_dram_va(hdev, virt_addr); in hl_mmu_unmap()
142 dev_err(hdev->dev, in hl_mmu_unmap()
153 rc = hdev->mmu_func.unmap(ctx, real_virt_addr, is_dram_addr); in hl_mmu_unmap()
161 hdev->mmu_func.flush(ctx); in hl_mmu_unmap()
191 struct hl_device *hdev = ctx->hdev; in hl_mmu_map() local
192 struct asic_fixed_properties *prop = &hdev->asic_prop; in hl_mmu_map()
199 if (!hdev->mmu_enable) in hl_mmu_map()
202 is_dram_addr = is_dram_va(hdev, virt_addr); in hl_mmu_map()
218 dev_err(hdev->dev, in hl_mmu_map()
234 rc = hdev->mmu_func.map(ctx, real_virt_addr, real_phys_addr, in hl_mmu_map()
245 hdev->mmu_func.flush(ctx); in hl_mmu_map()
252 if (hdev->mmu_func.unmap(ctx, real_virt_addr, is_dram_addr)) in hl_mmu_map()
253 dev_warn_ratelimited(hdev->dev, in hl_mmu_map()
259 hdev->mmu_func.flush(ctx); in hl_mmu_map()
272 struct hl_device *hdev = ctx->hdev; in hl_mmu_swap_out() local
274 if (hdev->mmu_enable) in hl_mmu_swap_out()
275 hdev->mmu_func.swap_out(ctx); in hl_mmu_swap_out()
286 struct hl_device *hdev = ctx->hdev; in hl_mmu_swap_in() local
288 if (hdev->mmu_enable) in hl_mmu_swap_in()
289 hdev->mmu_func.swap_in(ctx); in hl_mmu_swap_in()
292 int hl_mmu_if_set_funcs(struct hl_device *hdev) in hl_mmu_if_set_funcs() argument
294 if (!hdev->mmu_enable) in hl_mmu_if_set_funcs()
297 switch (hdev->asic_type) { in hl_mmu_if_set_funcs()
300 hl_mmu_v1_set_funcs(hdev); in hl_mmu_if_set_funcs()
303 dev_err(hdev->dev, "Unrecognized ASIC type %d\n", in hl_mmu_if_set_funcs()
304 hdev->asic_type); in hl_mmu_if_set_funcs()