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_v11_0.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c 
b/drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c
index c40d9c467204..18a53b9df77f 100644
--- a/drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c
@@ -108,13 +108,16 @@ static int gmc_v11_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;
        addr |= ((u64)entry->src_data[1] & 0xf) << 44;
 
        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.54.0

Reply via email to