/kernel/linux/linux-6.6/drivers/accel/habanalabs/common/ |
H A D | sysfs.c | 20 value = hl_fw_get_frequency(hdev, hdev->asic_prop.clk_pll_index, false); in clk_max_freq_mhz_show() 24 hdev->asic_prop.max_freq_value = value; in clk_max_freq_mhz_show() 47 hdev->asic_prop.max_freq_value = value * 1000 * 1000; in clk_max_freq_mhz_store() 49 hl_fw_set_frequency(hdev, hdev->asic_prop.clk_pll_index, hdev->asic_prop.max_freq_value); in clk_max_freq_mhz_store() 63 value = hl_fw_get_frequency(hdev, hdev->asic_prop.clk_pll_index, true); in clk_cur_freq_mhz_show() 84 cpucp_info = &hdev->asic_prop.cpucp_info; in vrm_ver_show() 105 return sprintf(buf, "%s\n", hdev->asic_prop.uboot_ver); in uboot_ver_show() 113 return sprintf(buf, "%s", hdev->asic_prop.cpucp_info.kernel_version); in armcp_kernel_ver_show() 121 return sprintf(buf, "%s\n", hdev->asic_prop in armcp_ver_show() [all...] |
H A D | asid.c | 14 hdev->asid_bitmap = bitmap_zalloc(hdev->asic_prop.max_asid, GFP_KERNEL); in hl_asid_init() 39 hdev->asic_prop.max_asid); in hl_asid_alloc() 40 if (found == hdev->asic_prop.max_asid) in hl_asid_alloc() 52 if (asid == HL_KERNEL_ASID_ID || asid >= hdev->asic_prop.max_asid) { in hl_asid_free()
|
H A D | context.c | 99 for (i = 0 ; i < hdev->asic_prop.max_pending_cs ; i++) in hl_ctx_fini() 211 ctx->cs_pending = kcalloc(hdev->asic_prop.max_pending_cs, in hl_ctx_init() 342 struct asic_fixed_properties *asic_prop = &ctx->hdev->asic_prop; in hl_ctx_get_fence_locked() local 348 if (seq + asic_prop->max_pending_cs < ctx->cs_sequence) in hl_ctx_get_fence_locked() 351 fence = ctx->cs_pending[seq & (asic_prop->max_pending_cs - 1)]; in hl_ctx_get_fence_locked()
|
H A D | security.c | 624 struct asic_fixed_properties *prop = &hdev->asic_prop; in hl_automated_get_block_base_addr() 674 struct hl_special_block_info *special_blocks = hdev->asic_prop.special_blocks; in hl_read_glbl_errors() 677 base = current_block->base_addr - lower_32_bits(hdev->asic_prop.cfg_base_address); in hl_read_glbl_errors() 692 for (i = 0 ; i < hdev->asic_prop.glbl_err_cause_num ; i++) { in hl_read_glbl_errors() 697 hdev->asic_prop.cfg_base_address + block_base + in hl_read_glbl_errors() 708 struct asic_fixed_properties *prop = &hdev->asic_prop; in hl_check_for_glbl_errors() 735 block_info_arr = hdev->asic_prop.special_blocks; in hl_iterate_special_blocks() 739 num_blocks = hdev->asic_prop.num_of_special_blocks; in hl_iterate_special_blocks()
|
H A D | device.c | 49 struct asic_fixed_properties *prop = &hdev->asic_prop; in hl_set_dram_bar() 190 struct asic_fixed_properties *prop = &hdev->asic_prop; in hl_dma_map_sgtable() 208 struct asic_fixed_properties *prop = &hdev->asic_prop; in hl_dma_unmap_sgtable() 829 if (hdev->asic_prop.completion_queues_count) { in device_early_init() 830 hdev->cq_wq = kcalloc(hdev->asic_prop.completion_queues_count, in device_early_init() 839 for (i = 0 ; i < hdev->asic_prop.completion_queues_count ; i++) { in device_early_init() 938 for (i = 0 ; i < hdev->asic_prop.completion_queues_count ; i++) in device_early_init() 980 for (i = 0 ; i < hdev->asic_prop.completion_queues_count ; i++) in device_early_fini() 1065 hdev->high_pll = hdev->asic_prop.high_pll; in device_late_init() 1104 dc_power = hdev->asic_prop in hl_device_utilization() [all...] |
H A D | hw_queue.c | 53 if (!hdev->asic_prop.max_queues || q->queue_type == QUEUE_TYPE_HW) in hl_hw_queue_update_ci() 61 for (i = 0 ; i < hdev->asic_prop.max_queues ; i++, q++) { in hl_hw_queue_update_ci() 382 offset = job->cs->sequence & (hdev->asic_prop.max_pending_cs - 1); in hw_queue_schedule_job() 650 max_queues = hdev->asic_prop.max_queues; in hl_hw_queue_schedule_cs() 708 (hdev->asic_prop.max_pending_cs - 1)] = cs; in hl_hw_queue_schedule_cs() 905 struct asic_fixed_properties *prop = &hdev->asic_prop; in sync_stream_queue_init() 1070 struct asic_fixed_properties *asic = &hdev->asic_prop; in hl_hw_queues_create() 1112 u32 max_queues = hdev->asic_prop.max_queues; in hl_hw_queues_destroy() 1124 u32 max_queues = hdev->asic_prop.max_queues; in hl_hw_queue_reset()
|
H A D | command_buffer.c | 20 struct asic_fixed_properties *prop = &hdev->asic_prop; in cb_map_mem() 195 cb_args->cb_size <= cb_args->hdev->asic_prop.cb_pool_cb_size) { in hl_cb_mmap_mem_alloc() 482 for (i = 0 ; i < hdev->asic_prop.cb_pool_cb_cnt ; i++) { in hl_cb_pool_init() 483 cb = hl_cb_alloc(hdev, hdev->asic_prop.cb_pool_cb_size, in hl_cb_pool_init() 512 struct asic_fixed_properties *prop = &hdev->asic_prop; in hl_cb_va_pool_init()
|
H A D | decoder.c | 93 struct asic_fixed_properties *prop = &hdev->asic_prop; in hl_dec_init() 130 struct asic_fixed_properties *prop = &hdev->asic_prop; in hl_dec_ctx_fini()
|
H A D | firmware_if.c | 359 struct asic_fixed_properties *prop = &hdev->asic_prop; in hl_fw_send_cpu_message() 855 struct asic_fixed_properties *prop = &hdev->asic_prop; in hl_fw_cpucp_info_get() 1168 struct asic_fixed_properties *prop = &hdev->asic_prop; in get_used_pll_index() 1358 if (hdev->asic_prop.dynamic_fw_load) { in hl_fw_ask_hard_reset_without_linux() 1381 if (hdev->asic_prop.dynamic_fw_load) { in hl_fw_ask_halt_machine_without_linux() 1520 prop = &hdev->asic_prop; in hl_fw_read_preboot_caps() 1563 struct asic_fixed_properties *prop = &hdev->asic_prop; in hl_fw_static_read_device_fw_version() 1642 struct asic_fixed_properties *prop = &hdev->asic_prop; in hl_fw_preboot_update_state() 1709 if (hdev->asic_prop.dynamic_fw_load) in hl_fw_read_preboot_status() 2269 struct asic_fixed_properties *prop = &hdev->asic_prop; in hl_fw_dynamic_read_device_fw_version() [all...] |
/kernel/linux/linux-6.6/drivers/accel/habanalabs/common/mmu/ |
H A D | mmu_v2_hr.c | 48 struct asic_fixed_properties *prop = &hdev->asic_prop; in hl_mmu_v2_hr_init() 66 struct asic_fixed_properties *prop = &hdev->asic_prop; in hl_mmu_v2_hr_fini() 111 ctx->hdev->asic_prop.mmu_hop_table_size); in hl_mmu_v2_hr_ctx_fini() 126 prop = &hdev->asic_prop; in _hl_mmu_v2_hr_unmap() 153 ctx->hdev->asic_prop.mmu_hop_table_size); in _hl_mmu_v2_hr_unmap() 172 ctx->hdev->asic_prop.mmu_hop_table_size); in _hl_mmu_v2_hr_unmap() 175 ctx->hdev->asic_prop.mmu_hop_table_size)) in _hl_mmu_v2_hr_unmap() 179 ctx->hdev->asic_prop.mmu_hop_table_size); in _hl_mmu_v2_hr_unmap() 214 struct asic_fixed_properties *prop = &hdev->asic_prop; in _hl_mmu_v2_hr_map() 258 ctx->hdev->asic_prop in _hl_mmu_v2_hr_map() [all...] |
H A D | mmu_v1.c | 34 hdev->asic_prop.mmu_hop_table_size); in _free_hop() 50 struct asic_fixed_properties *prop = &hdev->asic_prop; in alloc_hop() 89 return ctx->hdev->asic_prop.mmu_pgt_addr + in get_phys_hop0_addr() 90 (ctx->asid * ctx->hdev->asic_prop.mmu_hop_table_size); in get_phys_hop0_addr() 96 (ctx->asid * ctx->hdev->asic_prop.mmu_hop_table_size); in get_hop0_addr() 183 ctx->hdev->asic_prop.mmu_pte_size * ((virt_addr & mask) >> shift); in get_hop_pte_addr() 202 u64 page_mask = (ctx->hdev->asic_prop.mmu_hop_table_size - 1); in get_phys_addr() 218 struct asic_fixed_properties *prop = &hdev->asic_prop; in dram_default_mapping_init() 318 struct asic_fixed_properties *prop = &hdev->asic_prop; in dram_default_mapping_fini() 375 struct asic_fixed_properties *prop = &hdev->asic_prop; in hl_mmu_v1_init() [all...] |
H A D | mmu.c | 30 struct asic_fixed_properties *prop = &hdev->asic_prop; in hl_is_dram_va() 195 struct asic_fixed_properties *prop = &hdev->asic_prop; in hl_mmu_get_prop() 385 struct asic_fixed_properties *prop = &hdev->asic_prop; in hl_mmu_map_contiguous() 445 struct asic_fixed_properties *prop = &hdev->asic_prop; in hl_mmu_unmap_contiguous() 479 struct asic_fixed_properties *prop = &ctx->hdev->asic_prop; in hl_mmu_pa_page_with_offset() 560 prop = &hdev->asic_prop; in hl_mmu_get_tlb_info() 742 return hop_addr + ctx->hdev->asic_prop.mmu_pte_size * ((virt_addr & mask) >> shift); in hl_mmu_get_hop_pte_phys_addr() 775 struct asic_fixed_properties *prop = &hdev->asic_prop; in hl_mmu_hr_pool_destroy() 820 struct asic_fixed_properties *prop = &hdev->asic_prop; in hl_mmu_hr_init()
|
/kernel/linux/linux-5.10/drivers/misc/habanalabs/common/ |
H A D | asid.c | 14 hdev->asid_bitmap = kcalloc(BITS_TO_LONGS(hdev->asic_prop.max_asid), in hl_asid_init() 40 hdev->asic_prop.max_asid); in hl_asid_alloc() 41 if (found == hdev->asic_prop.max_asid) in hl_asid_alloc() 53 if (WARN((asid == 0 || asid >= hdev->asic_prop.max_asid), in hl_asid_free()
|
H A D | sysfs.c | 107 return sprintf(buf, "%s\n", hdev->asic_prop.uboot_ver); in uboot_ver_show() 115 return sprintf(buf, "%s", hdev->asic_prop.cpucp_info.kernel_version); in armcp_kernel_ver_show() 123 return sprintf(buf, "%s\n", hdev->asic_prop.cpucp_info.cpucp_version); in armcp_ver_show() 132 hdev->asic_prop.cpucp_info.cpld_version); in cpld_ver_show() 140 return sprintf(buf, "%s", hdev->asic_prop.cpucp_info.kernel_version); in cpucp_kernel_ver_show() 148 return sprintf(buf, "%s\n", hdev->asic_prop.cpucp_info.cpucp_version); in cpucp_ver_show() 157 hdev->asic_prop.cpucp_info.infineon_version); in infineon_ver_show() 165 return sprintf(buf, "%s\n", hdev->asic_prop.cpucp_info.fuse_version); in fuse_ver_show() 173 return sprintf(buf, "%s", hdev->asic_prop.cpucp_info.thermal_version); in thermal_ver_show() 181 return sprintf(buf, "%s\n", hdev->asic_prop in preboot_btl_ver_show() [all...] |
H A D | context.c | 26 for (i = 0 ; i < hdev->asic_prop.max_pending_cs ; i++) in hl_ctx_fini() 142 ctx->cs_pending = kcalloc(hdev->asic_prop.max_pending_cs, in hl_ctx_init() 212 struct asic_fixed_properties *asic_prop = &ctx->hdev->asic_prop; in hl_ctx_get_fence() local 222 if (seq + asic_prop->max_pending_cs < ctx->cs_sequence) { in hl_ctx_get_fence() 227 fence = ctx->cs_pending[seq & (asic_prop->max_pending_cs - 1)]; in hl_ctx_get_fence()
|
H A D | mmu_v1.c | 33 hdev->asic_prop.mmu_hop_table_size); in _free_hop() 49 struct asic_fixed_properties *prop = &hdev->asic_prop; in alloc_hop() 88 return ctx->hdev->asic_prop.mmu_pgt_addr + in get_phys_hop0_addr() 89 (ctx->asid * ctx->hdev->asic_prop.mmu_hop_table_size); in get_phys_hop0_addr() 95 (ctx->asid * ctx->hdev->asic_prop.mmu_hop_table_size); in get_hop0_addr() 177 return hop_addr + ctx->hdev->asic_prop.mmu_pte_size * in get_hopN_pte_addr() 245 u64 page_mask = (ctx->hdev->asic_prop.mmu_hop_table_size - 1); in get_phys_addr() 261 struct asic_fixed_properties *prop = &hdev->asic_prop; in dram_default_mapping_init() 361 struct asic_fixed_properties *prop = &hdev->asic_prop; in dram_default_mapping_fini() 419 struct asic_fixed_properties *prop = &hdev->asic_prop; in hl_mmu_v1_init() [all...] |
H A D | mmu.c | 14 struct asic_fixed_properties *prop = &hdev->asic_prop; in is_dram_va() 116 struct asic_fixed_properties *prop = &hdev->asic_prop; in hl_mmu_unmap() 192 struct asic_fixed_properties *prop = &hdev->asic_prop; in hl_mmu_map()
|
H A D | hw_queue.c | 51 for (i = 0 ; i < hdev->asic_prop.max_queues ; i++, q++) { in hl_int_hw_queue_update_ci() 369 offset = job->cs->sequence & (hdev->asic_prop.max_pending_cs - 1); in hw_queue_schedule_job() 504 max_queues = hdev->asic_prop.max_queues; in hl_hw_queue_schedule_cs() 718 struct asic_fixed_properties *prop = &hdev->asic_prop; in sync_stream_queue_init() 851 struct asic_fixed_properties *asic = &hdev->asic_prop; in hl_hw_queues_create() 892 u32 max_queues = hdev->asic_prop.max_queues; in hl_hw_queues_destroy() 904 u32 max_queues = hdev->asic_prop.max_queues; in hl_hw_queue_reset()
|
H A D | device.c | 284 if (hdev->asic_prop.completion_queues_count) { in device_early_init() 285 hdev->cq_wq = kcalloc(hdev->asic_prop.completion_queues_count, in device_early_init() 294 for (i = 0 ; i < hdev->asic_prop.completion_queues_count ; i++) { in device_early_init() 350 for (i = 0 ; i < hdev->asic_prop.completion_queues_count ; i++) in device_early_init() 386 for (i = 0 ; i < hdev->asic_prop.completion_queues_count ; i++) in device_early_fini() 454 hdev->high_pll = hdev->asic_prop.high_pll; in device_late_init() 986 for (i = 0 ; i < hdev->asic_prop.completion_queues_count ; i++) in hl_device_reset() 1195 cq_cnt = hdev->asic_prop.completion_queues_count; in hl_device_init() 1311 hdev->asic_prop.dram_size / 1024 / 1024 / 1024); in hl_device_init() 1493 for (i = 0 ; i < hdev->asic_prop in hl_device_fini() [all...] |
H A D | pci.c | 155 struct asic_fixed_properties *prop = &hdev->asic_prop; in hl_pci_iatu_write() 209 struct asic_fixed_properties *prop = &hdev->asic_prop; in hl_pci_set_inbound_region() 274 struct asic_fixed_properties *prop = &hdev->asic_prop; in hl_pci_set_outbound_region()
|
/kernel/linux/linux-6.6/drivers/accel/habanalabs/common/pci/ |
H A D | pci.c | 215 struct asic_fixed_properties *prop = &hdev->asic_prop; in hl_pci_iatu_write() 248 struct asic_fixed_properties *prop = &hdev->asic_prop; in hl_pci_set_inbound_region() 311 struct asic_fixed_properties *prop = &hdev->asic_prop; in hl_pci_set_outbound_region() 380 struct asic_fixed_properties *prop = &hdev->asic_prop; in hl_pci_init() 405 if (hdev->asic_prop.iatu_done_by_fw) in hl_pci_init()
|
/kernel/linux/linux-6.6/drivers/accel/habanalabs/goya/ |
H A D | goya.c | 362 struct asic_fixed_properties *prop = &hdev->asic_prop; in goya_set_fixed_properties() 566 if (hdev->asic_prop.iatu_done_by_fw) in goya_init_iatu() 612 struct asic_fixed_properties *prop = &hdev->asic_prop; in goya_early_init() 647 if (hdev->asic_prop.fw_security_enabled) { in goya_early_init() 648 hdev->asic_prop.iatu_done_by_fw = true; in goya_early_init() 660 hdev->asic_prop.iatu_done_by_fw = true; in goya_early_init() 699 kfree(hdev->asic_prop.hw_queues_props); in goya_early_init() 713 kfree(hdev->asic_prop.hw_queues_props); in goya_early_fini() 749 struct asic_fixed_properties *prop = &hdev->asic_prop; in goya_fetch_psoc_frequency() 754 if (hdev->asic_prop in goya_fetch_psoc_frequency() 4111 struct asic_fixed_properties *asic_prop = &hdev->asic_prop; goya_parse_cb_no_ext_queue() local [all...] |
/kernel/linux/linux-6.6/drivers/accel/habanalabs/gaudi/ |
H A D | gaudi.c | 516 struct asic_fixed_properties *prop = &hdev->asic_prop; in set_default_power_values() 533 struct asic_fixed_properties *prop = &hdev->asic_prop; in gaudi_set_fixed_properties() 733 if (hdev->asic_prop.iatu_done_by_fw) in gaudi_set_hbm_bar_base() 758 if (hdev->asic_prop.iatu_done_by_fw) in gaudi_init_iatu() 801 struct asic_fixed_properties *prop = &hdev->asic_prop; in gaudi_early_init() 836 if (hdev->asic_prop.fw_security_enabled) { in gaudi_early_init() 837 hdev->asic_prop.iatu_done_by_fw = true; in gaudi_early_init() 843 hdev->asic_prop.gic_interrupts_enable = false; in gaudi_early_init() 855 hdev->asic_prop.iatu_done_by_fw = true; in gaudi_early_init() 887 kfree(hdev->asic_prop in gaudi_early_init() 5471 struct asic_fixed_properties *asic_prop = &hdev->asic_prop; gaudi_parse_cb_no_ext_queue() local [all...] |
/kernel/linux/linux-5.10/drivers/misc/habanalabs/goya/ |
H A D | goya.c | 362 struct asic_fixed_properties *prop = &hdev->asic_prop; in goya_get_fixed_properties() 567 struct asic_fixed_properties *prop = &hdev->asic_prop; in goya_early_init() 622 kfree(hdev->asic_prop.hw_queues_props); in goya_early_init() 636 kfree(hdev->asic_prop.hw_queues_props); in goya_early_fini() 672 struct asic_fixed_properties *prop = &hdev->asic_prop; in goya_fetch_psoc_frequency() 707 struct asic_fixed_properties *prop = &hdev->asic_prop; in goya_late_init() 1654 qman_base_addr = hdev->asic_prop.sram_base_address + in goya_init_mme_qman() 1761 qman_base_addr = hdev->asic_prop.sram_base_address + base_off; in goya_init_tpc_qman() 2164 int cq_cnt = hdev->asic_prop.completion_queues_count; in goya_enable_msix() 2220 for (i = 0 ; i < hdev->asic_prop in goya_sync_irqs() 3935 struct asic_fixed_properties *asic_prop = &hdev->asic_prop; goya_parse_cb_no_ext_queue() local [all...] |
/kernel/linux/linux-6.6/drivers/accel/habanalabs/gaudi2/ |
H A D | gaudi2.c | 2138 struct asic_fixed_properties *prop = &hdev->asic_prop; in gaudi2_iterate_tpcs() 2183 struct asic_fixed_properties *prop = &hdev->asic_prop; in set_number_of_functional_hbms() 2216 struct asic_fixed_properties *prop = &hdev->asic_prop; in gaudi2_set_dram_properties() 2271 struct asic_fixed_properties *prop = &hdev->asic_prop; in gaudi2_set_fixed_properties() 2493 if (hdev->asic_prop.iatu_done_by_fw) in gaudi2_set_hbm_bar_base() 2519 if (hdev->asic_prop.iatu_done_by_fw) in gaudi2_init_iatu() 2583 struct asic_fixed_properties *prop = &hdev->asic_prop; in gaudi2_tpc_binning_init_prop() 2604 struct asic_fixed_properties *prop = &hdev->asic_prop; in gaudi2_set_tpc_binning_masks() 2662 struct asic_fixed_properties *prop = &hdev->asic_prop; in gaudi2_set_dec_binning_masks() 2689 struct asic_fixed_properties *prop = &hdev->asic_prop; in gaudi2_set_dram_binning_masks() 6646 struct asic_fixed_properties *asic_prop = &hdev->asic_prop; gaudi2_validate_cb_address() local [all...] |