drm/amd/display: Add dmcu f/w loading for NV12
authorRoman Li <roman.li@amd.com>
Wed, 5 Feb 2020 14:39:41 +0000 (09:39 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 25 Feb 2020 16:03:32 +0000 (11:03 -0500)
[Why]
We need DMCU for features like PSR and ABM.

[How]
Add path to dmcu firmware binary and load it for Navi12.

Signed-off-by: Roman Li <roman.li@amd.com>
Reviewed-by: Hersen Wu <hersenxs.wu@amd.com>
Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Acked-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index d09fabeee58f130d38c3326dc90c8bf2a5c41276..e768a31441cca45da68847d2abd8b9e042d53a89 100644 (file)
@@ -98,6 +98,9 @@ MODULE_FIRMWARE(FIRMWARE_RENOIR_DMUB);
 #define FIRMWARE_RAVEN_DMCU            "amdgpu/raven_dmcu.bin"
 MODULE_FIRMWARE(FIRMWARE_RAVEN_DMCU);
 
+#define FIRMWARE_NAVI12_DMCU            "amdgpu/navi12_dmcu.bin"
+MODULE_FIRMWARE(FIRMWARE_NAVI12_DMCU);
+
 /* Number of bytes in PSP header for firmware. */
 #define PSP_HEADER_BYTES 0x100
 
@@ -1093,9 +1096,11 @@ static int load_dmcu_fw(struct amdgpu_device *adev)
        case CHIP_VEGA20:
        case CHIP_NAVI10:
        case CHIP_NAVI14:
-       case CHIP_NAVI12:
        case CHIP_RENOIR:
                return 0;
+       case CHIP_NAVI12:
+               fw_name_dmcu = FIRMWARE_NAVI12_DMCU;
+               break;
        case CHIP_RAVEN:
                if (ASICREV_IS_PICASSO(adev->external_rev_id))
                        fw_name_dmcu = FIRMWARE_RAVEN_DMCU;