drm/amdgpu/psp: set autoload support by default
authorLikun Gao <Likun.Gao@amd.com>
Thu, 26 Oct 2023 09:28:19 +0000 (17:28 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 14 Feb 2024 22:18:06 +0000 (17:18 -0500)
Set psp->autoload_supported to true by default,
as only a few version of ASIC not support autoload,
and the furture version of PSP should support this.

Signed-off-by: Likun Gao <Likun.Gao@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 7e12c7b70418ab1d05c842aa03635ffbc0b60ea1..5e1cd4a46ab5cedcf036dc22788327d05afd1eef 100644 (file)
@@ -163,6 +163,8 @@ static int psp_early_init(void *handle)
        struct amdgpu_device *adev = (struct amdgpu_device *)handle;
        struct psp_context *psp = &adev->psp;
 
+       psp->autoload_supported = true;
+
        switch (amdgpu_ip_version(adev, MP0_HWIP, 0)) {
        case IP_VERSION(9, 0, 0):
                psp_v3_1_set_psp_funcs(psp);
@@ -189,15 +191,16 @@ static int psp_early_init(void *handle)
        case IP_VERSION(11, 0, 12):
        case IP_VERSION(11, 0, 13):
                psp_v11_0_set_psp_funcs(psp);
-               psp->autoload_supported = true;
                break;
        case IP_VERSION(11, 0, 3):
        case IP_VERSION(12, 0, 1):
                psp_v12_0_set_psp_funcs(psp);
+               psp->autoload_supported = false;
                break;
        case IP_VERSION(13, 0, 2):
        case IP_VERSION(13, 0, 6):
                psp_v13_0_set_psp_funcs(psp);
+               psp->autoload_supported = false;
                break;
        case IP_VERSION(13, 0, 1):
        case IP_VERSION(13, 0, 3):
@@ -206,29 +209,25 @@ static int psp_early_init(void *handle)
        case IP_VERSION(13, 0, 11):
        case IP_VERSION(14, 0, 0):
                psp_v13_0_set_psp_funcs(psp);
-               psp->autoload_supported = true;
                break;
        case IP_VERSION(11, 0, 8):
                if (adev->apu_flags & AMD_APU_IS_CYAN_SKILLFISH2) {
                        psp_v11_0_8_set_psp_funcs(psp);
-                       psp->autoload_supported = false;
                }
+               psp->autoload_supported = false;
                break;
        case IP_VERSION(13, 0, 0):
        case IP_VERSION(13, 0, 7):
        case IP_VERSION(13, 0, 10):
                psp_v13_0_set_psp_funcs(psp);
-               psp->autoload_supported = true;
                adev->psp.sup_ifwi_up = !amdgpu_sriov_vf(adev);
                break;
        case IP_VERSION(13, 0, 4):
                psp_v13_0_4_set_psp_funcs(psp);
-               psp->autoload_supported = true;
                break;
        case IP_VERSION(14, 0, 2):
        case IP_VERSION(14, 0, 3):
                psp_v14_0_set_psp_funcs(psp);
-               psp->autoload_supported = true;
                break;
        default:
                return -EINVAL;