mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/
synced 2026-04-21 08:03:45 -04:00
drm/amdgpu: Add struct kiq_pm4_funcs into kiq struct
kiq can support 4 pm4 scheduler packets set_resource, map_queues, unmap_queues, query_status. Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com> Signed-off-by: Rex Zhu <Rex.Zhu@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
@@ -55,12 +55,32 @@ struct amdgpu_mec {
|
||||
DECLARE_BITMAP(queue_bitmap, AMDGPU_MAX_COMPUTE_QUEUES);
|
||||
};
|
||||
|
||||
struct kiq_pm4_funcs {
|
||||
/* Support ASIC-specific kiq pm4 packets*/
|
||||
void (*kiq_set_resources)(struct amdgpu_ring *kiq_ring,
|
||||
uint64_t queue_mask);
|
||||
void (*kiq_map_queues)(struct amdgpu_ring *kiq_ring,
|
||||
struct amdgpu_ring *ring);
|
||||
void (*kiq_unmap_queues)(struct amdgpu_ring *kiq_ring,
|
||||
struct amdgpu_ring *ring, bool reset);
|
||||
void (*kiq_query_status)(struct amdgpu_ring *kiq_ring,
|
||||
struct amdgpu_ring *ring,
|
||||
u64 addr,
|
||||
u64 seq);
|
||||
/* Packet sizes */
|
||||
int set_resources_size;
|
||||
int map_queues_size;
|
||||
int unmap_queues_size;
|
||||
int query_status_size;
|
||||
};
|
||||
|
||||
struct amdgpu_kiq {
|
||||
u64 eop_gpu_addr;
|
||||
struct amdgpu_bo *eop_obj;
|
||||
spinlock_t ring_lock;
|
||||
struct amdgpu_ring ring;
|
||||
struct amdgpu_irq_src irq;
|
||||
const struct kiq_pm4_funcs *pmf;
|
||||
};
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user