Lines Matching refs:hl_device
2104 static int gaudi2_memset_device_memory(struct hl_device *hdev, u64 addr, u64 size, u64 val);
2105 static bool gaudi2_is_queue_enabled(struct hl_device *hdev, u32 hw_queue_id);
2106 static bool gaudi2_is_arc_enabled(struct hl_device *hdev, u64 arc_id);
2107 static void gaudi2_clr_arc_id_cap(struct hl_device *hdev, u64 arc_id);
2108 static void gaudi2_set_arc_id_cap(struct hl_device *hdev, u64 arc_id);
2109 static void gaudi2_memset_device_lbw(struct hl_device *hdev, u32 addr, u32 size, u32 val);
2110 static int gaudi2_send_job_to_kdma(struct hl_device *hdev, u64 src_addr, u64 dst_addr, u32 size,
2112 static bool gaudi2_get_tpc_idle_status(struct hl_device *hdev, u64 *mask_arr, u8 mask_len,
2114 static bool gaudi2_get_mme_idle_status(struct hl_device *hdev, u64 *mask_arr, u8 mask_len,
2116 static bool gaudi2_get_edma_idle_status(struct hl_device *hdev, u64 *mask_arr, u8 mask_len,
2118 static u64 gaudi2_mmu_scramble_addr(struct hl_device *hdev, u64 raw_addr);
2119 static u64 gaudi2_mmu_descramble_addr(struct hl_device *hdev, u64 scrambled_addr);
2121 static void gaudi2_init_scrambler_hbm(struct hl_device *hdev) in gaudi2_init_scrambler_hbm()
2126 static u32 gaudi2_get_signal_cb_size(struct hl_device *hdev) in gaudi2_get_signal_cb_size()
2131 static u32 gaudi2_get_wait_cb_size(struct hl_device *hdev) in gaudi2_get_wait_cb_size()
2136 void gaudi2_iterate_tpcs(struct hl_device *hdev, struct iterate_module_ctx *ctx) in gaudi2_iterate_tpcs()
2181 static int set_number_of_functional_hbms(struct hl_device *hdev) in set_number_of_functional_hbms()
2214 static int gaudi2_set_dram_properties(struct hl_device *hdev) in gaudi2_set_dram_properties()
2269 static int gaudi2_set_fixed_properties(struct hl_device *hdev) in gaudi2_set_fixed_properties()
2468 static int gaudi2_pci_bars_map(struct hl_device *hdev) in gaudi2_pci_bars_map()
2483 static u64 gaudi2_set_hbm_bar_base(struct hl_device *hdev, u64 addr) in gaudi2_set_hbm_bar_base()
2512 static int gaudi2_init_iatu(struct hl_device *hdev) in gaudi2_init_iatu()
2576 static enum hl_device_hw_state gaudi2_get_hw_state(struct hl_device *hdev) in gaudi2_get_hw_state()
2581 static int gaudi2_tpc_binning_init_prop(struct hl_device *hdev) in gaudi2_tpc_binning_init_prop()
2602 static int gaudi2_set_tpc_binning_masks(struct hl_device *hdev) in gaudi2_set_tpc_binning_masks()
2660 static int gaudi2_set_dec_binning_masks(struct hl_device *hdev) in gaudi2_set_dec_binning_masks()
2687 static void gaudi2_set_dram_binning_masks(struct hl_device *hdev) in gaudi2_set_dram_binning_masks()
2704 static int gaudi2_set_edma_binning_masks(struct hl_device *hdev) in gaudi2_set_edma_binning_masks()
2746 static int gaudi2_set_xbar_edge_enable_mask(struct hl_device *hdev, u32 xbar_edge_iso_mask) in gaudi2_set_xbar_edge_enable_mask()
2782 static int gaudi2_set_cluster_binning_masks_common(struct hl_device *hdev, u8 xbar_edge_iso_mask) in gaudi2_set_cluster_binning_masks_common()
2810 static int gaudi2_set_cluster_binning_masks(struct hl_device *hdev) in gaudi2_set_cluster_binning_masks()
2829 static int gaudi2_set_binning_masks(struct hl_device *hdev) in gaudi2_set_binning_masks()
2848 static int gaudi2_cpucp_info_get(struct hl_device *hdev) in gaudi2_cpucp_info_get()
2920 static int gaudi2_fetch_psoc_frequency(struct hl_device *hdev) in gaudi2_fetch_psoc_frequency()
2938 static int gaudi2_early_init(struct hl_device *hdev) in gaudi2_early_init()
3011 static int gaudi2_early_fini(struct hl_device *hdev) in gaudi2_early_fini()
3039 static void gaudi2_init_arcs(struct hl_device *hdev) in gaudi2_init_arcs()
3077 static int gaudi2_scrub_arc_dccm(struct hl_device *hdev, u32 cpu_id) in gaudi2_scrub_arc_dccm()
3126 static int gaudi2_scrub_arcs_dccm(struct hl_device *hdev) in gaudi2_scrub_arcs_dccm()
3143 static int gaudi2_late_init(struct hl_device *hdev) in gaudi2_late_init()
3181 static void gaudi2_late_fini(struct hl_device *hdev) in gaudi2_late_fini()
3202 static void gaudi2_user_mapped_blocks_init(struct hl_device *hdev) in gaudi2_user_mapped_blocks_init()
3274 static int gaudi2_alloc_cpu_accessible_dma_mem(struct hl_device *hdev) in gaudi2_alloc_cpu_accessible_dma_mem()
3316 static void gaudi2_set_pci_memory_regions(struct hl_device *hdev) in gaudi2_set_pci_memory_regions()
3349 static void gaudi2_user_interrupt_setup(struct hl_device *hdev) in gaudi2_user_interrupt_setup()
3394 static void gaudi2_special_blocks_free(struct hl_device *hdev) in gaudi2_special_blocks_free()
3405 static void gaudi2_special_blocks_iterator_free(struct hl_device *hdev) in gaudi2_special_blocks_iterator_free()
3410 static bool gaudi2_special_block_skip(struct hl_device *hdev, in gaudi2_special_block_skip()
3417 static int gaudi2_special_blocks_config(struct hl_device *hdev) in gaudi2_special_blocks_config()
3482 static int gaudi2_special_blocks_iterator_config(struct hl_device *hdev) in gaudi2_special_blocks_iterator_config()
3487 static void gaudi2_test_queues_msgs_free(struct hl_device *hdev) in gaudi2_test_queues_msgs_free()
3503 static int gaudi2_test_queues_msgs_alloc(struct hl_device *hdev) in gaudi2_test_queues_msgs_alloc()
3529 static int gaudi2_sw_init(struct hl_device *hdev) in gaudi2_sw_init()
3659 static int gaudi2_sw_fini(struct hl_device *hdev) in gaudi2_sw_fini()
3685 static void gaudi2_stop_qman_common(struct hl_device *hdev, u32 reg_base) in gaudi2_stop_qman_common()
3695 static void gaudi2_flush_qman_common(struct hl_device *hdev, u32 reg_base) in gaudi2_flush_qman_common()
3702 static void gaudi2_flush_qman_arc_common(struct hl_device *hdev, u32 reg_base) in gaudi2_flush_qman_arc_common()
3716 static void gaudi2_clear_qm_fence_counters_common(struct hl_device *hdev, u32 queue_id, in gaudi2_clear_qm_fence_counters_common()
3737 static void gaudi2_qman_manual_flush_common(struct hl_device *hdev, u32 queue_id) in gaudi2_qman_manual_flush_common()
3746 static void gaudi2_stop_dma_qmans(struct hl_device *hdev) in gaudi2_stop_dma_qmans()
3779 static void gaudi2_stop_mme_qmans(struct hl_device *hdev) in gaudi2_stop_mme_qmans()
3794 static void gaudi2_stop_tpc_qmans(struct hl_device *hdev) in gaudi2_stop_tpc_qmans()
3812 static void gaudi2_stop_rot_qmans(struct hl_device *hdev) in gaudi2_stop_rot_qmans()
3830 static void gaudi2_stop_nic_qmans(struct hl_device *hdev) in gaudi2_stop_nic_qmans()
3850 static void gaudi2_stall_dma_common(struct hl_device *hdev, u32 reg_base) in gaudi2_stall_dma_common()
3858 static void gaudi2_dma_stall(struct hl_device *hdev) in gaudi2_dma_stall()
3890 static void gaudi2_mme_stall(struct hl_device *hdev) in gaudi2_mme_stall()
3902 static void gaudi2_tpc_stall(struct hl_device *hdev) in gaudi2_tpc_stall()
3920 static void gaudi2_rotator_stall(struct hl_device *hdev) in gaudi2_rotator_stall()
3941 static void gaudi2_disable_qman_common(struct hl_device *hdev, u32 reg_base) in gaudi2_disable_qman_common()
3946 static void gaudi2_disable_dma_qmans(struct hl_device *hdev) in gaudi2_disable_dma_qmans()
3978 static void gaudi2_disable_mme_qmans(struct hl_device *hdev) in gaudi2_disable_mme_qmans()
3990 static void gaudi2_disable_tpc_qmans(struct hl_device *hdev) in gaudi2_disable_tpc_qmans()
4008 static void gaudi2_disable_rot_qmans(struct hl_device *hdev) in gaudi2_disable_rot_qmans()
4026 static void gaudi2_disable_nic_qmans(struct hl_device *hdev) in gaudi2_disable_nic_qmans()
4046 static void gaudi2_enable_timestamp(struct hl_device *hdev) in gaudi2_enable_timestamp()
4059 static void gaudi2_disable_timestamp(struct hl_device *hdev) in gaudi2_disable_timestamp()
4085 static void gaudi2_dec_disable_msix(struct hl_device *hdev, u32 max_irq_num) in gaudi2_dec_disable_msix()
4106 static int gaudi2_dec_enable_msix(struct hl_device *hdev) in gaudi2_dec_enable_msix()
4149 static int gaudi2_enable_msix(struct hl_device *hdev) in gaudi2_enable_msix()
4254 static void gaudi2_sync_irqs(struct hl_device *hdev) in gaudi2_sync_irqs()
4283 static void gaudi2_disable_msix(struct hl_device *hdev) in gaudi2_disable_msix()
4322 static void gaudi2_stop_dcore_dec(struct hl_device *hdev, int dcore_id) in gaudi2_stop_dcore_dec()
4362 static void gaudi2_stop_pcie_dec(struct hl_device *hdev) in gaudi2_stop_pcie_dec()
4402 static void gaudi2_stop_dec(struct hl_device *hdev) in gaudi2_stop_dec()
4416 static void gaudi2_set_arc_running_mode(struct hl_device *hdev, u32 cpu_id, u32 run_mode) in gaudi2_set_arc_running_mode()
4429 static void gaudi2_halt_arcs(struct hl_device *hdev) in gaudi2_halt_arcs()
4439 static int gaudi2_verify_arc_running_mode(struct hl_device *hdev, u32 cpu_id, u32 run_mode) in gaudi2_verify_arc_running_mode()
4466 static void gaudi2_reset_arcs(struct hl_device *hdev) in gaudi2_reset_arcs()
4479 static void gaudi2_nic_qmans_manual_flush(struct hl_device *hdev) in gaudi2_nic_qmans_manual_flush()
4498 static int gaudi2_set_engine_cores(struct hl_device *hdev, u32 *core_ids, in gaudi2_set_engine_cores()
4524 static int gaudi2_set_tpc_engine_mode(struct hl_device *hdev, u32 engine_id, u32 engine_command) in gaudi2_set_tpc_engine_mode()
4551 static int gaudi2_set_mme_engine_mode(struct hl_device *hdev, u32 engine_id, u32 engine_command) in gaudi2_set_mme_engine_mode()
4569 static int gaudi2_set_edma_engine_mode(struct hl_device *hdev, u32 engine_id, u32 engine_command) in gaudi2_set_edma_engine_mode()
4596 static int gaudi2_set_engine_modes(struct hl_device *hdev, in gaudi2_set_engine_modes()
4639 static int gaudi2_set_engines(struct hl_device *hdev, u32 *engine_ids, in gaudi2_set_engines()
4657 static void gaudi2_halt_engines(struct hl_device *hdev, bool hard_reset, bool fw_reset) in gaudi2_halt_engines()
4709 static void gaudi2_init_firmware_preload_params(struct hl_device *hdev) in gaudi2_init_firmware_preload_params()
4721 static void gaudi2_init_firmware_loader(struct hl_device *hdev) in gaudi2_init_firmware_loader()
4750 static int gaudi2_init_cpu(struct hl_device *hdev) in gaudi2_init_cpu()
4770 static int gaudi2_init_cpu_queues(struct hl_device *hdev, u32 cpu_timeout) in gaudi2_init_cpu_queues()
4839 static void gaudi2_init_qman_pq(struct hl_device *hdev, u32 reg_base, in gaudi2_init_qman_pq()
4859 static void gaudi2_init_qman_cp(struct hl_device *hdev, u32 reg_base) in gaudi2_init_qman_cp()
4881 static void gaudi2_init_qman_pqc(struct hl_device *hdev, u32 reg_base, in gaudi2_init_qman_pqc()
4911 static u32 gaudi2_get_dyn_sp_reg(struct hl_device *hdev, u32 queue_id_base) in gaudi2_get_dyn_sp_reg()
4960 static void gaudi2_init_qman_common(struct hl_device *hdev, u32 reg_base, in gaudi2_init_qman_common()
4996 static void gaudi2_init_qman(struct hl_device *hdev, u32 reg_base, in gaudi2_init_qman()
5010 static void gaudi2_init_dma_core(struct hl_device *hdev, u32 reg_base, in gaudi2_init_dma_core()
5040 static void gaudi2_init_kdma(struct hl_device *hdev) in gaudi2_init_kdma()
5055 static void gaudi2_init_pdma(struct hl_device *hdev) in gaudi2_init_pdma()
5078 static void gaudi2_init_edma_instance(struct hl_device *hdev, u8 seq) in gaudi2_init_edma_instance()
5092 static void gaudi2_init_edma(struct hl_device *hdev) in gaudi2_init_edma()
5130 static void gaudi2_arm_monitors_for_virt_msix_db(struct hl_device *hdev, u32 sob_id, in gaudi2_arm_monitors_for_virt_msix_db()
5196 static void gaudi2_prepare_sm_for_virt_msix_db(struct hl_device *hdev) in gaudi2_prepare_sm_for_virt_msix_db()
5218 static void gaudi2_init_sm(struct hl_device *hdev) in gaudi2_init_sm()
5261 static void gaudi2_init_mme_acc(struct hl_device *hdev, u32 reg_base) in gaudi2_init_mme_acc()
5283 static void gaudi2_init_dcore_mme(struct hl_device *hdev, int dcore_id, in gaudi2_init_dcore_mme()
5315 static void gaudi2_init_mme(struct hl_device *hdev) in gaudi2_init_mme()
5330 static void gaudi2_init_tpc_cfg(struct hl_device *hdev, u32 reg_base) in gaudi2_init_tpc_cfg()
5344 static void gaudi2_init_tpc_config(struct hl_device *hdev, int dcore, int inst, in gaudi2_init_tpc_config()
5366 static void gaudi2_init_tpc(struct hl_device *hdev) in gaudi2_init_tpc()
5387 static void gaudi2_init_rotator(struct hl_device *hdev) in gaudi2_init_rotator()
5402 static void gaudi2_init_vdec_brdg_ctrl(struct hl_device *hdev, u64 base_addr, u32 decoder_id) in gaudi2_init_vdec_brdg_ctrl()
5419 static void gaudi2_init_dec(struct hl_device *hdev) in gaudi2_init_dec()
5462 static int gaudi2_mmu_update_asid_hop0_addr(struct hl_device *hdev, in gaudi2_mmu_update_asid_hop0_addr()
5494 static void gaudi2_mmu_send_invalidate_cache_cmd(struct hl_device *hdev, u32 stlb_base, in gaudi2_mmu_send_invalidate_cache_cmd()
5508 static int gaudi2_mmu_invalidate_cache_status_poll(struct hl_device *hdev, u32 stlb_base, in gaudi2_mmu_invalidate_cache_status_poll()
5554 bool gaudi2_is_hmmu_enabled(struct hl_device *hdev, int dcore_id, int hmmu_id) in gaudi2_is_hmmu_enabled()
5576 static void gaudi2_mmu_invalidate_cache_trigger(struct hl_device *hdev, u32 stlb_base, in gaudi2_mmu_invalidate_cache_trigger()
5611 static inline void gaudi2_hmmu_invalidate_cache_trigger(struct hl_device *hdev, in gaudi2_hmmu_invalidate_cache_trigger()
5620 static inline int gaudi2_hmmu_invalidate_cache_status_poll(struct hl_device *hdev, in gaudi2_hmmu_invalidate_cache_status_poll()
5629 static int gaudi2_hmmus_invalidate_cache(struct hl_device *hdev, in gaudi2_hmmus_invalidate_cache()
5662 static int gaudi2_mmu_invalidate_cache(struct hl_device *hdev, bool is_hard, u32 flags) in gaudi2_mmu_invalidate_cache()
5687 static int gaudi2_mmu_invalidate_cache_range(struct hl_device *hdev, bool is_hard, in gaudi2_mmu_invalidate_cache_range()
5739 static int gaudi2_mmu_update_hop0_addr(struct hl_device *hdev, u32 stlb_base) in gaudi2_mmu_update_hop0_addr()
5762 static int gaudi2_mmu_init_common(struct hl_device *hdev, u32 mmu_base, u32 stlb_base) in gaudi2_mmu_init_common()
5807 static int gaudi2_pci_mmu_init(struct hl_device *hdev) in gaudi2_pci_mmu_init()
5857 static int gaudi2_dcore_hmmu_init(struct hl_device *hdev, int dcore_id, in gaudi2_dcore_hmmu_init()
5909 static int gaudi2_hbm_mmu_init(struct hl_device *hdev) in gaudi2_hbm_mmu_init()
5923 static int gaudi2_mmu_init(struct hl_device *hdev) in gaudi2_mmu_init()
5938 static int gaudi2_hw_init(struct hl_device *hdev) in gaudi2_hw_init()
6036 static void gaudi2_send_hard_reset_cmd(struct hl_device *hdev) in gaudi2_send_hard_reset_cmd()
6110 static void gaudi2_execute_hard_reset(struct hl_device *hdev) in gaudi2_execute_hard_reset()
6128 static int gaudi2_get_soft_rst_done_indication(struct hl_device *hdev, u32 poll_timeout_us) in gaudi2_get_soft_rst_done_indication()
6157 static int gaudi2_execute_soft_reset(struct hl_device *hdev, bool driver_performs_reset, in gaudi2_execute_soft_reset()
6196 static void gaudi2_poll_btm_indication(struct hl_device *hdev, u32 poll_timeout_us) in gaudi2_poll_btm_indication()
6217 static int gaudi2_hw_fini(struct hl_device *hdev, bool hard_reset, bool fw_reset) in gaudi2_hw_fini()
6317 static int gaudi2_suspend(struct hl_device *hdev) in gaudi2_suspend()
6328 static int gaudi2_resume(struct hl_device *hdev) in gaudi2_resume()
6333 static int gaudi2_mmap(struct hl_device *hdev, struct vm_area_struct *vma, in gaudi2_mmap()
6360 static bool gaudi2_is_queue_enabled(struct hl_device *hdev, u32 hw_queue_id) in gaudi2_is_queue_enabled()
6466 static bool gaudi2_is_arc_enabled(struct hl_device *hdev, u64 arc_id) in gaudi2_is_arc_enabled()
6486 static void gaudi2_clr_arc_id_cap(struct hl_device *hdev, u64 arc_id) in gaudi2_clr_arc_id_cap()
6509 static void gaudi2_set_arc_id_cap(struct hl_device *hdev, u64 arc_id) in gaudi2_set_arc_id_cap()
6532 static void gaudi2_ring_doorbell(struct hl_device *hdev, u32 hw_queue_id, u32 pi) in gaudi2_ring_doorbell()
6563 static void gaudi2_pqe_write(struct hl_device *hdev, __le64 *pqe, struct hl_bd *bd) in gaudi2_pqe_write()
6572 static void *gaudi2_dma_alloc_coherent(struct hl_device *hdev, size_t size, in gaudi2_dma_alloc_coherent()
6578 static void gaudi2_dma_free_coherent(struct hl_device *hdev, size_t size, in gaudi2_dma_free_coherent()
6584 static int gaudi2_send_cpu_message(struct hl_device *hdev, u32 *msg, u16 len, in gaudi2_send_cpu_message()
6601 static void *gaudi2_dma_pool_zalloc(struct hl_device *hdev, size_t size, in gaudi2_dma_pool_zalloc()
6610 static void gaudi2_dma_pool_free(struct hl_device *hdev, void *vaddr, dma_addr_t dma_addr) in gaudi2_dma_pool_free()
6615 static void *gaudi2_cpu_accessible_dma_pool_alloc(struct hl_device *hdev, size_t size, in gaudi2_cpu_accessible_dma_pool_alloc()
6621 static void gaudi2_cpu_accessible_dma_pool_free(struct hl_device *hdev, size_t size, void *vaddr) in gaudi2_cpu_accessible_dma_pool_free()
6626 static dma_addr_t gaudi2_dma_map_single(struct hl_device *hdev, void *addr, int len, in gaudi2_dma_map_single()
6638 static void gaudi2_dma_unmap_single(struct hl_device *hdev, dma_addr_t addr, int len, in gaudi2_dma_unmap_single()
6644 static int gaudi2_validate_cb_address(struct hl_device *hdev, struct hl_cs_parser *parser) in gaudi2_validate_cb_address()
6701 static int gaudi2_cs_parser(struct hl_device *hdev, struct hl_cs_parser *parser) in gaudi2_cs_parser()
6716 static int gaudi2_send_heartbeat(struct hl_device *hdev) in gaudi2_send_heartbeat()
6729 static void gaudi2_kdma_set_mmbp_asid(struct hl_device *hdev, in gaudi2_kdma_set_mmbp_asid()
6744 static void gaudi2_arm_cq_monitor(struct hl_device *hdev, u32 sob_id, u32 mon_id, u32 cq_id, in gaudi2_arm_cq_monitor()
6774 static int gaudi2_send_job_to_kdma(struct hl_device *hdev, in gaudi2_send_job_to_kdma()
6845 static void gaudi2_memset_device_lbw(struct hl_device *hdev, u32 addr, u32 size, u32 val) in gaudi2_memset_device_lbw()
6853 static void gaudi2_qman_set_test_mode(struct hl_device *hdev, u32 hw_queue_id, bool enable) in gaudi2_qman_set_test_mode()
6866 static inline u32 gaudi2_test_queue_hw_queue_id_to_sob_id(struct hl_device *hdev, u32 hw_queue_id) in gaudi2_test_queue_hw_queue_id_to_sob_id()
6872 static void gaudi2_test_queue_clear(struct hl_device *hdev, u32 hw_queue_id) in gaudi2_test_queue_clear()
6881 static int gaudi2_test_queue_send_msg_short(struct hl_device *hdev, u32 hw_queue_id, u32 sob_val, in gaudi2_test_queue_send_msg_short()
6907 static int gaudi2_test_queue_wait_completion(struct hl_device *hdev, u32 hw_queue_id, u32 sob_val) in gaudi2_test_queue_wait_completion()
6936 static int gaudi2_test_cpu_queue(struct hl_device *hdev) in gaudi2_test_cpu_queue()
6950 static int gaudi2_test_queues(struct hl_device *hdev) in gaudi2_test_queues()
6992 static int gaudi2_compute_reset_late_init(struct hl_device *hdev) in gaudi2_compute_reset_late_init()
7013 static bool gaudi2_get_edma_idle_status(struct hl_device *hdev, u64 *mask_arr, u8 mask_len, in gaudi2_get_edma_idle_status()
7063 static bool gaudi2_get_pdma_idle_status(struct hl_device *hdev, u64 *mask_arr, u8 mask_len, in gaudi2_get_pdma_idle_status()
7103 static bool gaudi2_get_nic_idle_status(struct hl_device *hdev, u64 *mask_arr, u8 mask_len, in gaudi2_get_nic_idle_status()
7149 static bool gaudi2_get_mme_idle_status(struct hl_device *hdev, u64 *mask_arr, u8 mask_len, in gaudi2_get_mme_idle_status()
7192 static void gaudi2_is_tpc_engine_idle(struct hl_device *hdev, int dcore, int inst, u32 offset, in gaudi2_is_tpc_engine_idle()
7225 static bool gaudi2_get_tpc_idle_status(struct hl_device *hdev, u64 *mask_arr, u8 mask_len, in gaudi2_get_tpc_idle_status()
7253 static bool gaudi2_get_decoder_idle_status(struct hl_device *hdev, u64 *mask_arr, u8 mask_len, in gaudi2_get_decoder_idle_status()
7322 static bool gaudi2_get_rotator_idle_status(struct hl_device *hdev, u64 *mask_arr, u8 mask_len, in gaudi2_get_rotator_idle_status()
7360 static bool gaudi2_is_device_idle(struct hl_device *hdev, u64 *mask_arr, u8 mask_len, in gaudi2_is_device_idle()
7376 static void gaudi2_hw_queues_lock(struct hl_device *hdev) in gaudi2_hw_queues_lock()
7384 static void gaudi2_hw_queues_unlock(struct hl_device *hdev) in gaudi2_hw_queues_unlock()
7392 static u32 gaudi2_get_pci_id(struct hl_device *hdev) in gaudi2_get_pci_id()
7397 static int gaudi2_get_eeprom_data(struct hl_device *hdev, void *data, size_t max_size) in gaudi2_get_eeprom_data()
7407 static void gaudi2_update_eq_ci(struct hl_device *hdev, u32 val) in gaudi2_update_eq_ci()
7412 static void *gaudi2_get_events_stat(struct hl_device *hdev, bool aggregate, u32 *size) in gaudi2_get_events_stat()
7425 static void gaudi2_mmu_vdec_dcore_prepare(struct hl_device *hdev, int dcore_id, in gaudi2_mmu_vdec_dcore_prepare()
7447 static void gaudi2_mmu_dcore_prepare(struct hl_device *hdev, int dcore_id, u32 asid) in gaudi2_mmu_dcore_prepare()
7516 static void gudi2_mmu_vdec_shared_prepare(struct hl_device *hdev, in gudi2_mmu_vdec_shared_prepare()
7537 static void gudi2_mmu_arc_farm_arc_dup_eng_prepare(struct hl_device *hdev, int arc_farm_id, in gudi2_mmu_arc_farm_arc_dup_eng_prepare()
7546 static void gaudi2_arc_mmu_prepare(struct hl_device *hdev, u32 cpu_id, u32 asid) in gaudi2_arc_mmu_prepare()
7590 static int gaudi2_arc_mmu_prepare_all(struct hl_device *hdev, u32 asid) in gaudi2_arc_mmu_prepare_all()
7610 static int gaudi2_mmu_shared_prepare(struct hl_device *hdev, u32 asid) in gaudi2_mmu_shared_prepare()
7657 static void gaudi2_tpc_mmu_prepare(struct hl_device *hdev, int dcore, int inst, u32 offset, in gaudi2_tpc_mmu_prepare()
7669 static int gaudi2_mmu_prepare(struct hl_device *hdev, u32 asid) in gaudi2_mmu_prepare()
7717 static void gaudi2_print_event(struct hl_device *hdev, u16 event_type, in gaudi2_print_event()
7739 static bool gaudi2_handle_ecc_event(struct hl_device *hdev, u16 event_type, in gaudi2_handle_ecc_event()
7756 static void print_lower_qman_data_on_err(struct hl_device *hdev, u64 qman_base) in print_lower_qman_data_on_err()
7780 static int gaudi2_handle_qman_err_generic(struct hl_device *hdev, u16 event_type, in gaudi2_handle_qman_err_generic()
7837 static void gaudi2_razwi_rr_hbw_shared_printf_info(struct hl_device *hdev, in gaudi2_razwi_rr_hbw_shared_printf_info()
7865 static void gaudi2_razwi_rr_lbw_shared_printf_info(struct hl_device *hdev, in gaudi2_razwi_rr_lbw_shared_printf_info()
7891 static enum gaudi2_engine_id gaudi2_razwi_calc_engine_id(struct hl_device *hdev, in gaudi2_razwi_calc_engine_id()
7939 static void gaudi2_ack_module_razwi_event_handler(struct hl_device *hdev, in gaudi2_ack_module_razwi_event_handler()
8095 static void gaudi2_check_if_razwi_happened(struct hl_device *hdev) in gaudi2_check_if_razwi_happened()
8165 static bool gaudi2_handle_psoc_razwi_happened(struct hl_device *hdev, u32 razwi_reg, in gaudi2_handle_psoc_razwi_happened()
8254 static int gaudi2_ack_psoc_razwi_event_handler(struct hl_device *hdev, u64 *event_mask) in gaudi2_ack_psoc_razwi_event_handler()
8288 static int _gaudi2_handle_qm_sei_err(struct hl_device *hdev, u64 qman_base, u16 event_type) in _gaudi2_handle_qm_sei_err()
8308 static int gaudi2_handle_qm_sei_err(struct hl_device *hdev, u16 event_type, in gaudi2_handle_qm_sei_err()
8371 static int gaudi2_handle_qman_err(struct hl_device *hdev, u16 event_type, u64 *event_mask) in gaudi2_handle_qman_err()
8491 static int gaudi2_handle_arc_farm_sei_err(struct hl_device *hdev, u16 event_type) in gaudi2_handle_arc_farm_sei_err()
8518 static int gaudi2_handle_cpu_sei_err(struct hl_device *hdev, u16 event_type) in gaudi2_handle_cpu_sei_err()
8540 static int gaudi2_handle_rot_err(struct hl_device *hdev, u8 rot_index, u16 event_type, in gaudi2_handle_rot_err()
8562 static int gaudi2_tpc_ack_interrupts(struct hl_device *hdev, u8 tpc_index, u16 event_type, in gaudi2_tpc_ack_interrupts()
8584 static int gaudi2_handle_dec_err(struct hl_device *hdev, u8 dec_index, u16 event_type, in gaudi2_handle_dec_err()
8621 static int gaudi2_handle_mme_err(struct hl_device *hdev, u8 mme_index, u16 event_type, in gaudi2_handle_mme_err()
8652 static int gaudi2_handle_mme_sbte_err(struct hl_device *hdev, u16 event_type, in gaudi2_handle_mme_sbte_err()
8669 static int gaudi2_handle_mme_wap_err(struct hl_device *hdev, u8 mme_index, u16 event_type, in gaudi2_handle_mme_wap_err()
8699 static int gaudi2_handle_kdma_core_event(struct hl_device *hdev, u16 event_type, in gaudi2_handle_kdma_core_event()
8722 static int gaudi2_handle_dma_core_event(struct hl_device *hdev, u16 event_type, u64 intr_cause) in gaudi2_handle_dma_core_event()
8739 static void gaudi2_print_pcie_mstr_rr_mstr_if_razwi_info(struct hl_device *hdev, u64 *event_mask) in gaudi2_print_pcie_mstr_rr_mstr_if_razwi_info()
8772 static int gaudi2_print_pcie_addr_dec_info(struct hl_device *hdev, u16 event_type, in gaudi2_print_pcie_addr_dec_info()
8801 static int gaudi2_handle_pif_fatal(struct hl_device *hdev, u16 event_type, in gaudi2_handle_pif_fatal()
8819 static int gaudi2_handle_hif_fatal(struct hl_device *hdev, u16 event_type, u64 intr_cause_data) in gaudi2_handle_hif_fatal()
8835 static void gaudi2_handle_page_error(struct hl_device *hdev, u64 mmu_base, bool is_pmmu, in gaudi2_handle_page_error()
8866 static void gaudi2_handle_access_error(struct hl_device *hdev, u64 mmu_base, bool is_pmmu) in gaudi2_handle_access_error()
8889 static int gaudi2_handle_mmu_spi_sei_generic(struct hl_device *hdev, u16 event_type, in gaudi2_handle_mmu_spi_sei_generic()
8923 static int gaudi2_handle_sm_err(struct hl_device *hdev, u16 event_type, u8 sm_index) in gaudi2_handle_sm_err()
9070 static int gaudi2_handle_mmu_spi_sei_err(struct hl_device *hdev, u16 event_type, u64 *event_mask) in gaudi2_handle_mmu_spi_sei_err()
9103 static bool gaudi2_hbm_sei_handle_read_err(struct hl_device *hdev, in gaudi2_hbm_sei_handle_read_err()
9165 static void gaudi2_hbm_sei_print_wr_par_info(struct hl_device *hdev, in gaudi2_hbm_sei_print_wr_par_info()
9190 static void gaudi2_hbm_sei_print_ca_par_info(struct hl_device *hdev, in gaudi2_hbm_sei_print_ca_par_info()
9207 static bool gaudi2_handle_hbm_mc_sei_err(struct hl_device *hdev, u16 event_type, in gaudi2_handle_hbm_mc_sei_err()
9272 static int gaudi2_handle_hbm_cattrip(struct hl_device *hdev, u16 event_type, in gaudi2_handle_hbm_cattrip()
9284 static int gaudi2_handle_hbm_mc_spi(struct hl_device *hdev, u64 intr_cause_data) in gaudi2_handle_hbm_mc_spi()
9298 static void gaudi2_print_clk_change_info(struct hl_device *hdev, u16 event_type, u64 *event_mask) in gaudi2_print_clk_change_info()
9343 static void gaudi2_print_out_of_sync_info(struct hl_device *hdev, u16 event_type, in gaudi2_print_out_of_sync_info()
9354 static int gaudi2_handle_pcie_p2p_msix(struct hl_device *hdev, u16 event_type) in gaudi2_handle_pcie_p2p_msix()
9382 static int gaudi2_handle_pcie_drain(struct hl_device *hdev, in gaudi2_handle_pcie_drain()
9410 static int gaudi2_handle_psoc_drain(struct hl_device *hdev, u64 intr_cause_data) in gaudi2_handle_psoc_drain()
9428 static void gaudi2_print_cpu_pkt_failure_info(struct hl_device *hdev, u16 event_type, in gaudi2_print_cpu_pkt_failure_info()
9438 static int hl_arc_event_handle(struct hl_device *hdev, u16 event_type, in hl_arc_event_handle()
9463 static void gaudi2_handle_eqe(struct hl_device *hdev, struct hl_eq_entry *eq_entry) in gaudi2_handle_eqe()
9931 static int gaudi2_memset_memory_chunk_using_edma_qm(struct hl_device *hdev, in gaudi2_memset_memory_chunk_using_edma_qm()
9958 static int gaudi2_memset_device_memory(struct hl_device *hdev, u64 addr, u64 size, u64 val) in gaudi2_memset_device_memory()
10079 static int gaudi2_scrub_device_dram(struct hl_device *hdev, u64 val) in gaudi2_scrub_device_dram()
10093 static int gaudi2_scrub_device_mem(struct hl_device *hdev) in gaudi2_scrub_device_mem()
10123 static void gaudi2_restore_user_sm_registers(struct hl_device *hdev) in gaudi2_restore_user_sm_registers()
10215 static void gaudi2_restore_user_qm_registers(struct hl_device *hdev) in gaudi2_restore_user_qm_registers()
10234 static void gaudi2_restore_nic_qm_registers(struct hl_device *hdev) in gaudi2_restore_nic_qm_registers()
10253 static int gaudi2_context_switch(struct hl_device *hdev, u32 asid) in gaudi2_context_switch()
10258 static void gaudi2_restore_phase_topology(struct hl_device *hdev) in gaudi2_restore_phase_topology()
10262 static void gaudi2_init_block_instances(struct hl_device *hdev, u32 block_idx, in gaudi2_init_block_instances()
10281 static void gaudi2_init_blocks_with_mask(struct hl_device *hdev, struct dup_block_ctx *cfg_ctx, in gaudi2_init_blocks_with_mask()
10292 void gaudi2_init_blocks(struct hl_device *hdev, struct dup_block_ctx *cfg_ctx) in gaudi2_init_blocks()
10297 static int gaudi2_debugfs_read_dma(struct hl_device *hdev, u64 addr, u32 size, void *blob_addr) in gaudi2_debugfs_read_dma()
10397 static int gaudi2_internal_cb_pool_init(struct hl_device *hdev, struct hl_ctx *ctx) in gaudi2_internal_cb_pool_init()
10468 static void gaudi2_internal_cb_pool_fini(struct hl_device *hdev, struct hl_ctx *ctx) in gaudi2_internal_cb_pool_fini()
10487 static void gaudi2_restore_user_registers(struct hl_device *hdev) in gaudi2_restore_user_registers()
10495 struct hl_device *hdev = ctx->hdev; in gaudi2_map_virtual_msix_doorbell_memory()
10511 struct hl_device *hdev = ctx->hdev; in gaudi2_unmap_virtual_msix_doorbell_memory()
10561 struct hl_device *hdev = cs->ctx->hdev; in gaudi2_pre_schedule_cs()
10586 static u32 gaudi2_get_queue_id_for_cq(struct hl_device *hdev, u32 cq_idx) in gaudi2_get_queue_id_for_cq()
10591 static u32 gaudi2_gen_signal_cb(struct hl_device *hdev, void *data, u16 sob_id, u32 size, bool eb) in gaudi2_gen_signal_cb()
10634 static u32 gaudi2_add_arm_monitor_pkt(struct hl_device *hdev, struct packet_msg_short *pkt, in gaudi2_add_arm_monitor_pkt()
10684 static u32 gaudi2_gen_wait_cb(struct hl_device *hdev, struct hl_gen_wait_properties *prop) in gaudi2_gen_wait_cb()
10736 static void gaudi2_reset_sob(struct hl_device *hdev, void *data) in gaudi2_reset_sob()
10747 static void gaudi2_reset_sob_group(struct hl_device *hdev, u16 sob_group) in gaudi2_reset_sob_group()
10751 static u64 gaudi2_get_device_time(struct hl_device *hdev) in gaudi2_get_device_time()
10763 static int gaudi2_collective_wait_create_jobs(struct hl_device *hdev, struct hl_ctx *ctx, in gaudi2_collective_wait_create_jobs()
10788 static u64 gaudi2_mmu_scramble_addr(struct hl_device *hdev, u64 raw_addr) in gaudi2_mmu_scramble_addr()
10808 static u64 gaudi2_mmu_descramble_addr(struct hl_device *hdev, u64 scrambled_addr) in gaudi2_mmu_descramble_addr()
10829 static u32 gaudi2_get_dec_base_addr(struct hl_device *hdev, u32 core_id) in gaudi2_get_dec_base_addr()
10852 static int gaudi2_get_hw_block_id(struct hl_device *hdev, u64 block_addr, in gaudi2_get_hw_block_id()
10872 static int gaudi2_block_mmap(struct hl_device *hdev, struct vm_area_struct *vma, in gaudi2_block_mmap()
10906 static void gaudi2_enable_events_from_fw(struct hl_device *hdev) in gaudi2_enable_events_from_fw()
10918 static int gaudi2_get_mmu_base(struct hl_device *hdev, u64 mmu_id, u32 *mmu_base) in gaudi2_get_mmu_base()
10979 static void gaudi2_ack_mmu_error(struct hl_device *hdev, u64 mmu_id) in gaudi2_ack_mmu_error()
10995 static int gaudi2_ack_mmu_page_fault_or_access_error(struct hl_device *hdev, u64 mmu_cap_mask) in gaudi2_ack_mmu_page_fault_or_access_error()
11038 static int gaudi2_gen_sync_to_engine_map(struct hl_device *hdev, struct hl_sync_to_engine_map *map) in gaudi2_gen_sync_to_engine_map()
11051 struct hl_device *hdev, struct hl_mon_state_dump *mon) in gaudi2_print_single_monitor()
11058 static int gaudi2_print_fences_single_engine(struct hl_device *hdev, u64 base_offset, in gaudi2_print_fences_single_engine()
11074 static void gaudi2_state_dump_init(struct hl_device *hdev) in gaudi2_state_dump_init()
11081 static u32 gaudi2_get_sob_addr(struct hl_device *hdev, u32 sob_id) in gaudi2_get_sob_addr()
11091 static void gaudi2_add_device_attr(struct hl_device *hdev, struct attribute_group *dev_clk_attr_grp, in gaudi2_add_device_attr()
11098 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()
11133 static int gaudi2_get_monitor_dump(struct hl_device *hdev, void *data) in gaudi2_get_monitor_dump()
11138 int gaudi2_send_device_activity(struct hl_device *hdev, bool open) in gaudi2_send_device_activity()
11250 void gaudi2_set_asic_funcs(struct hl_device *hdev) in gaudi2_set_asic_funcs()