drm/amdgpu/psp: Add support for MP0 13.0.8
authorPrike Liang <Prike.Liang@amd.com>
Thu, 23 Dec 2021 01:52:34 +0000 (09:52 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 16 Feb 2022 22:30:03 +0000 (17:30 -0500)
Set psp sw funcs callback and firmware loading for MP0.

Signed-off-by: Prike Liang <Prike.Liang@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
drivers/gpu/drm/amd/amdgpu/psp_v13_0.c

index 5a7ee33..30fb2f6 100644 (file)
@@ -1295,6 +1295,7 @@ static int amdgpu_discovery_set_psp_ip_blocks(struct amdgpu_device *adev)
        case IP_VERSION(13, 0, 1):
        case IP_VERSION(13, 0, 2):
        case IP_VERSION(13, 0, 3):
+       case IP_VERSION(13, 0, 8):
                amdgpu_device_ip_block_add(adev, &psp_v13_0_ip_block);
                break;
        default:
index f280695..ecbdbe3 100644 (file)
@@ -133,6 +133,7 @@ static int psp_early_init(void *handle)
                break;
        case IP_VERSION(13, 0, 1):
        case IP_VERSION(13, 0, 3):
+       case IP_VERSION(13, 0, 8):
                psp_v13_0_set_psp_funcs(psp);
                psp->autoload_supported = true;
                break;
index 17655bc..1716084 100644 (file)
@@ -34,6 +34,9 @@ MODULE_FIRMWARE("amdgpu/aldebaran_ta.bin");
 MODULE_FIRMWARE("amdgpu/yellow_carp_asd.bin");
 MODULE_FIRMWARE("amdgpu/yellow_carp_toc.bin");
 MODULE_FIRMWARE("amdgpu/yellow_carp_ta.bin");
+MODULE_FIRMWARE("amdgpu/psp_13_0_8_asd.bin");
+MODULE_FIRMWARE("amdgpu/psp_13_0_8_toc.bin");
+MODULE_FIRMWARE("amdgpu/psp_13_0_8_ta.bin");
 
 /* For large FW files the time to complete can be very long */
 #define USBC_PD_POLLING_LIMIT_S 240
@@ -55,6 +58,9 @@ static int psp_v13_0_init_microcode(struct psp_context *psp)
        case IP_VERSION(13, 0, 3):
                chip_name = "yellow_carp";
                break;
+       case IP_VERSION(13, 0, 8):
+               chip_name = "psp_13_0_8";
+               break;
        default:
                BUG();
        }
@@ -69,6 +75,7 @@ static int psp_v13_0_init_microcode(struct psp_context *psp)
                break;
        case IP_VERSION(13, 0, 1):
        case IP_VERSION(13, 0, 3):
+       case IP_VERSION(13, 0, 8):
                err = psp_init_asd_microcode(psp, chip_name);
                if (err)
                        return err;