]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/amdkfd: Enable atomic support for GFX12
authorDavid Belanger <david.belanger@amd.com>
Fri, 1 Mar 2024 23:24:30 +0000 (18:24 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 2 May 2024 20:18:13 +0000 (16:18 -0400)
Enable flag in KFD and set the atomic support bit in MQD.

Signed-off-by: David Belanger <david.belanger@amd.com>
Reviewed-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdkfd/kfd_device.c
drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v12.c

index 7e56885f62880e1c519d678223263ae51828d0e6..6b15e55811b69f928ca30aff42c1018c43e9cedc 100644 (file)
@@ -232,6 +232,8 @@ static void kfd_device_info_init(struct kfd_dev *kfd,
                         */
                        kfd->device_info.needs_pci_atomics = true;
                        kfd->device_info.no_atomic_fw_version = kfd->adev->gfx.rs64_enable ? 509 : 0;
+               } else {
+                       kfd->device_info.needs_pci_atomics = true;
                }
        } else {
                kfd->device_info.doorbell_size = 4;
index aa900b651eb0e4f8371ff262086130deb158b056..b7a08e7a44234b8718eede927976ce0928a673d3 100644 (file)
@@ -135,6 +135,9 @@ static void init_mqd(struct mqd_manager *mm, void **mqd,
         */
        m->cp_hqd_hq_status0 = 1 << 14;
 
+       if (amdgpu_amdkfd_have_atomics_support(mm->dev->adev))
+               m->cp_hqd_hq_status0 |= 1 << 29;
+
        if (q->format == KFD_QUEUE_FORMAT_AQL) {
                m->cp_hqd_aql_control =
                        1 << CP_HQD_AQL_CONTROL__CONTROL0__SHIFT;