drm/amd/amdgpu: L1 Policy(3/5) - removed ECC interrupt from VF
authorZhigang Luo <zhigang.luo@amd.com>
Tue, 10 Dec 2019 15:16:31 +0000 (10:16 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 7 Jan 2020 17:00:40 +0000 (12:00 -0500)
Signed-off-by: Zhigang Luo <zhigang.luo@amd.com>
Signed-off-by: Jane Jian <jane.jian@amd.com>
Reviewed-by: Emily Deng <Emily.Deng@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c

index 2f4a013..e91e260 100644 (file)
@@ -398,8 +398,10 @@ static void gmc_v9_0_set_irq_funcs(struct amdgpu_device *adev)
        adev->gmc.vm_fault.num_types = 1;
        adev->gmc.vm_fault.funcs = &gmc_v9_0_irq_funcs;
 
-       adev->gmc.ecc_irq.num_types = 1;
-       adev->gmc.ecc_irq.funcs = &gmc_v9_0_ecc_funcs;
+       if (!amdgpu_sriov_vf(adev)) {
+               adev->gmc.ecc_irq.num_types = 1;
+               adev->gmc.ecc_irq.funcs = &gmc_v9_0_ecc_funcs;
+       }
 }
 
 static uint32_t gmc_v9_0_get_invalidate_req(unsigned int vmid,
@@ -1117,11 +1119,13 @@ static int gmc_v9_0_sw_init(void *handle)
        if (r)
                return r;
 
-       /* interrupt sent to DF. */
-       r = amdgpu_irq_add_id(adev, SOC15_IH_CLIENTID_DF, 0,
-                       &adev->gmc.ecc_irq);
-       if (r)
-               return r;
+       if (!amdgpu_sriov_vf(adev)) {
+               /* interrupt sent to DF. */
+               r = amdgpu_irq_add_id(adev, SOC15_IH_CLIENTID_DF, 0,
+                                     &adev->gmc.ecc_irq);
+               if (r)
+                       return r;
+       }
 
        /* Set the internal MC address mask
         * This is the max address of the GPU's