OSDN Git Service

drm/amdgpu: enable xgmi init for sriov use case
authorFrank.Min <Frank.Min@amd.com>
Wed, 18 Dec 2019 11:01:43 +0000 (19:01 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 23 Dec 2019 19:59:37 +0000 (14:59 -0500)
1. enable xgmi ta initialization for sriov
2. enable xgmi initialization for sriov

Signed-off-by: Frank.Min <Frank.Min@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c

index 3e293a3..8469834 100644 (file)
@@ -466,8 +466,6 @@ static int psp_xgmi_load(struct psp_context *psp)
        /*
         * TODO: bypass the loading in sriov for now
         */
-       if (amdgpu_sriov_vf(psp->adev))
-               return 0;
 
        cmd = kzalloc(sizeof(struct psp_gfx_cmd_resp), GFP_KERNEL);
        if (!cmd)
@@ -508,8 +506,6 @@ static int psp_xgmi_unload(struct psp_context *psp)
        /*
         * TODO: bypass the unloading in sriov for now
         */
-       if (amdgpu_sriov_vf(psp->adev))
-               return 0;
 
        cmd = kzalloc(sizeof(struct psp_gfx_cmd_resp), GFP_KERNEL);
        if (!cmd)
@@ -540,11 +536,6 @@ int psp_xgmi_invoke(struct psp_context *psp, uint32_t ta_cmd_id)
        int ret;
        struct psp_gfx_cmd_resp *cmd;
 
-       /*
-        * TODO: bypass the loading in sriov for now
-       */
-       if (amdgpu_sriov_vf(psp->adev))
-               return 0;
 
        cmd = kzalloc(sizeof(struct psp_gfx_cmd_resp), GFP_KERNEL);
        if (!cmd)
@@ -1506,16 +1497,13 @@ static int psp_load_fw(struct amdgpu_device *adev)
        if (!psp->cmd)
                return -ENOMEM;
 
-       /* this fw pri bo is not used under SRIOV */
-       if (!amdgpu_sriov_vf(psp->adev)) {
-               ret = amdgpu_bo_create_kernel(adev, PSP_1_MEG, PSP_1_MEG,
-                                             AMDGPU_GEM_DOMAIN_GTT,
-                                             &psp->fw_pri_bo,
-                                             &psp->fw_pri_mc_addr,
-                                             &psp->fw_pri_buf);
-               if (ret)
-                       goto failed;
-       }
+       ret = amdgpu_bo_create_kernel(adev, PSP_1_MEG, PSP_1_MEG,
+                                       AMDGPU_GEM_DOMAIN_GTT,
+                                       &psp->fw_pri_bo,
+                                       &psp->fw_pri_mc_addr,
+                                       &psp->fw_pri_buf);
+       if (ret)
+               goto failed;
 
        ret = amdgpu_bo_create_kernel(adev, PSP_FENCE_BUFFER_SIZE, PAGE_SIZE,
                                        AMDGPU_GEM_DOMAIN_VRAM,