Lines Matching defs:hl_asic_funcs

718 struct hl_asic_funcs {  struct
719 int (*early_init)(struct hl_device *hdev);
720 int (*early_fini)(struct hl_device *hdev);
721 int (*late_init)(struct hl_device *hdev);
722 void (*late_fini)(struct hl_device *hdev);
723 int (*sw_init)(struct hl_device *hdev);
724 int (*sw_fini)(struct hl_device *hdev);
725 int (*hw_init)(struct hl_device *hdev);
726 void (*hw_fini)(struct hl_device *hdev, bool hard_reset);
727 void (*halt_engines)(struct hl_device *hdev, bool hard_reset);
728 int (*suspend)(struct hl_device *hdev);
729 int (*resume)(struct hl_device *hdev);
730 int (*cb_mmap)(struct hl_device *hdev, struct vm_area_struct *vma,
732 void (*ring_doorbell)(struct hl_device *hdev, u32 hw_queue_id, u32 pi);
733 void (*pqe_write)(struct hl_device *hdev, __le64 *pqe,
735 void* (*asic_dma_alloc_coherent)(struct hl_device *hdev, size_t size,
737 void (*asic_dma_free_coherent)(struct hl_device *hdev, size_t size,
739 void* (*get_int_queue_base)(struct hl_device *hdev, u32 queue_id,
741 int (*test_queues)(struct hl_device *hdev);
742 void* (*asic_dma_pool_zalloc)(struct hl_device *hdev, size_t size,
744 void (*asic_dma_pool_free)(struct hl_device *hdev, void *vaddr,
746 void* (*cpu_accessible_dma_pool_alloc)(struct hl_device *hdev,
748 void (*cpu_accessible_dma_pool_free)(struct hl_device *hdev,
750 void (*hl_dma_unmap_sg)(struct hl_device *hdev,
753 int (*cs_parser)(struct hl_device *hdev, struct hl_cs_parser *parser);
754 int (*asic_dma_map_sg)(struct hl_device *hdev,
757 u32 (*get_dma_desc_list_size)(struct hl_device *hdev,
759 void (*add_end_of_cb_packets)(struct hl_device *hdev,
763 void (*update_eq_ci)(struct hl_device *hdev, u32 val);
764 int (*context_switch)(struct hl_device *hdev, u32 asid);
765 void (*restore_phase_topology)(struct hl_device *hdev);
766 int (*debugfs_read32)(struct hl_device *hdev, u64 addr, u32 *val);
767 int (*debugfs_write32)(struct hl_device *hdev, u64 addr, u32 val);
768 int (*debugfs_read64)(struct hl_device *hdev, u64 addr, u64 *val);
769 int (*debugfs_write64)(struct hl_device *hdev, u64 addr, u64 val);
770 void (*add_device_attr)(struct hl_device *hdev,
772 void (*handle_eqe)(struct hl_device *hdev,
774 void (*set_pll_profile)(struct hl_device *hdev,
776 void* (*get_events_stat)(struct hl_device *hdev, bool aggregate,
778 u64 (*read_pte)(struct hl_device *hdev, u64 addr);
779 void (*write_pte)(struct hl_device *hdev, u64 addr, u64 val);
780 int (*mmu_invalidate_cache)(struct hl_device *hdev, bool is_hard,
782 int (*mmu_invalidate_cache_range)(struct hl_device *hdev, bool is_hard,
784 int (*send_heartbeat)(struct hl_device *hdev);
785 void (*set_clock_gating)(struct hl_device *hdev);
786 void (*disable_clock_gating)(struct hl_device *hdev);
787 int (*debug_coresight)(struct hl_device *hdev, void *data);
788 bool (*is_device_idle)(struct hl_device *hdev, u64 *mask,
790 int (*soft_reset_late_init)(struct hl_device *hdev);
791 void (*hw_queues_lock)(struct hl_device *hdev);
792 void (*hw_queues_unlock)(struct hl_device *hdev);
793 u32 (*get_pci_id)(struct hl_device *hdev);
794 int (*get_eeprom_data)(struct hl_device *hdev, void *data,
796 int (*send_cpu_message)(struct hl_device *hdev, u32 *msg,
798 enum hl_device_hw_state (*get_hw_state)(struct hl_device *hdev);
799 int (*pci_bars_map)(struct hl_device *hdev);
800 int (*init_iatu)(struct hl_device *hdev);
801 u32 (*rreg)(struct hl_device *hdev, u32 reg);
802 void (*wreg)(struct hl_device *hdev, u32 reg, u32 val);
803 void (*halt_coresight)(struct hl_device *hdev);
804 int (*ctx_init)(struct hl_ctx *ctx);
805 int (*get_clk_rate)(struct hl_device *hdev, u32 *cur_clk, u32 *max_clk);
806 u32 (*get_queue_id_for_cq)(struct hl_device *hdev, u32 cq_idx);
807 void (*read_device_fw_version)(struct hl_device *hdev,
809 int (*load_firmware_to_device)(struct hl_device *hdev);
810 int (*load_boot_fit_to_device)(struct hl_device *hdev);
811 u32 (*get_signal_cb_size)(struct hl_device *hdev);
812 u32 (*get_wait_cb_size)(struct hl_device *hdev);
813 void (*gen_signal_cb)(struct hl_device *hdev, void *data, u16 sob_id);
814 void (*gen_wait_cb)(struct hl_device *hdev, void *data, u16 sob_id,
816 void (*reset_sob)(struct hl_device *hdev, void *data);
817 void (*set_dma_mask_from_fw)(struct hl_device *hdev);
818 u64 (*get_device_time)(struct hl_device *hdev);