]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/amdgpu: Setup Atomics enable in TCP UTCL0 for GFX 12.1.0
authorMukul Joshi <mukul.joshi@amd.com>
Wed, 26 Feb 2025 20:35:23 +0000 (15:35 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 8 Dec 2025 19:12:58 +0000 (14:12 -0500)
We need to explicitly setup atomics enable in TCP UTCL0 to enable
PCIe atomics to host memory.

Signed-off-by: Mukul Joshi <mukul.joshi@amd.com>
Reviewed-by: Alex Sierra <alex.sierra@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/gfx_v12_1.c

index a16cd26e9a1b0b42bf8fe10990b1078192ac398d..3080aecc83414fb94a0a20e9a59b60640f1e9228 100644 (file)
@@ -2521,6 +2521,12 @@ static void gfx_v12_1_init_golden_registers(struct amdgpu_device *adev)
                                RETRY_FRAGMENT_THRESHOLD_UP_EN, 0x0);
 
        WREG32_SOC15(GC, 0, regTCP_UTCL0_THRASHING_CTRL, val);
+
+       /* Set the TCP UTCL0 register to enable atomics */
+       val = RREG32_SOC15(GC, 0, regTCP_UTCL0_CNTL1);
+       val = REG_SET_FIELD(val, TCP_UTCL0_CNTL1, ATOMIC_REQUESTER_EN, 0x1);
+
+       WREG32_SOC15(GC, 0, regTCP_UTCL0_CNTL1, val);
 }
 
 static int gfx_v12_1_hw_init(struct amdgpu_ip_block *ip_block)