/Linux-v6.6/drivers/accel/ivpu/ |
D | ivpu_hw.h | 12 int (*info_init)(struct ivpu_device *vdev); 13 int (*power_up)(struct ivpu_device *vdev); 14 int (*boot_fw)(struct ivpu_device *vdev); 15 int (*power_down)(struct ivpu_device *vdev); 16 int (*reset)(struct ivpu_device *vdev); 17 bool (*is_idle)(struct ivpu_device *vdev); 18 void (*wdt_disable)(struct ivpu_device *vdev); 19 void (*diagnose_failure)(struct ivpu_device *vdev); 20 u32 (*reg_pll_freq_get)(struct ivpu_device *vdev); 21 u32 (*reg_telemetry_offset_get)(struct ivpu_device *vdev); [all …]
|
D | ivpu_hw_37xx.c | 85 static void ivpu_hw_read_platform(struct ivpu_device *vdev) in ivpu_hw_read_platform() 99 static void ivpu_hw_wa_init(struct ivpu_device *vdev) in ivpu_hw_wa_init() 109 static void ivpu_hw_timeouts_init(struct ivpu_device *vdev) in ivpu_hw_timeouts_init() 124 static int ivpu_pll_wait_for_cmd_send(struct ivpu_device *vdev) in ivpu_pll_wait_for_cmd_send() 130 static int ivpu_pll_cmd_send(struct ivpu_device *vdev, u16 min_ratio, u16 max_ratio, in ivpu_pll_cmd_send() 167 static int ivpu_pll_wait_for_lock(struct ivpu_device *vdev, bool enable) in ivpu_pll_wait_for_lock() 177 static int ivpu_pll_wait_for_status_ready(struct ivpu_device *vdev) in ivpu_pll_wait_for_status_ready() 185 static void ivpu_pll_init_frequency_ratios(struct ivpu_device *vdev) in ivpu_pll_init_frequency_ratios() 203 static int ivpu_hw_37xx_wait_for_vpuip_bar(struct ivpu_device *vdev) in ivpu_hw_37xx_wait_for_vpuip_bar() 208 static int ivpu_pll_drive(struct ivpu_device *vdev, bool enable) in ivpu_pll_drive() [all …]
|
D | ivpu_pm.h | 11 struct ivpu_device; 14 struct ivpu_device *vdev; 22 int ivpu_pm_init(struct ivpu_device *vdev); 23 void ivpu_pm_enable(struct ivpu_device *vdev); 24 void ivpu_pm_disable(struct ivpu_device *vdev); 25 void ivpu_pm_cancel_recovery(struct ivpu_device *vdev); 35 int __must_check ivpu_rpm_get(struct ivpu_device *vdev); 36 void ivpu_rpm_put(struct ivpu_device *vdev); 38 void ivpu_pm_schedule_recovery(struct ivpu_device *vdev);
|
D | ivpu_drv.h | 93 struct ivpu_device { struct 130 struct ivpu_device *vdev; argument 149 struct ivpu_file_priv *ivpu_file_priv_get_by_ctx_id(struct ivpu_device *vdev, unsigned long id); 152 int ivpu_boot(struct ivpu_device *vdev); 153 int ivpu_shutdown(struct ivpu_device *vdev); 154 void ivpu_prepare_for_reset(struct ivpu_device *vdev); 156 static inline u8 ivpu_revision(struct ivpu_device *vdev) in ivpu_revision() 161 static inline u16 ivpu_device_id(struct ivpu_device *vdev) in ivpu_device_id() 166 static inline int ivpu_hw_gen(struct ivpu_device *vdev) in ivpu_hw_gen() 180 static inline struct ivpu_device *to_ivpu_device(struct drm_device *dev) in to_ivpu_device() [all …]
|
D | ivpu_hw_40xx.c | 110 static void ivpu_hw_read_platform(struct ivpu_device *vdev) in ivpu_hw_read_platform() 121 static void ivpu_hw_wa_init(struct ivpu_device *vdev) in ivpu_hw_wa_init() 130 static void ivpu_hw_timeouts_init(struct ivpu_device *vdev) in ivpu_hw_timeouts_init() 150 static int ivpu_pll_wait_for_cmd_send(struct ivpu_device *vdev) in ivpu_pll_wait_for_cmd_send() 155 static int ivpu_pll_cmd_send(struct ivpu_device *vdev, u16 min_ratio, u16 max_ratio, in ivpu_pll_cmd_send() 193 static int ivpu_pll_wait_for_status_ready(struct ivpu_device *vdev) in ivpu_pll_wait_for_status_ready() 198 static int ivpu_wait_for_clock_own_resource_ack(struct ivpu_device *vdev) in ivpu_wait_for_clock_own_resource_ack() 206 static void ivpu_pll_init_frequency_ratios(struct ivpu_device *vdev) in ivpu_pll_init_frequency_ratios() 224 static int ivpu_pll_drive(struct ivpu_device *vdev, bool enable) in ivpu_pll_drive() 254 static int ivpu_pll_enable(struct ivpu_device *vdev) in ivpu_pll_enable() [all …]
|
D | ivpu_jsm_msg.h | 11 int ivpu_jsm_register_db(struct ivpu_device *vdev, u32 ctx_id, u32 db_id, 13 int ivpu_jsm_unregister_db(struct ivpu_device *vdev, u32 db_id); 14 int ivpu_jsm_get_heartbeat(struct ivpu_device *vdev, u32 engine, u64 *heartbeat); 15 int ivpu_jsm_reset_engine(struct ivpu_device *vdev, u32 engine); 16 int ivpu_jsm_preempt_engine(struct ivpu_device *vdev, u32 engine, u32 preempt_id); 17 int ivpu_jsm_dyndbg_control(struct ivpu_device *vdev, char *command, size_t size); 18 int ivpu_jsm_trace_get_capability(struct ivpu_device *vdev, u32 *trace_destination_mask, 20 int ivpu_jsm_trace_set_config(struct ivpu_device *vdev, u32 trace_level, u32 trace_destination_mask, 22 int ivpu_jsm_context_release(struct ivpu_device *vdev, u32 host_ssid);
|
D | ivpu_mmu.h | 9 struct ivpu_device; 40 int ivpu_mmu_init(struct ivpu_device *vdev); 41 void ivpu_mmu_disable(struct ivpu_device *vdev); 42 int ivpu_mmu_enable(struct ivpu_device *vdev); 43 int ivpu_mmu_set_pgtable(struct ivpu_device *vdev, int ssid, struct ivpu_mmu_pgtable *pgtable); 44 void ivpu_mmu_clear_pgtable(struct ivpu_device *vdev, int ssid); 45 int ivpu_mmu_invalidate_tlb(struct ivpu_device *vdev, u16 ssid); 47 void ivpu_mmu_irq_evtq_handler(struct ivpu_device *vdev); 48 void ivpu_mmu_irq_gerr_handler(struct ivpu_device *vdev);
|
D | ivpu_ipc.h | 71 int ivpu_ipc_init(struct ivpu_device *vdev); 72 void ivpu_ipc_fini(struct ivpu_device *vdev); 74 void ivpu_ipc_enable(struct ivpu_device *vdev); 75 void ivpu_ipc_disable(struct ivpu_device *vdev); 76 void ivpu_ipc_reset(struct ivpu_device *vdev); 78 int ivpu_ipc_irq_handler(struct ivpu_device *vdev); 80 void ivpu_ipc_consumer_add(struct ivpu_device *vdev, struct ivpu_ipc_consumer *cons, 82 void ivpu_ipc_consumer_del(struct ivpu_device *vdev, struct ivpu_ipc_consumer *cons); 84 int ivpu_ipc_receive(struct ivpu_device *vdev, struct ivpu_ipc_consumer *cons, 88 int ivpu_ipc_send_receive(struct ivpu_device *vdev, struct vpu_jsm_msg *req,
|
D | ivpu_pm.c | 27 static void ivpu_pm_prepare_cold_boot(struct ivpu_device *vdev) in ivpu_pm_prepare_cold_boot() 37 static void ivpu_pm_prepare_warm_boot(struct ivpu_device *vdev) in ivpu_pm_prepare_warm_boot() 51 static int ivpu_suspend(struct ivpu_device *vdev) in ivpu_suspend() 64 static int ivpu_resume(struct ivpu_device *vdev) in ivpu_resume() 101 struct ivpu_device *vdev = pm->vdev; in ivpu_pm_recovery_work() 118 void ivpu_pm_schedule_recovery(struct ivpu_device *vdev) in ivpu_pm_schedule_recovery() 142 struct ivpu_device *vdev = to_ivpu_device(drm); in ivpu_pm_suspend_cb() 170 struct ivpu_device *vdev = to_ivpu_device(drm); in ivpu_pm_resume_cb() 190 struct ivpu_device *vdev = to_ivpu_device(drm); in ivpu_pm_runtime_suspend_cb() 224 struct ivpu_device *vdev = to_ivpu_device(drm); in ivpu_pm_runtime_resume_cb() [all …]
|
D | ivpu_mmu_context.h | 11 struct ivpu_device; 33 int ivpu_mmu_global_context_init(struct ivpu_device *vdev); 34 void ivpu_mmu_global_context_fini(struct ivpu_device *vdev); 36 int ivpu_mmu_user_context_init(struct ivpu_device *vdev, struct ivpu_mmu_context *ctx, u32 ctx_id); 37 void ivpu_mmu_user_context_fini(struct ivpu_device *vdev, struct ivpu_mmu_context *ctx); 38 void ivpu_mmu_user_context_mark_invalid(struct ivpu_device *vdev, u32 ssid); 46 int ivpu_mmu_context_map_sgt(struct ivpu_device *vdev, struct ivpu_mmu_context *ctx, 48 void ivpu_mmu_context_unmap_sgt(struct ivpu_device *vdev, struct ivpu_mmu_context *ctx,
|
D | ivpu_job.h | 14 struct ivpu_device; 47 struct ivpu_device *vdev; 60 void ivpu_cmdq_reset_all_contexts(struct ivpu_device *vdev); 62 int ivpu_job_done_thread_init(struct ivpu_device *vdev); 63 void ivpu_job_done_thread_fini(struct ivpu_device *vdev); 65 void ivpu_jobs_abort_all(struct ivpu_device *vdev);
|
D | ivpu_fw.h | 9 struct ivpu_device; 32 int ivpu_fw_init(struct ivpu_device *vdev); 33 void ivpu_fw_fini(struct ivpu_device *vdev); 34 int ivpu_fw_load(struct ivpu_device *vdev); 35 void ivpu_fw_boot_params_setup(struct ivpu_device *vdev, struct vpu_boot_params *bp); 37 static inline bool ivpu_fw_is_cold_boot(struct ivpu_device *vdev) in ivpu_fw_is_cold_boot()
|
D | ivpu_debugfs.c | 33 struct ivpu_device *vdev = to_ivpu_device(node->minor->dev); in fw_name_show() 42 struct ivpu_device *vdev = to_ivpu_device(node->minor->dev); in fw_trace_capability_show() 61 struct ivpu_device *vdev = to_ivpu_device(node->minor->dev); in fw_trace_config_show() 82 struct ivpu_device *vdev = to_ivpu_device(node->minor->dev); in last_bootmode_show() 92 struct ivpu_device *vdev = to_ivpu_device(node->minor->dev); in reset_counter_show() 101 struct ivpu_device *vdev = to_ivpu_device(node->minor->dev); in reset_pending_show() 119 struct ivpu_device *vdev = s->private; in fw_log_show() 135 struct ivpu_device *vdev = s->private; in fw_log_fops_write() 157 struct ivpu_device *vdev = file->private_data; in fw_trace_destination_mask_fops_write() 184 struct ivpu_device *vdev = file->private_data; in fw_trace_hw_comp_mask_fops_write() [all …]
|
D | ivpu_ipc.c | 33 static void ivpu_ipc_msg_dump(struct ivpu_device *vdev, char *c, in ivpu_ipc_msg_dump() 42 static void ivpu_jsm_msg_dump(struct ivpu_device *vdev, char *c, in ivpu_jsm_msg_dump() 54 ivpu_ipc_rx_mark_free(struct ivpu_device *vdev, struct ivpu_ipc_hdr *ipc_hdr, in ivpu_ipc_rx_mark_free() 63 static void ivpu_ipc_mem_fini(struct ivpu_device *vdev) in ivpu_ipc_mem_fini() 72 ivpu_ipc_tx_prepare(struct ivpu_device *vdev, struct ivpu_ipc_consumer *cons, in ivpu_ipc_tx_prepare() 128 static void ivpu_ipc_tx_release(struct ivpu_device *vdev, u32 vpu_addr) in ivpu_ipc_tx_release() 136 static void ivpu_ipc_tx(struct ivpu_device *vdev, u32 vpu_addr) in ivpu_ipc_tx() 142 ivpu_ipc_consumer_add(struct ivpu_device *vdev, struct ivpu_ipc_consumer *cons, u32 channel) in ivpu_ipc_consumer_add() 159 void ivpu_ipc_consumer_del(struct ivpu_device *vdev, struct ivpu_ipc_consumer *cons) in ivpu_ipc_consumer_del() 181 ivpu_ipc_send(struct ivpu_device *vdev, struct ivpu_ipc_consumer *cons, struct vpu_jsm_msg *req) in ivpu_ipc_send() [all …]
|
D | ivpu_mmu.c | 243 static void ivpu_mmu_config_check(struct ivpu_device *vdev) in ivpu_mmu_config_check() 277 static int ivpu_mmu_cdtab_alloc(struct ivpu_device *vdev) in ivpu_mmu_cdtab_alloc() 292 static int ivpu_mmu_strtab_alloc(struct ivpu_device *vdev) in ivpu_mmu_strtab_alloc() 312 static int ivpu_mmu_cmdq_alloc(struct ivpu_device *vdev) in ivpu_mmu_cmdq_alloc() 331 static int ivpu_mmu_evtq_alloc(struct ivpu_device *vdev) in ivpu_mmu_evtq_alloc() 350 static int ivpu_mmu_structs_alloc(struct ivpu_device *vdev) in ivpu_mmu_structs_alloc() 379 static int ivpu_mmu_reg_write(struct ivpu_device *vdev, u32 reg, u32 val) in ivpu_mmu_reg_write() 394 static int ivpu_mmu_irqs_setup(struct ivpu_device *vdev) in ivpu_mmu_irqs_setup() 406 static int ivpu_mmu_cmdq_wait_for_cons(struct ivpu_device *vdev) in ivpu_mmu_cmdq_wait_for_cons() 414 static int ivpu_mmu_cmdq_cmd_write(struct ivpu_device *vdev, const char *name, u64 data0, u64 data1) in ivpu_mmu_cmdq_cmd_write() [all …]
|
D | ivpu_job.c | 31 static void ivpu_cmdq_ring_db(struct ivpu_device *vdev, struct ivpu_cmdq *cmdq) in ivpu_cmdq_ring_db() 38 struct ivpu_device *vdev = file_priv->vdev; in ivpu_cmdq_alloc() 79 struct ivpu_device *vdev = file_priv->vdev; in ivpu_cmdq_acquire() 164 void ivpu_cmdq_reset_all_contexts(struct ivpu_device *vdev) in ivpu_cmdq_reset_all_contexts() 182 struct ivpu_device *vdev = job->vdev; in ivpu_cmdq_push_job() 209 struct ivpu_device *vdev; 234 static struct dma_fence *ivpu_fence_create(struct ivpu_device *vdev) in ivpu_fence_create() 251 struct ivpu_device *vdev = job->vdev; in job_get() 262 struct ivpu_device *vdev = job->vdev; in job_release() 281 struct ivpu_device *vdev = job->vdev; in job_put() [all …]
|
D | ivpu_jsm_msg.c | 10 int ivpu_jsm_register_db(struct ivpu_device *vdev, u32 ctx_id, u32 db_id, in ivpu_jsm_register_db() 34 int ivpu_jsm_unregister_db(struct ivpu_device *vdev, u32 db_id) in ivpu_jsm_unregister_db() 54 int ivpu_jsm_get_heartbeat(struct ivpu_device *vdev, u32 engine, u64 *heartbeat) in ivpu_jsm_get_heartbeat() 76 int ivpu_jsm_reset_engine(struct ivpu_device *vdev, u32 engine) in ivpu_jsm_reset_engine() 95 int ivpu_jsm_preempt_engine(struct ivpu_device *vdev, u32 engine, u32 preempt_id) in ivpu_jsm_preempt_engine() 115 int ivpu_jsm_dyndbg_control(struct ivpu_device *vdev, char *command, size_t size) in ivpu_jsm_dyndbg_control() 131 int ivpu_jsm_trace_get_capability(struct ivpu_device *vdev, u32 *trace_destination_mask, in ivpu_jsm_trace_get_capability() 151 int ivpu_jsm_trace_set_config(struct ivpu_device *vdev, u32 trace_level, u32 trace_destination_mask, in ivpu_jsm_trace_set_config() 170 int ivpu_jsm_context_release(struct ivpu_device *vdev, u32 host_ssid) in ivpu_jsm_context_release()
|
D | ivpu_drv.c | 60 struct ivpu_device *vdev = file_priv->vdev; in ivpu_file_priv_get() 70 struct ivpu_file_priv *ivpu_file_priv_get_by_ctx_id(struct ivpu_device *vdev, unsigned long id) in ivpu_file_priv_get_by_ctx_id() 91 struct ivpu_device *vdev = file_priv->vdev; in file_priv_release() 107 struct ivpu_device *vdev = file_priv->vdev; in ivpu_file_priv_put() 118 static int ivpu_get_capabilities(struct ivpu_device *vdev, struct drm_ivpu_param *args) in ivpu_get_capabilities() 137 struct ivpu_device *vdev = file_priv->vdev; in ivpu_get_param_ioctl() 227 struct ivpu_device *vdev = to_ivpu_device(dev); in ivpu_open() 280 struct ivpu_device *vdev = to_ivpu_device(dev); in ivpu_postclose() 297 static int ivpu_wait_for_ready(struct ivpu_device *vdev) in ivpu_wait_for_ready() 344 int ivpu_boot(struct ivpu_device *vdev) in ivpu_boot() [all …]
|
D | ivpu_mmu_context.c | 42 static int ivpu_mmu_pgtable_init(struct ivpu_device *vdev, struct ivpu_mmu_pgtable *pgtable) in ivpu_mmu_pgtable_init() 56 static void ivpu_mmu_pgtable_free(struct ivpu_device *vdev, u64 *cpu_addr, dma_addr_t dma_addr) in ivpu_mmu_pgtable_free() 63 static void ivpu_mmu_pgtables_free(struct ivpu_device *vdev, struct ivpu_mmu_pgtable *pgtable) in ivpu_mmu_pgtables_free() 103 ivpu_mmu_ensure_pud(struct ivpu_device *vdev, struct ivpu_mmu_pgtable *pgtable, int pgd_idx) in ivpu_mmu_ensure_pud() 139 ivpu_mmu_ensure_pmd(struct ivpu_device *vdev, struct ivpu_mmu_pgtable *pgtable, int pgd_idx, in ivpu_mmu_ensure_pmd() 168 ivpu_mmu_ensure_pte(struct ivpu_device *vdev, struct ivpu_mmu_pgtable *pgtable, in ivpu_mmu_ensure_pte() 188 ivpu_mmu_context_map_page(struct ivpu_device *vdev, struct ivpu_mmu_context *ctx, in ivpu_mmu_context_map_page() 217 ivpu_mmu_context_map_cont_64k(struct ivpu_device *vdev, struct ivpu_mmu_context *ctx, u64 vpu_addr, in ivpu_mmu_context_map_cont_64k() 285 ivpu_mmu_context_map_pages(struct ivpu_device *vdev, struct ivpu_mmu_context *ctx, in ivpu_mmu_context_map_pages() 322 ivpu_mmu_context_map_sgt(struct ivpu_device *vdev, struct ivpu_mmu_context *ctx, in ivpu_mmu_context_map_sgt() [all …]
|
D | ivpu_fw_log.h | 28 void ivpu_fw_log_print(struct ivpu_device *vdev, bool only_new_msgs, struct drm_printer *p); 29 void ivpu_fw_log_clear(struct ivpu_device *vdev); 31 static inline void ivpu_fw_log_dump(struct ivpu_device *vdev) in ivpu_fw_log_dump()
|
D | ivpu_fw.c | 58 static int ivpu_fw_request(struct ivpu_device *vdev) in ivpu_fw_request() 86 ivpu_fw_check_api(struct ivpu_device *vdev, const struct vpu_firmware_header *fw_hdr, in ivpu_fw_check_api() 108 static int ivpu_fw_parse(struct ivpu_device *vdev) in ivpu_fw_parse() 193 static void ivpu_fw_release(struct ivpu_device *vdev) in ivpu_fw_release() 198 static int ivpu_fw_update_global_range(struct ivpu_device *vdev) in ivpu_fw_update_global_range() 213 static int ivpu_fw_mem_init(struct ivpu_device *vdev) in ivpu_fw_mem_init() 270 static void ivpu_fw_mem_fini(struct ivpu_device *vdev) in ivpu_fw_mem_fini() 288 int ivpu_fw_init(struct ivpu_device *vdev) in ivpu_fw_init() 311 void ivpu_fw_fini(struct ivpu_device *vdev) in ivpu_fw_fini() 317 int ivpu_fw_load(struct ivpu_device *vdev) in ivpu_fw_load() [all …]
|
D | ivpu_gem.c | 42 struct ivpu_device *vdev = ivpu_bo_to_vdev(bo); in prime_map_pages_locked() 100 struct ivpu_device *vdev = ivpu_bo_to_vdev(bo); in ivpu_bo_map_pages_locked() 126 struct ivpu_device *vdev = ivpu_bo_to_vdev(bo); in ivpu_bo_unmap_pages_locked() 197 struct ivpu_device *vdev = ivpu_bo_to_vdev(bo); in ivpu_bo_alloc_and_map_pages_locked() 243 struct ivpu_device *vdev = ivpu_bo_to_vdev(bo); in ivpu_bo_pin() 281 struct ivpu_device *vdev = ivpu_bo_to_vdev(bo); in ivpu_bo_alloc_vpu_addr() 307 struct ivpu_device *vdev = ivpu_bo_to_vdev(bo); in ivpu_bo_free_vpu_addr() 340 ivpu_bo_alloc(struct ivpu_device *vdev, struct ivpu_mmu_context *mmu_context, in ivpu_bo_alloc() 407 struct ivpu_device *vdev = ivpu_bo_to_vdev(bo); in ivpu_bo_free() 438 struct ivpu_device *vdev = ivpu_bo_to_vdev(bo); in ivpu_bo_mmap() [all …]
|
D | ivpu_hw_reg_io.h | 69 ivpu_hw_reg_rd32(struct ivpu_device *vdev, void __iomem *base, u32 reg, in ivpu_hw_reg_rd32() 79 ivpu_hw_reg_rd64(struct ivpu_device *vdev, void __iomem *base, u32 reg, in ivpu_hw_reg_rd64() 89 ivpu_hw_reg_wr32(struct ivpu_device *vdev, void __iomem *base, u32 reg, u32 val, in ivpu_hw_reg_wr32() 97 ivpu_hw_reg_wr64(struct ivpu_device *vdev, void __iomem *base, u32 reg, u64 val, in ivpu_hw_reg_wr64() 105 ivpu_hw_reg_wr32_index(struct ivpu_device *vdev, void __iomem *base, u32 reg, in ivpu_hw_reg_wr32_index()
|
D | ivpu_fw_log.c | 29 static int fw_log_ptr(struct ivpu_device *vdev, struct ivpu_bo *bo, u32 *offset, in fw_log_ptr() 93 static void fw_log_print_buffer(struct ivpu_device *vdev, struct vpu_tracing_buffer_header *log, in fw_log_print_buffer() 118 void ivpu_fw_log_print(struct ivpu_device *vdev, bool only_new_msgs, struct drm_printer *p) in ivpu_fw_log_print() 131 void ivpu_fw_log_clear(struct ivpu_device *vdev) in ivpu_fw_log_clear()
|
D | ivpu_gem.h | 57 ivpu_bo_alloc_internal(struct ivpu_device *vdev, u64 vpu_addr, u64 size, u32 flags); 100 static inline struct ivpu_device *ivpu_bo_to_vdev(struct ivpu_bo *bo) in ivpu_bo_to_vdev()
|