drm/damdgpu:add new mqd member in ring
introduce a new mqd member in ring is for later usage. we need keep a clean version of MQD for the purpose of recovering compute rings from hang. Signed-off-by: Monk Liu <Monk.Liu@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
@@ -161,6 +161,8 @@ struct amdgpu_ring {
|
|||||||
u32 pipe;
|
u32 pipe;
|
||||||
u32 queue;
|
u32 queue;
|
||||||
struct amdgpu_bo *mqd_obj;
|
struct amdgpu_bo *mqd_obj;
|
||||||
|
uint64_t mqd_gpu_addr;
|
||||||
|
struct vi_mqd *mqd_ptr;
|
||||||
u32 doorbell_index;
|
u32 doorbell_index;
|
||||||
bool use_doorbell;
|
bool use_doorbell;
|
||||||
unsigned wptr_offs;
|
unsigned wptr_offs;
|
||||||
|
|||||||
@@ -4596,6 +4596,8 @@ static void gfx_v8_0_cp_compute_fini(struct amdgpu_device *adev)
|
|||||||
|
|
||||||
amdgpu_bo_unref(&ring->mqd_obj);
|
amdgpu_bo_unref(&ring->mqd_obj);
|
||||||
ring->mqd_obj = NULL;
|
ring->mqd_obj = NULL;
|
||||||
|
ring->mqd_ptr = NULL;
|
||||||
|
ring->mqd_gpu_addr = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user