Home
last modified time | relevance | path

Searched refs:ivpu_device (Results 1 – 25 of 25) sorted by relevance

/Linux-v6.6/drivers/accel/ivpu/
Divpu_hw.h12 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 …]
Divpu_hw_37xx.c85 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 …]
Divpu_pm.h11 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);
Divpu_drv.h93 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 …]
Divpu_hw_40xx.c110 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 …]
Divpu_jsm_msg.h11 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);
Divpu_mmu.h9 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);
Divpu_ipc.h71 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,
Divpu_pm.c27 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 …]
Divpu_mmu_context.h11 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,
Divpu_job.h14 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);
Divpu_fw.h9 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()
Divpu_debugfs.c33 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 …]
Divpu_ipc.c33 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 …]
Divpu_mmu.c243 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 …]
Divpu_job.c31 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 …]
Divpu_jsm_msg.c10 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()
Divpu_drv.c60 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 …]
Divpu_mmu_context.c42 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 …]
Divpu_fw_log.h28 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()
Divpu_fw.c58 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 …]
Divpu_gem.c42 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 …]
Divpu_hw_reg_io.h69 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()
Divpu_fw_log.c29 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()
Divpu_gem.h57 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()