aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
index d1a695864793..367f331b4a54 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
@@ -578,6 +578,11 @@ static int amdgpu_pci_probe(struct pci_dev *pdev,
578 struct drm_device *dev; 578 struct drm_device *dev;
579 unsigned long flags = ent->driver_data; 579 unsigned long flags = ent->driver_data;
580 int ret, retry = 0; 580 int ret, retry = 0;
581 bool supports_atomic = false;
582
583 if (!amdgpu_virtual_display &&
584 amdgpu_device_asic_has_dc_support(flags & AMD_ASIC_MASK))
585 supports_atomic = true;
581 586
582 if ((flags & AMD_EXP_HW_SUPPORT) && !amdgpu_exp_hw_support) { 587 if ((flags & AMD_EXP_HW_SUPPORT) && !amdgpu_exp_hw_support) {
583 DRM_INFO("This hardware requires experimental hardware support.\n" 588 DRM_INFO("This hardware requires experimental hardware support.\n"
@@ -598,6 +603,13 @@ static int amdgpu_pci_probe(struct pci_dev *pdev,
598 if (ret) 603 if (ret)
599 return ret; 604 return ret;
600 605
606 /* warn the user if they mix atomic and non-atomic capable GPUs */
607 if ((kms_driver.driver_features & DRIVER_ATOMIC) && !supports_atomic)
608 DRM_ERROR("Mixing atomic and non-atomic capable GPUs!\n");
609 /* support atomic early so the atomic debugfs stuff gets created */
610 if (supports_atomic)
611 kms_driver.driver_features |= DRIVER_ATOMIC;
612
601 dev = drm_dev_alloc(&kms_driver, &pdev->dev); 613 dev = drm_dev_alloc(&kms_driver, &pdev->dev);
602 if (IS_ERR(dev)) 614 if (IS_ERR(dev))
603 return PTR_ERR(dev); 615 return PTR_ERR(dev);