Merge tag 'drm-misc-next-2017-03-31' of git://anongit.freedesktop.org/git/drm-misc...
[sfrench/cifs-2.6.git] / drivers / gpu / drm / radeon / radeon_device.c
index 64b02f3c79065d5137cbbed1ccd58c5f67a815f2..6ecf42783d4b0c45539325edd2e5ffd2fc08e29f 100644 (file)
@@ -1468,7 +1468,9 @@ int radeon_device_init(struct radeon_device *rdev,
 
        if (rdev->flags & RADEON_IS_PX)
                runtime = true;
-       vga_switcheroo_register_client(rdev->pdev, &radeon_switcheroo_ops, runtime);
+       if (!pci_is_thunderbolt_attached(rdev->pdev))
+               vga_switcheroo_register_client(rdev->pdev,
+                                              &radeon_switcheroo_ops, runtime);
        if (runtime)
                vga_switcheroo_init_domain_pm_ops(rdev->dev, &rdev->vga_pm_domain);
 
@@ -1561,7 +1563,8 @@ void radeon_device_fini(struct radeon_device *rdev)
        /* evict vram memory */
        radeon_bo_evict_vram(rdev);
        radeon_fini(rdev);
-       vga_switcheroo_unregister_client(rdev->pdev);
+       if (!pci_is_thunderbolt_attached(rdev->pdev))
+               vga_switcheroo_unregister_client(rdev->pdev);
        if (rdev->flags & RADEON_IS_PX)
                vga_switcheroo_fini_domain_pm_ops(rdev->dev);
        vga_client_register(rdev->pdev, NULL, NULL, NULL);