drm/amdgpu: Add Aldebaran virtualization support
authorZhigang Luo <zhigang.luo@amd.com>
Thu, 29 Apr 2021 19:37:31 +0000 (15:37 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 10 May 2021 22:06:43 +0000 (18:06 -0400)
1. add Aldebaran in virtualization detection list.
2. disable Aldebaran virtual display support as there is no GFX
   engine in Aldebaran.
3. skip TMR loading if Aldebaran is in virtualizatin mode as it
   shares the one host loaded.

Signed-off-by: Zhigang Luo <zhigang.luo@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_psp.c
drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c

index 623044414bb5f8d7db3cde480cb081efd43bbbc4..17b728d2c1f236695a9139d8d709f9357c0e1df1 100644 (file)
@@ -422,6 +422,7 @@ static bool psp_skip_tmr(struct psp_context *psp)
        switch (psp->adev->asic_type) {
        case CHIP_NAVI12:
        case CHIP_SIENNA_CICHLID:
+       case CHIP_ALDEBARAN:
                return true;
        default:
                return false;
index 0c9c5255aa429742ce61a22d55f6004a9783c650..a57842689d428d411ecf900f9415c9b9e188da02 100644 (file)
@@ -50,9 +50,12 @@ void amdgpu_virt_init_setting(struct amdgpu_device *adev)
        struct drm_device *ddev = adev_to_drm(adev);
 
        /* enable virtual display */
-       if (adev->mode_info.num_crtc == 0)
-               adev->mode_info.num_crtc = 1;
-       adev->enable_virtual_display = true;
+       if (adev->asic_type != CHIP_ALDEBARAN &&
+           adev->asic_type != CHIP_ARCTURUS) {
+               if (adev->mode_info.num_crtc == 0)
+                       adev->mode_info.num_crtc = 1;
+               adev->enable_virtual_display = true;
+       }
        ddev->driver_features &= ~DRIVER_ATOMIC;
        adev->cg_flags = 0;
        adev->pg_flags = 0;
@@ -679,6 +682,7 @@ void amdgpu_detect_virtualization(struct amdgpu_device *adev)
                case CHIP_VEGA10:
                case CHIP_VEGA20:
                case CHIP_ARCTURUS:
+               case CHIP_ALDEBARAN:
                        soc15_set_virt_ops(adev);
                        break;
                case CHIP_NAVI10: