]> Git Repo - linux.git/blobdiff - drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
Merge branch 'rework/printk_safe-removal' into for-linus
[linux.git] / drivers / gpu / drm / amd / amdgpu / amdgpu_device.c
index 130a9adf09ef9cea548bb01d674afe2f7177dd9c..d303e88e3c236d526b11344eb6addcd671c86588 100644 (file)
@@ -1369,6 +1369,38 @@ def_value:
        adev->pm.smu_prv_buffer_size = 0;
 }
 
+static int amdgpu_device_init_apu_flags(struct amdgpu_device *adev)
+{
+       if (!(adev->flags & AMD_IS_APU) ||
+           adev->asic_type < CHIP_RAVEN)
+               return 0;
+
+       switch (adev->asic_type) {
+       case CHIP_RAVEN:
+               if (adev->pdev->device == 0x15dd)
+                       adev->apu_flags |= AMD_APU_IS_RAVEN;
+               if (adev->pdev->device == 0x15d8)
+                       adev->apu_flags |= AMD_APU_IS_PICASSO;
+               break;
+       case CHIP_RENOIR:
+               if ((adev->pdev->device == 0x1636) ||
+                   (adev->pdev->device == 0x164c))
+                       adev->apu_flags |= AMD_APU_IS_RENOIR;
+               else
+                       adev->apu_flags |= AMD_APU_IS_GREEN_SARDINE;
+               break;
+       case CHIP_VANGOGH:
+               adev->apu_flags |= AMD_APU_IS_VANGOGH;
+               break;
+       case CHIP_YELLOW_CARP:
+               break;
+       default:
+               return -EINVAL;
+       }
+
+       return 0;
+}
+
 /**
  * amdgpu_device_check_arguments - validate module params
  *
@@ -3386,6 +3418,10 @@ int amdgpu_device_init(struct amdgpu_device *adev,
        mutex_init(&adev->psp.mutex);
        mutex_init(&adev->notifier_lock);
 
+       r = amdgpu_device_init_apu_flags(adev);
+       if (r)
+               return r;
+
        r = amdgpu_device_check_arguments(adev);
        if (r)
                return r;
@@ -4304,6 +4340,7 @@ bool amdgpu_device_should_recover_gpu(struct amdgpu_device *adev)
                case CHIP_SIENNA_CICHLID:
                case CHIP_NAVY_FLOUNDER:
                case CHIP_DIMGREY_CAVEFISH:
+               case CHIP_BEIGE_GOBY:
                case CHIP_VANGOGH:
                case CHIP_ALDEBARAN:
                        break;
This page took 0.03574 seconds and 4 git commands to generate.