drm/amdgpu/SRIOV: Navi12 SRIOV VF doesn't load TOC
authorJiange Zhao <Jiange.Zhao@amd.com>
Thu, 12 Sep 2019 05:18:41 +0000 (13:18 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 16 Sep 2019 15:16:21 +0000 (10:16 -0500)
In SRIOV case, the autoload sequence is the same

as bare metal, except VF won't load TOC.

Signed-off-by: Jiange Zhao <Jiange.Zhao@amd.com>
Reviewed-by: Emily Deng <Emily.Deng@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c

index 799be8d..7d89984 100644 (file)
@@ -253,7 +253,8 @@ static int psp_tmr_init(struct psp_context *psp)
 
        /* For ASICs support RLC autoload, psp will parse the toc
         * and calculate the total size of TMR needed */
-       if (psp->toc_start_addr &&
+       if (!amdgpu_sriov_vf(psp->adev) &&
+           psp->toc_start_addr &&
            psp->toc_bin_size &&
            psp->fw_pri_buf) {
                ret = psp_load_toc(psp, &tmr_size);
@@ -1305,9 +1306,6 @@ int psp_rlc_autoload_start(struct psp_context *psp)
        int ret;
        struct psp_gfx_cmd_resp *cmd;
 
-       if (amdgpu_sriov_vf(psp->adev))
-               return 0;
-
        cmd = kzalloc(sizeof(struct psp_gfx_cmd_resp), GFP_KERNEL);
        if (!cmd)
                return -ENOMEM;