device_queue_manager
unsigned int get_queues_per_pipe(struct device_queue_manager *dqm)
static int suspend_single_queue(struct device_queue_manager *dqm,
unsigned int get_pipes_per_mec(struct device_queue_manager *dqm)
static int resume_single_queue(struct device_queue_manager *dqm,
static unsigned int get_num_all_sdma_engines(struct device_queue_manager *dqm)
static int evict_process_queues_nocpsch(struct device_queue_manager *dqm,
static int evict_process_queues_cpsch(struct device_queue_manager *dqm,
unsigned int get_num_sdma_queues(struct device_queue_manager *dqm)
unsigned int get_num_xgmi_sdma_queues(struct device_queue_manager *dqm)
static int restore_process_queues_nocpsch(struct device_queue_manager *dqm,
static void init_sdma_bitmaps(struct device_queue_manager *dqm)
static int restore_process_queues_cpsch(struct device_queue_manager *dqm,
static int register_process(struct device_queue_manager *dqm,
static int unregister_process(struct device_queue_manager *dqm,
void program_sh_mem_settings(struct device_queue_manager *dqm,
set_pasid_vmid_mapping(struct device_queue_manager *dqm, u32 pasid,
static void init_interrupts(struct device_queue_manager *dqm)
static int initialize_nocpsch(struct device_queue_manager *dqm)
static void uninitialize(struct device_queue_manager *dqm)
static int start_nocpsch(struct device_queue_manager *dqm)
static int stop_nocpsch(struct device_queue_manager *dqm)
static int allocate_sdma_queue(struct device_queue_manager *dqm,
static void kfd_hws_hang(struct device_queue_manager *dqm)
static void deallocate_sdma_queue(struct device_queue_manager *dqm,
static int set_sched_resources(struct device_queue_manager *dqm)
static int initialize_cpsch(struct device_queue_manager *dqm)
static int halt_cpsch(struct device_queue_manager *dqm)
static int unhalt_cpsch(struct device_queue_manager *dqm)
static int start_cpsch(struct device_queue_manager *dqm)
static int stop_cpsch(struct device_queue_manager *dqm)
static int create_kernel_queue_cpsch(struct device_queue_manager *dqm,
static void destroy_kernel_queue_cpsch(struct device_queue_manager *dqm,
static int create_queue_cpsch(struct device_queue_manager *dqm, struct queue *q,
static int add_queue_mes(struct device_queue_manager *dqm, struct queue *q,
int amdkfd_fence_wait_timeout(struct device_queue_manager *dqm,
static int map_queues_cpsch(struct device_queue_manager *dqm)
static void set_queue_as_reset(struct device_queue_manager *dqm, struct queue *q,
static int detect_queue_hang(struct device_queue_manager *dqm)
static struct queue *find_queue_by_address(struct device_queue_manager *dqm, uint64_t queue_address)
static int reset_hung_queues(struct device_queue_manager *dqm)
static bool sdma_has_hang(struct device_queue_manager *dqm)
static bool set_sdma_queue_as_reset(struct device_queue_manager *dqm,
static int reset_hung_queues_sdma(struct device_queue_manager *dqm)
static int reset_queues_on_hws_hang(struct device_queue_manager *dqm, bool is_sdma)
static int unmap_queues_cpsch(struct device_queue_manager *dqm,
static int reset_queues_cpsch(struct device_queue_manager *dqm, uint16_t pasid)
static int execute_queues_cpsch(struct device_queue_manager *dqm,
static int wait_on_destroy_queue(struct device_queue_manager *dqm,
static int destroy_queue_cpsch(struct device_queue_manager *dqm,
static bool set_cache_memory_policy(struct device_queue_manager *dqm,
static int process_termination_nocpsch(struct device_queue_manager *dqm,
static int get_wave_state(struct device_queue_manager *dqm,
static int remove_queue_mes(struct device_queue_manager *dqm, struct queue *q,
static void get_queue_checkpoint_info(struct device_queue_manager *dqm,
static int checkpoint_mqd(struct device_queue_manager *dqm,
static int process_termination_cpsch(struct device_queue_manager *dqm,
static int init_mqd_managers(struct device_queue_manager *dqm)
static int allocate_hiq_sdma_mqd(struct device_queue_manager *dqm)
struct device_queue_manager *device_queue_manager_init(struct kfd_node *dev)
struct device_queue_manager *dqm;
static int remove_all_kfd_queues_mes(struct device_queue_manager *dqm)
void device_queue_manager_uninit(struct device_queue_manager *dqm)
struct device_queue_manager *dqm = knode->dqm;
struct device_queue_manager *dqm;
int reserve_debug_trap_vmid(struct device_queue_manager *dqm,
int release_debug_trap_vmid(struct device_queue_manager *dqm,
struct device_queue_manager *dqm = pdd->dev->dqm;
static int add_all_kfd_queues_mes(struct device_queue_manager *dqm)
struct device_queue_manager *dqm = pdd->dev->dqm;
struct device_queue_manager *dqm = pdd->dev->dqm;
int debug_lock_and_unmap(struct device_queue_manager *dqm)
static int suspend_all_queues_mes(struct device_queue_manager *dqm)
int debug_map_and_unlock(struct device_queue_manager *dqm)
int debug_refresh_runlist(struct device_queue_manager *dqm)
bool kfd_dqm_is_queue_in_process(struct device_queue_manager *dqm,
struct device_queue_manager *dqm = data;
int dqm_debugfs_hang_hws(struct device_queue_manager *dqm)
static int resume_all_queues_mes(struct device_queue_manager *dqm)
static void increment_queue_count(struct device_queue_manager *dqm,
static void decrement_queue_count(struct device_queue_manager *dqm,
static int set_pasid_vmid_mapping(struct device_queue_manager *dqm,
static void program_trap_handler_settings(struct device_queue_manager *dqm,
static int execute_queues_cpsch(struct device_queue_manager *dqm,
static int allocate_vmid(struct device_queue_manager *dqm,
static int unmap_queues_cpsch(struct device_queue_manager *dqm,
static void deallocate_vmid(struct device_queue_manager *dqm,
static int map_queues_cpsch(struct device_queue_manager *dqm);
static int create_queue_nocpsch(struct device_queue_manager *dqm,
static void deallocate_sdma_queue(struct device_queue_manager *dqm,
static inline void deallocate_hqd(struct device_queue_manager *dqm,
static int allocate_hqd(struct device_queue_manager *dqm, struct queue *q);
static int allocate_sdma_queue(struct device_queue_manager *dqm,
static int reset_queues_on_hws_hang(struct device_queue_manager *dqm, bool is_sdma);
static int allocate_hqd(struct device_queue_manager *dqm, struct queue *q)
static inline void deallocate_hqd(struct device_queue_manager *dqm,
static bool is_pipe_enabled(struct device_queue_manager *dqm, int mec, int pipe)
static int destroy_queue_nocpsch_locked(struct device_queue_manager *dqm,
static int destroy_queue_nocpsch(struct device_queue_manager *dqm,
static int update_queue(struct device_queue_manager *dqm, struct queue *q,
unsigned int get_cp_queues_num(struct device_queue_manager *dqm)
int (*create_queue)(struct device_queue_manager *dqm,
int (*destroy_queue)(struct device_queue_manager *dqm,
int (*update_queue)(struct device_queue_manager *dqm,
int (*register_process)(struct device_queue_manager *dqm,
int (*unregister_process)(struct device_queue_manager *dqm,
int (*initialize)(struct device_queue_manager *dqm);
int (*start)(struct device_queue_manager *dqm);
int (*stop)(struct device_queue_manager *dqm);
void (*uninitialize)(struct device_queue_manager *dqm);
int (*halt)(struct device_queue_manager *dqm);
int (*unhalt)(struct device_queue_manager *dqm);
int (*create_kernel_queue)(struct device_queue_manager *dqm,
void (*destroy_kernel_queue)(struct device_queue_manager *dqm,
bool (*set_cache_memory_policy)(struct device_queue_manager *dqm,
int (*process_termination)(struct device_queue_manager *dqm,
int (*evict_process_queues)(struct device_queue_manager *dqm,
int (*restore_process_queues)(struct device_queue_manager *dqm,
int (*get_wave_state)(struct device_queue_manager *dqm,
int (*reset_queues)(struct device_queue_manager *dqm,
void (*get_queue_checkpoint_info)(struct device_queue_manager *dqm,
int (*checkpoint_mqd)(struct device_queue_manager *dqm,
int (*update_qpd)(struct device_queue_manager *dqm,
bool (*set_cache_memory_policy)(struct device_queue_manager *dqm,
void (*init_sdma_vm)(struct device_queue_manager *dqm,
void program_sh_mem_settings(struct device_queue_manager *dqm,
unsigned int get_cp_queues_num(struct device_queue_manager *dqm);
unsigned int get_queues_per_pipe(struct device_queue_manager *dqm);
unsigned int get_pipes_per_mec(struct device_queue_manager *dqm);
unsigned int get_num_sdma_queues(struct device_queue_manager *dqm);
unsigned int get_num_xgmi_sdma_queues(struct device_queue_manager *dqm);
int reserve_debug_trap_vmid(struct device_queue_manager *dqm,
int release_debug_trap_vmid(struct device_queue_manager *dqm,
int debug_lock_and_unmap(struct device_queue_manager *dqm);
int debug_map_and_unlock(struct device_queue_manager *dqm);
int debug_refresh_runlist(struct device_queue_manager *dqm);
bool kfd_dqm_is_queue_in_process(struct device_queue_manager *dqm,
static inline void dqm_lock(struct device_queue_manager *dqm)
static inline void dqm_unlock(struct device_queue_manager *dqm)
static inline void update_dqm_wait_times(struct device_queue_manager *dqm)
static int update_qpd_cik(struct device_queue_manager *dqm,
static void init_sdma_vm(struct device_queue_manager *dqm,
static bool set_cache_memory_policy_cik(struct device_queue_manager *dqm,
static int update_qpd_cik(struct device_queue_manager *dqm,
static void init_sdma_vm(struct device_queue_manager *dqm,
static bool set_cache_memory_policy_cik(struct device_queue_manager *dqm,
static int update_qpd_v10(struct device_queue_manager *dqm,
static void init_sdma_vm_v10(struct device_queue_manager *dqm, struct queue *q,
static bool set_cache_memory_policy_v10(struct device_queue_manager *dqm,
static bool set_cache_memory_policy_v10(struct device_queue_manager *dqm,
static int update_qpd_v10(struct device_queue_manager *dqm,
static void init_sdma_vm_v10(struct device_queue_manager *dqm, struct queue *q,
static int update_qpd_v11(struct device_queue_manager *dqm,
static void init_sdma_vm_v11(struct device_queue_manager *dqm, struct queue *q,
static bool set_cache_memory_policy_v11(struct device_queue_manager *dqm,
static bool set_cache_memory_policy_v11(struct device_queue_manager *dqm,
static int update_qpd_v11(struct device_queue_manager *dqm,
static void init_sdma_vm_v11(struct device_queue_manager *dqm, struct queue *q,
static int update_qpd_v12(struct device_queue_manager *dqm,
static void init_sdma_vm_v12(struct device_queue_manager *dqm, struct queue *q,
static bool set_cache_memory_policy_v12(struct device_queue_manager *dqm,
static bool set_cache_memory_policy_v12(struct device_queue_manager *dqm,
static int update_qpd_v12(struct device_queue_manager *dqm,
static void init_sdma_vm_v12(struct device_queue_manager *dqm, struct queue *q,
static void init_sdma_vm_v9(struct device_queue_manager *dqm, struct queue *q,
static int update_qpd_v9(struct device_queue_manager *dqm,
static void init_sdma_vm_v9(struct device_queue_manager *dqm, struct queue *q,
static bool set_cache_memory_policy_v9(struct device_queue_manager *dqm,
static bool set_cache_memory_policy_v9(struct device_queue_manager *dqm,
static int update_qpd_v9(struct device_queue_manager *dqm,
static int update_qpd_vi(struct device_queue_manager *dqm,
static void init_sdma_vm(struct device_queue_manager *dqm,
static bool set_cache_memory_policy_vi(struct device_queue_manager *dqm,
static int update_qpd_vi(struct device_queue_manager *dqm,
static void init_sdma_vm(struct device_queue_manager *dqm,
static bool set_cache_memory_policy_vi(struct device_queue_manager *dqm,
int pm_init(struct packet_manager *pm, struct device_queue_manager *dqm)
struct device_queue_manager *device_queue_manager_init(struct kfd_node *dev);
void device_queue_manager_uninit(struct device_queue_manager *dqm);
int amdkfd_fence_wait_timeout(struct device_queue_manager *dqm,
struct device_queue_manager *dqm;
int pm_init(struct packet_manager *pm, struct device_queue_manager *dqm);
int dqm_debugfs_hang_hws(struct device_queue_manager *dqm);
struct device_queue_manager *dqm;
struct device_queue_manager *dqm;
struct device_queue_manager *dqm;
struct device_queue_manager *dqm;