Skip to content

Commit 8368877

Browse files
amd-yahuilalexdeucher
authored andcommitted
drm/amdkfd: Enable HW_UPDATE_RPTR on GC 9.4.3
GC 9.4.3 uses the hardware to update AQL queues read pointer, so remove CP_HQD_PQ_CONTROL__NO_UPDATE_RPTR_MASK flag from MQD if it's GC 9.4.3, and keep it for other existing gfx9 ASICs. Signed-off-by: Amber Lin <Amber.Lin@amd.com> Acked-by: Felix Kuehling <Felix.Kuehling@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
1 parent 8855818 commit 8368877

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v9.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,7 @@ static void update_mqd(struct mqd_manager *mm, void *mqd,
224224
struct queue_properties *q,
225225
struct mqd_update_info *minfo)
226226
{
227+
struct amdgpu_device *adev = (struct amdgpu_device *)mm->dev->adev;
227228
struct v9_mqd *m;
228229

229230
m = get_mqd(mqd);
@@ -269,10 +270,13 @@ static void update_mqd(struct mqd_manager *mm, void *mqd,
269270
m->cp_hqd_vmid = q->vmid;
270271

271272
if (q->format == KFD_QUEUE_FORMAT_AQL) {
272-
m->cp_hqd_pq_control |= CP_HQD_PQ_CONTROL__NO_UPDATE_RPTR_MASK |
273+
m->cp_hqd_pq_control |=
273274
2 << CP_HQD_PQ_CONTROL__SLOT_BASED_WPTR__SHIFT |
274275
1 << CP_HQD_PQ_CONTROL__QUEUE_FULL_EN__SHIFT |
275276
1 << CP_HQD_PQ_CONTROL__WPP_CLAMP_EN__SHIFT;
277+
if (adev->ip_versions[GC_HWIP][0] != IP_VERSION(9, 4, 3))
278+
m->cp_hqd_pq_control |=
279+
CP_HQD_PQ_CONTROL__NO_UPDATE_RPTR_MASK;
276280
m->cp_hqd_pq_doorbell_control |= 1 <<
277281
CP_HQD_PQ_DOORBELL_CONTROL__DOORBELL_BIF_DROP__SHIFT;
278282
}

0 commit comments

Comments
 (0)