kfd_dev
struct kfd_dev *dev;
struct kfd_dev *kgd2kfd_probe(struct amdgpu_device *adev, bool vf);
bool kgd2kfd_device_init(struct kfd_dev *kfd,
void kgd2kfd_device_exit(struct kfd_dev *kfd);
void kgd2kfd_suspend(struct kfd_dev *kfd, bool suspend_proc);
int kgd2kfd_resume(struct kfd_dev *kfd, bool resume_proc);
void kgd2kfd_suspend_process(struct kfd_dev *kfd);
int kgd2kfd_resume_process(struct kfd_dev *kfd);
int kgd2kfd_pre_reset(struct kfd_dev *kfd,
int kgd2kfd_post_reset(struct kfd_dev *kfd);
void kgd2kfd_interrupt(struct kfd_dev *kfd, const void *ih_ring_entry);
void kgd2kfd_set_sram_ecc_flag(struct kfd_dev *kfd);
void kgd2kfd_smi_event_throttle(struct kfd_dev *kfd, uint64_t throttle_bitmask);
int kgd2kfd_check_and_lock_kfd(struct kfd_dev *kfd);
void kgd2kfd_unlock_kfd(struct kfd_dev *kfd);
int kgd2kfd_start_sched(struct kfd_dev *kfd, uint32_t node_id);
int kgd2kfd_start_sched_all_nodes(struct kfd_dev *kfd);
int kgd2kfd_stop_sched(struct kfd_dev *kfd, uint32_t node_id);
int kgd2kfd_stop_sched_all_nodes(struct kfd_dev *kfd);
bool kgd2kfd_compute_active(struct kfd_dev *kfd, uint32_t node_id);
struct kfd_dev *kgd2kfd_probe(struct amdgpu_device *adev, bool vf)
bool kgd2kfd_device_init(struct kfd_dev *kfd,
static inline void kgd2kfd_device_exit(struct kfd_dev *kfd)
static inline void kgd2kfd_suspend(struct kfd_dev *kfd, bool suspend_proc)
static inline int kgd2kfd_resume(struct kfd_dev *kfd, bool resume_proc)
static inline void kgd2kfd_suspend_process(struct kfd_dev *kfd)
static inline int kgd2kfd_resume_process(struct kfd_dev *kfd)
static inline int kgd2kfd_pre_reset(struct kfd_dev *kfd,
static inline int kgd2kfd_post_reset(struct kfd_dev *kfd)
void kgd2kfd_interrupt(struct kfd_dev *kfd, const void *ih_ring_entry)
void kgd2kfd_set_sram_ecc_flag(struct kfd_dev *kfd)
void kgd2kfd_smi_event_throttle(struct kfd_dev *kfd, uint64_t throttle_bitmask)
static inline int kgd2kfd_check_and_lock_kfd(struct kfd_dev *kfd)
static inline void kgd2kfd_unlock_kfd(struct kfd_dev *kfd)
static inline int kgd2kfd_start_sched(struct kfd_dev *kfd, uint32_t node_id)
static inline int kgd2kfd_start_sched_all_nodes(struct kfd_dev *kfd)
static inline int kgd2kfd_stop_sched(struct kfd_dev *kfd, uint32_t node_id)
static inline int kgd2kfd_stop_sched_all_nodes(struct kfd_dev *kfd)
static inline bool kgd2kfd_compute_active(struct kfd_dev *kfd, uint32_t node_id)
static int kfd_fill_gpu_cache_info_from_gfx_config(struct kfd_dev *kdev,
static int kfd_fill_gpu_cache_info_from_gfx_config_v2(struct kfd_dev *kdev,
int kgd2kfd_post_reset(struct kfd_dev *kfd)
bool kfd_is_locked(struct kfd_dev *kfd)
void kgd2kfd_suspend(struct kfd_dev *kfd, bool suspend_proc)
int kgd2kfd_resume(struct kfd_dev *kfd, bool resume_proc)
void kgd2kfd_suspend_process(struct kfd_dev *kfd)
int kgd2kfd_resume_process(struct kfd_dev *kfd)
void kgd2kfd_interrupt(struct kfd_dev *kfd, const void *ih_ring_entry)
static void kfd_device_info_set_event_interrupt_class(struct kfd_dev *kfd)
static int kfd_gtt_sa_init(struct kfd_dev *kfd, unsigned int buf_size,
static void kfd_gtt_sa_fini(struct kfd_dev *kfd)
struct kfd_dev *kfd = node->kfd;
struct kfd_dev *kfd = node->kfd;
void kgd2kfd_set_sram_ecc_flag(struct kfd_dev *kfd)
void kgd2kfd_smi_event_throttle(struct kfd_dev *kfd, uint64_t throttle_bitmask)
int kgd2kfd_check_and_lock_kfd(struct kfd_dev *kfd)
void kgd2kfd_unlock_kfd(struct kfd_dev *kfd)
int kgd2kfd_start_sched(struct kfd_dev *kfd, uint32_t node_id)
int kgd2kfd_start_sched_all_nodes(struct kfd_dev *kfd)
int kgd2kfd_stop_sched(struct kfd_dev *kfd, uint32_t node_id)
int kgd2kfd_stop_sched_all_nodes(struct kfd_dev *kfd)
bool kgd2kfd_compute_active(struct kfd_dev *kfd, uint32_t node_id)
static void kfd_device_info_init(struct kfd_dev *kfd,
struct kfd_dev *kgd2kfd_probe(struct amdgpu_device *adev, bool vf)
struct kfd_dev *kfd = NULL;
static void kfd_cwsr_init(struct kfd_dev *kfd)
struct kfd_dev *kfd = node->kfd;
static int kfd_gtt_sa_init(struct kfd_dev *kfd, unsigned int buf_size,
static void kfd_gtt_sa_fini(struct kfd_dev *kfd);
static void kfd_cleanup_nodes(struct kfd_dev *kfd, unsigned int num_nodes)
static void kfd_device_info_set_sdma_info(struct kfd_dev *kfd)
bool kgd2kfd_device_init(struct kfd_dev *kfd,
void kgd2kfd_device_exit(struct kfd_dev *kfd)
int kgd2kfd_pre_reset(struct kfd_dev *kfd,
void __iomem *kfd_get_kernel_doorbell(struct kfd_dev *kfd,
void kfd_release_kernel_doorbell(struct kfd_dev *kfd, u32 __iomem *db_addr)
struct kfd_dev *dev)
int kfd_alloc_process_doorbells(struct kfd_dev *kfd, struct kfd_process_device *pdd)
void kfd_free_process_doorbells(struct kfd_dev *kfd, struct kfd_process_device *pdd)
size_t kfd_doorbell_process_slice(struct kfd_dev *kfd)
int kfd_doorbell_init(struct kfd_dev *kfd)
void kfd_doorbell_fini(struct kfd_dev *kfd)
static bool context_id_expected(struct kfd_dev *dev)
static inline bool pm_use_ext_eng(struct kfd_dev *dev)
struct kfd_dev *kfd = pm->dqm->dev->kfd;
size_t kfd_doorbell_process_slice(struct kfd_dev *kfd);
int kfd_doorbell_init(struct kfd_dev *kfd);
void kfd_doorbell_fini(struct kfd_dev *kfd);
void __iomem *kfd_get_kernel_doorbell(struct kfd_dev *kfd,
void kfd_release_kernel_doorbell(struct kfd_dev *kfd, u32 __iomem *db_addr);
unsigned int kfd_get_doorbell_dw_offset_in_bar(struct kfd_dev *kfd,
int kfd_alloc_process_doorbells(struct kfd_dev *kfd,
void kfd_free_process_doorbells(struct kfd_dev *kfd,
struct kfd_dev *dev = adev->kfd.dev;
uint64_t kfd_get_number_elems(struct kfd_dev *kfd);
static inline bool kfd_flush_tlb_after_unmap(struct kfd_dev *dev)
bool kfd_is_locked(struct kfd_dev *kfd);
struct kfd_dev;
struct kfd_dev *kfd;
struct kfd_dev;