]> git.dujemihanovic.xyz Git - linux.git/commitdiff
drm/amdkfd: Add SDMA queue quantum support for GFX12
authorSreekant Somasekharan <sreekant.somasekharan@amd.com>
Fri, 20 Sep 2024 05:53:17 +0000 (01:53 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 25 Sep 2024 16:56:46 +0000 (12:56 -0400)
program SDMAx_QUEUEx_SCHEDULE_CNTL for context switch due to
quantum in KFD for GFX12.

Signed-off-by: Sreekant Somasekharan <sreekant.somasekharan@amd.com>
Reviewed-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org # 6.11.x
drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v12.c

index d163d92a692f67b272285ea38a62e04dcb1a3a3e..2b72d5b4949b6cd6b2c0489034a6e4f4def943c2 100644 (file)
@@ -341,6 +341,10 @@ static void update_mqd_sdma(struct mqd_manager *mm, void *mqd,
        m->sdmax_rlcx_doorbell_offset =
                q->doorbell_off << SDMA0_QUEUE0_DOORBELL_OFFSET__OFFSET__SHIFT;
 
+       m->sdmax_rlcx_sched_cntl = (amdgpu_sdma_phase_quantum
+               << SDMA0_QUEUE0_SCHEDULE_CNTL__CONTEXT_QUANTUM__SHIFT)
+                & SDMA0_QUEUE0_SCHEDULE_CNTL__CONTEXT_QUANTUM_MASK;
+
        m->sdma_engine_id = q->sdma_engine_id;
        m->sdma_queue_id = q->sdma_queue_id;