mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 14:53:58 -04:00
drm/amdgpu: Add software ring callbacks for gfx9 (v8)
Set ring functions with software ring callbacks on gfx9. The software ring could be tested by debugfs_test_ib case. v2: Set sw_ring 2 to enable software ring by default. v3: Remove the parameter for software ring enablement. v4: Use amdgpu_ring_init/fini for software rings. v5: Update for code format. Fix conflict. v6: Remove unnecessary checks and enable software ring on gfx9 by default. v7: Use static array for software ring names and priorities. v8: Stop creating software rings if no gfx ring existed. Cc: Christian Koenig <Christian.Koenig@amd.com> Cc: Luben Tuikov <Luben.Tuikov@amd.com> Cc: Andrey Grodzovsky <Andrey.Grodzovsky@amd.com> Cc: Michel Dänzer <michel@daenzer.net> Cc: Likun Gao <Likun.Gao@amd.com> Signed-off-by: Jiadong.Zhu <Jiadong.Zhu@amd.com> Acked-by: Luben Tuikov <luben.tuikov@amd.com> Acked-by: Huang Rui <ray.huang@amd.com> Acked-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
committed by
Alex Deucher
parent
ded946f3f6
commit
0c97a19aa9
@@ -29,6 +29,14 @@
|
||||
|
||||
#define AMDGPU_MUX_RESUBMIT_JIFFIES_TIMEOUT (HZ / 2)
|
||||
|
||||
static const struct ring_info {
|
||||
unsigned int hw_pio;
|
||||
const char *ring_name;
|
||||
} sw_ring_info[] = {
|
||||
{ AMDGPU_RING_PRIO_DEFAULT, "gfx_low"},
|
||||
{ AMDGPU_RING_PRIO_2, "gfx_high"},
|
||||
};
|
||||
|
||||
int amdgpu_ring_mux_init(struct amdgpu_ring_mux *mux, struct amdgpu_ring *ring,
|
||||
unsigned int entry_size)
|
||||
{
|
||||
@@ -219,3 +227,15 @@ void amdgpu_sw_ring_insert_nop(struct amdgpu_ring *ring, uint32_t count)
|
||||
{
|
||||
WARN_ON(!ring->is_sw_ring);
|
||||
}
|
||||
|
||||
const char *amdgpu_sw_ring_name(int idx)
|
||||
{
|
||||
return idx < ARRAY_SIZE(sw_ring_info) ?
|
||||
sw_ring_info[idx].ring_name : NULL;
|
||||
}
|
||||
|
||||
unsigned int amdgpu_sw_ring_priority(int idx)
|
||||
{
|
||||
return idx < ARRAY_SIZE(sw_ring_info) ?
|
||||
sw_ring_info[idx].hw_pio : AMDGPU_RING_PRIO_DEFAULT;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user