/linux/drivers/accel/ivpu/ |
H A D | ivpu_hw_btrs.h | 20 int ivpu_hw_btrs_info_init(struct ivpu_device *vdev); 21 void ivpu_hw_btrs_freq_ratios_init(struct ivpu_device *vdev); 22 int ivpu_hw_btrs_irqs_clear_with_0_mtl(struct ivpu_device *vdev); 23 int ivpu_hw_btrs_wp_drive(struct ivpu_device *vdev, bool enable); 24 int ivpu_hw_btrs_wait_for_clock_res_own_ack(struct ivpu_device *vdev); 25 int ivpu_hw_btrs_d0i3_enable(struct ivpu_device *vdev); 26 int ivpu_hw_btrs_d0i3_disable(struct ivpu_device *vdev); 27 void ivpu_hw_btrs_set_port_arbitration_weights_lnl(struct ivpu_device *vdev); 28 bool ivpu_hw_btrs_is_idle(struct ivpu_device *vdev); 29 int ivpu_hw_btrs_wait_for_idle(struct ivpu_device *vde [all...] |
H A D | ivpu_hw_ip.h | 11 int ivpu_hw_ip_host_ss_configure(struct ivpu_device *vdev); 12 void ivpu_hw_ip_idle_gen_enable(struct ivpu_device *vdev); 13 void ivpu_hw_ip_idle_gen_disable(struct ivpu_device *vdev); 14 int ivpu_hw_ip_pwr_domain_enable(struct ivpu_device *vdev); 15 int ivpu_hw_ip_host_ss_axi_enable(struct ivpu_device *vdev); 16 int ivpu_hw_ip_top_noc_enable(struct ivpu_device *vdev); 17 u64 ivpu_hw_ip_read_perf_timer_counter(struct ivpu_device *vdev); 18 void ivpu_hw_ip_snoop_disable(struct ivpu_device *vdev); 19 void ivpu_hw_ip_tbu_mmu_enable(struct ivpu_device *vdev); 20 int ivpu_hw_ip_soc_cpu_boot(struct ivpu_device *vde [all...] |
H A D | ivpu_hw.h | 20 bool (*btrs_irq_handler)(struct ivpu_device *vdev, int irq); 21 bool (*ip_irq_handler)(struct ivpu_device *vdev, int irq); 53 int ivpu_hw_init(struct ivpu_device *vdev); 54 int ivpu_hw_power_up(struct ivpu_device *vdev); 55 int ivpu_hw_power_down(struct ivpu_device *vdev); 56 int ivpu_hw_reset(struct ivpu_device *vdev); 57 int ivpu_hw_boot_fw(struct ivpu_device *vdev); 58 void ivpu_hw_profiling_freq_drive(struct ivpu_device *vdev, bool enable); 59 void ivpu_irq_handlers_init(struct ivpu_device *vdev); 60 void ivpu_hw_irq_enable(struct ivpu_device *vde [all...] |
H A D | ivpu_jsm_msg.h | 13 int ivpu_jsm_register_db(struct ivpu_device *vdev, u32 ctx_id, u32 db_id, 15 int ivpu_jsm_unregister_db(struct ivpu_device *vdev, u32 db_id); 16 int ivpu_jsm_get_heartbeat(struct ivpu_device *vdev, u32 engine, u64 *heartbeat); 17 int ivpu_jsm_reset_engine(struct ivpu_device *vdev, u32 engine); 18 int ivpu_jsm_preempt_engine(struct ivpu_device *vdev, u32 engine, u32 preempt_id); 19 int ivpu_jsm_dyndbg_control(struct ivpu_device *vdev, char *command, size_t size); 20 int ivpu_jsm_trace_get_capability(struct ivpu_device *vdev, u32 *trace_destination_mask, 22 int ivpu_jsm_trace_set_config(struct ivpu_device *vdev, u32 trace_level, u32 trace_destination_mask, 24 int ivpu_jsm_context_release(struct ivpu_device *vdev, u32 host_ssid); 25 int ivpu_jsm_pwr_d0i3_enter(struct ivpu_device *vde [all...] |
H A D | ivpu_hw_ip.c | 66 static int wait_for_ip_bar(struct ivpu_device *vdev) in wait_for_ip_bar() 71 static void host_ss_rst_clr(struct ivpu_device *vdev) in host_ss_rst_clr() 82 static int host_ss_noc_qreqn_check_37xx(struct ivpu_device *vdev, u32 exp_val) in host_ss_noc_qreqn_check_37xx() 92 static int host_ss_noc_qreqn_check_40xx(struct ivpu_device *vdev, u32 exp_val) in host_ss_noc_qreqn_check_40xx() 102 static int host_ss_noc_qreqn_check(struct ivpu_device *vdev, u32 exp_val) in host_ss_noc_qreqn_check() 110 static int host_ss_noc_qacceptn_check_37xx(struct ivpu_device *vdev, u32 exp_val) in host_ss_noc_qacceptn_check_37xx() 120 static int host_ss_noc_qacceptn_check_40xx(struct ivpu_device *vdev, u32 exp_val) in host_ss_noc_qacceptn_check_40xx() 130 static int host_ss_noc_qacceptn_check(struct ivpu_device *vdev, u32 exp_val) in host_ss_noc_qacceptn_check() 138 static int host_ss_noc_qdeny_check_37xx(struct ivpu_device *vdev, u32 exp_val) in host_ss_noc_qdeny_check_37xx() 148 static int host_ss_noc_qdeny_check_40xx(struct ivpu_device *vde [all...] |
H A D | ivpu_ipc.h | 45 typedef void (*ivpu_ipc_rx_callback_t)(struct ivpu_device *vdev, 85 int ivpu_ipc_init(struct ivpu_device *vdev); 86 void ivpu_ipc_fini(struct ivpu_device *vdev); 88 void ivpu_ipc_enable(struct ivpu_device *vdev); 89 void ivpu_ipc_disable(struct ivpu_device *vdev); 90 void ivpu_ipc_reset(struct ivpu_device *vdev); 92 void ivpu_ipc_irq_handler(struct ivpu_device *vdev); 95 void ivpu_ipc_consumer_add(struct ivpu_device *vdev, struct ivpu_ipc_consumer *cons, 97 void ivpu_ipc_consumer_del(struct ivpu_device *vdev, struct ivpu_ipc_consumer *cons); 99 int ivpu_ipc_send(struct ivpu_device *vde [all...] |
H A D | ivpu_hw_btrs.c | 63 static u32 pll_ratio_to_dpu_freq(struct ivpu_device *vdev, u32 ratio); 65 int ivpu_hw_btrs_irqs_clear_with_0_mtl(struct ivpu_device *vdev) in ivpu_hw_btrs_irqs_clear_with_0_mtl() 77 static void freq_ratios_init_mtl(struct ivpu_device *vdev) in freq_ratios_init_mtl() 90 static void freq_ratios_init_lnl(struct ivpu_device *vdev) in freq_ratios_init_lnl() 103 void ivpu_hw_btrs_freq_ratios_init(struct ivpu_device *vdev) in ivpu_hw_btrs_freq_ratios_init() 132 static int read_tile_config_fuse(struct ivpu_device *vdev, u32 *tile_fuse_config) in read_tile_config_fuse() 153 static int info_init_mtl(struct ivpu_device *vdev) in info_init_mtl() 164 static int info_init_lnl(struct ivpu_device *vdev) in info_init_lnl() 180 int ivpu_hw_btrs_info_init(struct ivpu_device *vdev) in ivpu_hw_btrs_info_init() 188 static int wp_request_sync(struct ivpu_device *vde [all...] |
H A D | ivpu_drv.h | 124 struct ivpu_device { struct 182 struct ivpu_device *vdev; argument 222 int ivpu_boot(struct ivpu_device *vdev); 223 int ivpu_shutdown(struct ivpu_device *vdev); 224 void ivpu_prepare_for_reset(struct ivpu_device *vdev); 225 bool ivpu_is_capable(struct ivpu_device *vdev, u32 capability); 227 static inline u8 ivpu_revision(struct ivpu_device *vdev) in ivpu_revision() 232 static inline u16 ivpu_device_id(struct ivpu_device *vdev) in ivpu_device_id() 237 static inline int ivpu_hw_ip_gen(struct ivpu_device *vdev) in ivpu_hw_ip_gen() 255 static inline int ivpu_hw_btrs_gen(struct ivpu_device *vdev) in ivpu_hw_btrs_gen() [all …]
|
H A D | ivpu_job.h | 14 struct ivpu_device; 50 struct ivpu_device *vdev; 69 void ivpu_cmdq_reset_all_contexts(struct ivpu_device *vdev); 70 void ivpu_cmdq_abort_all_jobs(struct ivpu_device *vdev, u32 ctx_id, u32 cmdq_id); 72 void ivpu_job_done_consumer_init(struct ivpu_device *vdev); 73 void ivpu_job_done_consumer_fini(struct ivpu_device *vdev); 76 void ivpu_jobs_abort_all(struct ivpu_device *vdev);
|
H A D | ivpu_hw.c | 39 static void platform_init(struct ivpu_device *vdev) in platform_init() 59 static void wa_init(struct ivpu_device *vdev) in wa_init() 91 static void timeouts_init(struct ivpu_device *vdev) in timeouts_init() 130 static void priority_bands_init(struct ivpu_device *vdev) in priority_bands_init() 150 static void memory_ranges_init(struct ivpu_device *vdev) in memory_ranges_init() 165 static int wp_enable(struct ivpu_device *vdev) in wp_enable() 170 static int wp_disable(struct ivpu_device *vdev) in wp_disable() 175 int ivpu_hw_power_up(struct ivpu_device *vdev) in ivpu_hw_power_up() 239 static void save_d0i3_entry_timestamp(struct ivpu_device *vdev) in save_d0i3_entry_timestamp() 245 int ivpu_hw_reset(struct ivpu_device *vde [all...] |
H A D | ivpu_fw.h | 14 struct ivpu_device; 45 int ivpu_fw_init(struct ivpu_device *vdev); 46 void ivpu_fw_fini(struct ivpu_device *vdev); 47 void ivpu_fw_load(struct ivpu_device *vdev); 48 void ivpu_fw_boot_params_setup(struct ivpu_device *vdev, struct vpu_boot_params *bp); 50 static inline bool ivpu_fw_is_cold_boot(struct ivpu_device *vdev) in ivpu_fw_is_cold_boot()
|
H A D | ivpu_ipc.c | 27 static void ivpu_ipc_msg_dump(struct ivpu_device *vdev, char *c, in ivpu_ipc_msg_dump() 36 static void ivpu_jsm_msg_dump(struct ivpu_device *vdev, char *c, in ivpu_jsm_msg_dump() 49 ivpu_ipc_rx_mark_free(struct ivpu_device *vdev, struct ivpu_ipc_hdr *ipc_hdr, in ivpu_ipc_rx_mark_free() 58 static void ivpu_ipc_mem_fini(struct ivpu_device *vdev) in ivpu_ipc_mem_fini() 67 ivpu_ipc_tx_prepare(struct ivpu_device *vdev, struct ivpu_ipc_consumer *cons, in ivpu_ipc_tx_prepare() 123 static void ivpu_ipc_tx_release(struct ivpu_device *vdev, u32 vpu_addr) in ivpu_ipc_tx_release() 131 static void ivpu_ipc_tx(struct ivpu_device *vdev, u32 vpu_addr) in ivpu_ipc_tx() 137 ivpu_ipc_rx_msg_add(struct ivpu_device *vdev, struct ivpu_ipc_consumer *cons, in ivpu_ipc_rx_msg_add() 169 ivpu_ipc_rx_msg_del(struct ivpu_device *vdev, struct ivpu_ipc_rx_msg *rx_msg) in ivpu_ipc_rx_msg_del() 177 void ivpu_ipc_consumer_add(struct ivpu_device *vde [all...] |
H A D | ivpu_jsm_msg.c | 95 int ivpu_jsm_register_db(struct ivpu_device *vdev, u32 ctx_id, u32 db_id, in ivpu_jsm_register_db() 115 int ivpu_jsm_unregister_db(struct ivpu_device *vdev, u32 db_id) in ivpu_jsm_unregister_db() 131 int ivpu_jsm_get_heartbeat(struct ivpu_device *vdev, u32 engine, u64 *heartbeat) in ivpu_jsm_get_heartbeat() 154 int ivpu_jsm_reset_engine(struct ivpu_device *vdev, u32 engine) in ivpu_jsm_reset_engine() 175 int ivpu_jsm_preempt_engine(struct ivpu_device *vdev, u32 engine, u32 preempt_id) in ivpu_jsm_preempt_engine() 195 int ivpu_jsm_dyndbg_control(struct ivpu_device *vdev, char *command, size_t size) in ivpu_jsm_dyndbg_control() 212 int ivpu_jsm_trace_get_capability(struct ivpu_device *vdev, u32 *trace_destination_mask, in ivpu_jsm_trace_get_capability() 232 int ivpu_jsm_trace_set_config(struct ivpu_device *vdev, u32 trace_level, u32 trace_destination_mask, in ivpu_jsm_trace_set_config() 251 int ivpu_jsm_context_release(struct ivpu_device *vdev, u32 host_ssid) in ivpu_jsm_context_release() 267 int ivpu_jsm_pwr_d0i3_enter(struct ivpu_device *vde [all...] |
H A D | ivpu_job.c | 29 static void ivpu_cmdq_ring_db(struct ivpu_device *vdev, struct ivpu_cmdq *cmdq) in ivpu_cmdq_ring_db() 34 static int ivpu_preemption_buffers_create(struct ivpu_device *vdev, in ivpu_preemption_buffers_create() 66 static void ivpu_preemption_buffers_free(struct ivpu_device *vdev, in ivpu_preemption_buffers_free() 80 struct ivpu_device *vdev = file_priv->vdev; in ivpu_cmdq_alloc() 124 static u32 ivpu_cmdq_get_flags(struct ivpu_device *vdev, u32 flags) in ivpu_cmdq_get_flags() 149 struct ivpu_device *vdev = file_priv->vdev; in ivpu_cmdq_create() 186 struct ivpu_device *vdev = file_priv->vdev; in ivpu_hws_cmdq_init() 205 struct ivpu_device *vdev = file_priv->vdev; in ivpu_register_db() 231 static void ivpu_cmdq_jobq_reset(struct ivpu_device *vdev, struct vpu_job_queue *jobq) in ivpu_cmdq_jobq_reset() 241 struct ivpu_device *vde in ivpu_cmdq_register() [all...] |
H A D | ivpu_sysfs.c | 35 struct ivpu_device *vdev = to_ivpu_device(drm); in npu_busy_time_us_show() 60 struct ivpu_device *vdev = to_ivpu_device(drm); in npu_memory_utilization_show() 88 struct ivpu_device *vdev = to_ivpu_device(drm); in sched_mode_show() 105 struct ivpu_device *vdev = to_ivpu_device(drm); in npu_max_frequency_mhz_show() 123 struct ivpu_device *vdev = to_ivpu_device(drm); in npu_current_frequency_mhz_show() 151 void ivpu_sysfs_init(struct ivpu_device *vdev) in ivpu_sysfs_init()
|
H A D | ivpu_drv.c | 72 struct ivpu_device *vdev = file_priv->vdev; in ivpu_file_priv_get() 82 static void file_priv_unbind(struct ivpu_device *vdev, struct ivpu_file_priv *file_priv) in file_priv_unbind() 100 struct ivpu_device *vdev = file_priv->vdev; in file_priv_release() 121 struct ivpu_device *vdev = file_priv->vdev; in ivpu_file_priv_put() 130 bool ivpu_is_capable(struct ivpu_device *vdev, u32 capability) in ivpu_is_capable() 147 struct ivpu_device *vdev = file_priv->vdev; in ivpu_get_param_ioctl() 227 struct ivpu_device *vdev = to_ivpu_device(dev); in ivpu_open() 290 struct ivpu_device *vdev = to_ivpu_device(dev); in ivpu_postclose() 315 static int ivpu_wait_for_ready(struct ivpu_device *vdev) in ivpu_wait_for_ready() 351 static int ivpu_hw_sched_init(struct ivpu_device *vdev) in ivpu_hw_sched_init() [all …]
|
H A D | ivpu_fw_log.h | 26 void ivpu_fw_log_print(struct ivpu_device *vdev, bool only_new_msgs, struct drm_printer *p); 27 void ivpu_fw_log_mark_read(struct ivpu_device *vdev); 28 void ivpu_fw_log_reset(struct ivpu_device *vdev);
|
H A D | ivpu_gem.c | 27 static inline void ivpu_dbg_bo(struct ivpu_device *vdev, struct ivpu_bo *bo, const char *action) in ivpu_dbg_bo() 55 struct ivpu_device *vdev = ivpu_bo_to_vdev(bo); in ivpu_bo_pin() 91 struct ivpu_device *vdev = ivpu_bo_to_vdev(bo); in ivpu_bo_alloc_vpu_addr() 116 struct ivpu_device *vdev = ivpu_bo_to_vdev(bo); in ivpu_bo_unbind_locked() 144 void ivpu_bo_unbind_all_bos_from_context(struct ivpu_device *vdev, struct ivpu_mmu_context *ctx) in ivpu_bo_unbind_all_bos_from_context() 223 static struct ivpu_bo *ivpu_bo_alloc(struct ivpu_device *vdev, u64 size, u32 flags, u32 ctx_id) in ivpu_bo_alloc() 257 struct ivpu_device *vdev = file_priv->vdev; in ivpu_gem_bo_open() 279 struct ivpu_device *vdev = to_ivpu_device(obj->dev); in ivpu_gem_bo_free() 317 struct ivpu_device *vdev = file_priv->vdev; in ivpu_bo_create_ioctl() 349 ivpu_bo_create(struct ivpu_device *vde [all...] |
H A D | ivpu_gem.h | 28 void ivpu_bo_unbind_all_bos_from_context(struct ivpu_device *vdev, struct ivpu_mmu_context *ctx); 32 struct ivpu_bo *ivpu_bo_create(struct ivpu_device *vdev, struct ivpu_mmu_context *ctx, 34 struct ivpu_bo *ivpu_bo_create_global(struct ivpu_device *vdev, u64 size, u32 flags); 64 static inline struct ivpu_device *ivpu_bo_to_vdev(struct ivpu_bo *bo) in ivpu_bo_to_vdev()
|
H A D | ivpu_fw.c | 71 static int ivpu_fw_request(struct ivpu_device *vdev) in ivpu_fw_request() 99 ivpu_fw_check_api(struct ivpu_device *vdev, const struct vpu_firmware_header *fw_hdr, in ivpu_fw_check_api() 122 ivpu_fw_check_api_ver_lt(struct ivpu_device *vdev, const struct vpu_firmware_header *fw_hdr, in ivpu_fw_check_api_ver_lt() 143 ivpu_fw_sched_mode_select(struct ivpu_device *vdev, const struct vpu_firmware_header *fw_hdr) in ivpu_fw_sched_mode_select() 154 static int ivpu_fw_parse(struct ivpu_device *vdev) in ivpu_fw_parse() 272 static void ivpu_fw_release(struct ivpu_device *vdev) in ivpu_fw_release() 279 ivpu_fw_init_wa(struct ivpu_device *vdev) in ivpu_fw_init_wa() 294 static int ivpu_fw_update_global_range(struct ivpu_device *vdev) in ivpu_fw_update_global_range() 309 static int ivpu_fw_mem_init(struct ivpu_device *vdev) in ivpu_fw_mem_init() 378 static void ivpu_fw_mem_fini(struct ivpu_device *vde [all...] |
H A D | ivpu_hw_reg_io.h | 62 ivpu_hw_reg_poll_fld(struct ivpu_device *vdev, void __iomem *base, in ivpu_hw_reg_poll_fld() 87 ivpu_hw_reg_rd32(struct ivpu_device *vdev, void __iomem *base, u32 reg, in ivpu_hw_reg_rd32() 97 ivpu_hw_reg_rd64(struct ivpu_device *vdev, void __iomem *base, u32 reg, in ivpu_hw_reg_rd64() 107 ivpu_hw_reg_wr32(struct ivpu_device *vdev, void __iomem *base, u32 reg, u32 val, in ivpu_hw_reg_wr32() 115 ivpu_hw_reg_wr64(struct ivpu_device *vdev, void __iomem *base, u32 reg, u64 val, in ivpu_hw_reg_wr64() 123 ivpu_hw_reg_wr32_index(struct ivpu_device *vdev, void __iomem *base, u32 reg, in ivpu_hw_reg_wr32_index()
|
H A D | ivpu_fw_log.c | 29 static int fw_log_from_bo(struct ivpu_device *vdev, struct ivpu_bo *bo, u32 *offset, in fw_log_from_bo() 125 fw_log_print_all_in_bo(struct ivpu_device *vdev, const char *name, in fw_log_print_all_in_bo() 135 void ivpu_fw_log_print(struct ivpu_device *vdev, bool only_new_msgs, struct drm_printer *p) in ivpu_fw_log_print() 141 void ivpu_fw_log_mark_read(struct ivpu_device *vdev) in ivpu_fw_log_mark_read() 159 void ivpu_fw_log_reset(struct ivpu_device *vdev) in ivpu_fw_log_reset()
|
H A D | ivpu_ms.c | 38 struct ivpu_device *vdev = file_priv->vdev; in ivpu_ms_start_ioctl() 129 copy_samples_to_user(struct ivpu_device *vdev, struct ivpu_ms_instance *ms, in copy_samples_to_user() 162 struct ivpu_device *vdev = file_priv->vdev; in ivpu_ms_get_data_ioctl() 219 struct ivpu_device *vdev = file_priv->vdev; in ivpu_ms_stop_ioctl() 258 struct ivpu_device *vdev = file_priv->vdev; in ivpu_ms_get_info_ioctl() 303 struct ivpu_device *vdev = file_priv->vdev; in ivpu_ms_cleanup() 322 void ivpu_ms_cleanup_all(struct ivpu_device *vdev) in ivpu_ms_cleanup_all()
|
H A D | ivpu_coredump.h | 15 void ivpu_dev_coredump(struct ivpu_device *vdev); 17 static inline void ivpu_dev_coredump(struct ivpu_device *vdev) in ivpu_dev_coredump()
|
H A D | ivpu_ms.h | 13 struct ivpu_device; 34 void ivpu_ms_cleanup_all(struct ivpu_device *vdev);
|