This is necessary if we want to make use of the filter CAM.

Signed-off-by: Timur Kristóf <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c 
b/drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c
index 7bbf5f848ce1b..90568d8ea0cf6 100644
--- a/drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c
@@ -99,6 +99,7 @@ static int gmc_v12_0_process_interrupt(struct amdgpu_device 
*adev,
        bool write_fault = !!(entry->src_data[1] &
                              AMDGPU_GMC9_FAULT_SOURCE_DATA_WRITE);
        uint32_t status = 0;
+       uint32_t cam_index;
        u64 addr;
 
        addr = (u64)entry->src_data[0] << 12;
@@ -110,7 +111,9 @@ static int gmc_v12_0_process_interrupt(struct amdgpu_device 
*adev,
                hub = &adev->vmhub[AMDGPU_GFXHUB(0)];
 
        if (retry_fault) {
-               int ret = amdgpu_gmc_handle_retry_fault(adev, entry, addr, 0, 0,
+               cam_index = entry->src_data[2] & 0x3ff;
+
+               int ret = amdgpu_gmc_handle_retry_fault(adev, entry, addr, 
cam_index, 0,
                                                        write_fault);
                /* Returning 1 here also prevents sending the IV to the KFD */
                if (ret == 1)
-- 
2.53.0

Reply via email to