]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/amdgpu: Add pde3 table invalidation request for GFX 12.1.0
authorPhilip Yang <Philip.Yang@amd.com>
Sun, 30 Mar 2025 15:03:02 +0000 (11:03 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 16 Dec 2025 18:28:06 +0000 (13:28 -0500)
Set pde3 invalidation request bit during tlb flush for up to 5 level
page table.

Signed-off-by: Philip Yang <Philip.Yang@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Felix Kuehling <felix.kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/gfxhub_v12_1.c
drivers/gpu/drm/amd/amdgpu/mmhub_v4_2_0.c

index ab002f327f763f4eccddd6f690c077f58ca36a0b..8f1819d15bc61be881516b60e09ed088b768e3da 100644 (file)
@@ -668,6 +668,8 @@ static uint32_t gfxhub_v12_1_get_invalidate_req(unsigned int vmid,
                            INVALIDATE_L2_PDE1, 1);
        req = REG_SET_FIELD(req, GCVM_INVALIDATE_ENG0_REQ,
                            INVALIDATE_L2_PDE2, 1);
+       req = REG_SET_FIELD(req, GCVM_INVALIDATE_ENG0_REQ,
+                           INVALIDATE_L2_PDE3, 1);
        req = REG_SET_FIELD(req, GCVM_INVALIDATE_ENG0_REQ,
                            INVALIDATE_L1_PTES, 1);
        req = REG_SET_FIELD(req, GCVM_INVALIDATE_ENG0_REQ,
index 75f7df7db5b666614719863d4625a55830e52c13..7e917eb47a8c118cd8588c386ef0b5114f0698d5 100644 (file)
@@ -658,6 +658,7 @@ static uint32_t mmhub_v4_2_0_get_invalidate_req(unsigned int vmid,
        req = REG_SET_FIELD(req, MMVM_INVALIDATE_ENG0_REQ, INVALIDATE_L2_PDE0, 1);
        req = REG_SET_FIELD(req, MMVM_INVALIDATE_ENG0_REQ, INVALIDATE_L2_PDE1, 1);
        req = REG_SET_FIELD(req, MMVM_INVALIDATE_ENG0_REQ, INVALIDATE_L2_PDE2, 1);
+       req = REG_SET_FIELD(req, MMVM_INVALIDATE_ENG0_REQ, INVALIDATE_L2_PDE3, 1);
        req = REG_SET_FIELD(req, MMVM_INVALIDATE_ENG0_REQ, INVALIDATE_L1_PTES, 1);
        req = REG_SET_FIELD(req, MMVM_INVALIDATE_ENG0_REQ,
                            CLEAR_PROTECTION_FAULT_STATUS_ADDR, 0);