drm amdgpu: SI UVD add firmwares
authorSonny Jiang <sonny.jiang@amd.com>
Wed, 10 Jun 2020 17:37:49 +0000 (13:37 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 1 Jul 2020 05:59:24 +0000 (01:59 -0400)
For implement UVD on SI asic, add Oland, Pitcairn, Verde, Tahiti firmwares.

Signed-off-by: Sonny Jiang <sonny.jiang@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_uvd.c

index 5100ebe..f8bebf1 100644 (file)
 #define FW_1_66_16     ((1 << 24) | (66 << 16) | (16 << 8))
 
 /* Firmware Names */
+#ifdef CONFIG_DRM_AMDGPU_SI
+#define FIRMWARE_TAHITI                "amdgpu/tahiti_uvd.bin"
+#define FIRMWARE_VERDE         "amdgpu/verde_uvd.bin"
+#define FIRMWARE_PITCAIRN      "amdgpu/pitcairn_uvd.bin"
+#define FIRMWARE_OLAND         "amdgpu/oland_uvd.bin"
+#endif
 #ifdef CONFIG_DRM_AMDGPU_CIK
 #define FIRMWARE_BONAIRE       "amdgpu/bonaire_uvd.bin"
 #define FIRMWARE_KABINI        "amdgpu/kabini_uvd.bin"
@@ -100,6 +106,12 @@ struct amdgpu_uvd_cs_ctx {
        unsigned *buf_sizes;
 };
 
+#ifdef CONFIG_DRM_AMDGPU_SI
+MODULE_FIRMWARE(FIRMWARE_TAHITI);
+MODULE_FIRMWARE(FIRMWARE_VERDE);
+MODULE_FIRMWARE(FIRMWARE_PITCAIRN);
+MODULE_FIRMWARE(FIRMWARE_OLAND);
+#endif
 #ifdef CONFIG_DRM_AMDGPU_CIK
 MODULE_FIRMWARE(FIRMWARE_BONAIRE);
 MODULE_FIRMWARE(FIRMWARE_KABINI);
@@ -133,6 +145,20 @@ int amdgpu_uvd_sw_init(struct amdgpu_device *adev)
        INIT_DELAYED_WORK(&adev->uvd.idle_work, amdgpu_uvd_idle_work_handler);
 
        switch (adev->asic_type) {
+#ifdef CONFIG_DRM_AMDGPU_SI
+       case CHIP_TAHITI:
+               fw_name = FIRMWARE_TAHITI;
+               break;
+       case CHIP_VERDE:
+               fw_name = FIRMWARE_VERDE;
+               break;
+       case CHIP_PITCAIRN:
+               fw_name = FIRMWARE_PITCAIRN;
+               break;
+       case CHIP_OLAND:
+               fw_name = FIRMWARE_OLAND;
+               break;
+#endif
 #ifdef CONFIG_DRM_AMDGPU_CIK
        case CHIP_BONAIRE:
                fw_name = FIRMWARE_BONAIRE;