1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25void kgd_gfx_v9_program_sh_mem_settings(struct kgd_dev *kgd, uint32_t vmid,
26 uint32_t sh_mem_config,
27 uint32_t sh_mem_ape1_base, uint32_t sh_mem_ape1_limit,
28 uint32_t sh_mem_bases);
29int kgd_gfx_v9_set_pasid_vmid_mapping(struct kgd_dev *kgd, u32 pasid,
30 unsigned int vmid);
31int kgd_gfx_v9_init_interrupts(struct kgd_dev *kgd, uint32_t pipe_id);
32int kgd_gfx_v9_hqd_load(struct kgd_dev *kgd, void *mqd, uint32_t pipe_id,
33 uint32_t queue_id, uint32_t __user *wptr,
34 uint32_t wptr_shift, uint32_t wptr_mask,
35 struct mm_struct *mm);
36int kgd_gfx_v9_hiq_mqd_load(struct kgd_dev *kgd, void *mqd,
37 uint32_t pipe_id, uint32_t queue_id,
38 uint32_t doorbell_off);
39int kgd_gfx_v9_hqd_dump(struct kgd_dev *kgd,
40 uint32_t pipe_id, uint32_t queue_id,
41 uint32_t (**dump)[2], uint32_t *n_regs);
42bool kgd_gfx_v9_hqd_is_occupied(struct kgd_dev *kgd, uint64_t queue_address,
43 uint32_t pipe_id, uint32_t queue_id);
44int kgd_gfx_v9_hqd_destroy(struct kgd_dev *kgd, void *mqd,
45 enum kfd_preempt_type reset_type,
46 unsigned int utimeout, uint32_t pipe_id,
47 uint32_t queue_id);
48int kgd_gfx_v9_address_watch_disable(struct kgd_dev *kgd);
49int kgd_gfx_v9_address_watch_execute(struct kgd_dev *kgd,
50 unsigned int watch_point_id,
51 uint32_t cntl_val,
52 uint32_t addr_hi,
53 uint32_t addr_lo);
54int kgd_gfx_v9_wave_control_execute(struct kgd_dev *kgd,
55 uint32_t gfx_index_val,
56 uint32_t sq_cmd);
57uint32_t kgd_gfx_v9_address_watch_get_offset(struct kgd_dev *kgd,
58 unsigned int watch_point_id,
59 unsigned int reg_offset);
60
61bool kgd_gfx_v9_get_atc_vmid_pasid_mapping_info(struct kgd_dev *kgd,
62 uint8_t vmid, uint16_t *p_pasid);
63
64void kgd_gfx_v9_set_vm_context_page_table_base(struct kgd_dev *kgd,
65 uint32_t vmid, uint64_t page_table_base);
66void kgd_gfx_v9_get_cu_occupancy(struct kgd_dev *kgd, int pasid,
67 int *pasid_wave_cnt, int *max_waves_per_cu);
68void kgd_gfx_v9_program_trap_handler_settings(struct kgd_dev *kgd,
69 uint32_t vmid, uint64_t tba_addr, uint64_t tma_addr);
70