mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-18 18:43:59 +08:00
drm/amdgpu/mes: add definitions of ip callback function
Abstract mes ip independent function layer. Acked-by: Hawking Zhang <Hawking.Zhang@amd.com> Signed-off-by: Jack Xiao <Jack.Xiao@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
a538bbe7a8
commit
7bbc36765c
@ -24,8 +24,62 @@
|
||||
#ifndef __AMDGPU_MES_H__
|
||||
#define __AMDGPU_MES_H__
|
||||
|
||||
struct amdgpu_mes {
|
||||
struct amdgpu_mes_funcs;
|
||||
|
||||
struct amdgpu_mes {
|
||||
struct amdgpu_adev *adev;
|
||||
|
||||
/* ip specific functions */
|
||||
struct amdgpu_mes_funcs *funcs;
|
||||
};
|
||||
|
||||
struct mes_add_queue_input {
|
||||
uint32_t process_id;
|
||||
uint64_t page_table_base_addr;
|
||||
uint64_t process_va_start;
|
||||
uint64_t process_va_end;
|
||||
uint64_t process_quantum;
|
||||
uint64_t process_context_addr;
|
||||
uint64_t gang_quantum;
|
||||
uint64_t gang_context_addr;
|
||||
uint32_t inprocess_gang_priority;
|
||||
uint32_t gang_global_priority_level;
|
||||
uint32_t doorbell_offset;
|
||||
uint64_t mqd_addr;
|
||||
uint64_t wptr_addr;
|
||||
uint32_t queue_type;
|
||||
uint32_t paging;
|
||||
};
|
||||
|
||||
struct mes_remove_queue_input {
|
||||
uint32_t doorbell_offset;
|
||||
uint64_t gang_context_addr;
|
||||
};
|
||||
|
||||
struct mes_suspend_gang_input {
|
||||
bool suspend_all_gangs;
|
||||
uint64_t gang_context_addr;
|
||||
uint64_t suspend_fence_addr;
|
||||
uint32_t suspend_fence_value;
|
||||
};
|
||||
|
||||
struct mes_resume_gang_input {
|
||||
bool resume_all_gangs;
|
||||
uint64_t gang_context_addr;
|
||||
};
|
||||
|
||||
struct amdgpu_mes_funcs {
|
||||
int (*add_hw_queue)(struct amdgpu_mes *mes,
|
||||
struct mes_add_queue_input *input);
|
||||
|
||||
int (*remove_hw_queue)(struct amdgpu_mes *mes,
|
||||
struct mes_remove_queue_input *input);
|
||||
|
||||
int (*suspend_gang)(struct amdgpu_mes *mes,
|
||||
struct mes_suspend_gang_input *input);
|
||||
|
||||
int (*resume_gang)(struct amdgpu_mes *mes,
|
||||
struct mes_resume_gang_input *input);
|
||||
};
|
||||
|
||||
#endif /* __AMDGPU_MES_H__ */
|
||||
|
Loading…
Reference in New Issue
Block a user