diff options
author | Lukas Wunner <lukas@wunner.de> | 2017-03-10 15:23:45 -0500 |
---|---|---|
committer | Lukas Wunner <lukas@wunner.de> | 2017-03-30 16:42:30 -0400 |
commit | 84c8b22e9fe8d9a7f2ab3d561a6b4576540f5a31 (patch) | |
tree | 53ead813505c6efe3ea29d23f9ca356f64eaf3b9 /drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | |
parent | 7ffb0ce31cf90c21dfa496c19c2c795534b12e76 (diff) |
drm/amdgpu: Don't register Thunderbolt eGPU with vga_switcheroo
An external Thunderbolt GPU can neither drive the laptop's panel nor be
powered off by the platform, so there's no point in registering it with
vga_switcheroo. In fact, when the external GPU is runtime suspended,
vga_switcheroo will cut power to the internal discrete GPU, resulting in
a lockup. Moreover AMD's Windows driver special-cases Thunderbolt as
well.
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Lukas Wunner <lukas@wunner.de>
Link: http://patchwork.freedesktop.org/patch/msgid/701a8e89ce8ac39734736ab779558b6a4042a19e.1489145162.git.lukas@wunner.de
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c index 61d94c745672..2f3b236721c9 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | |||
@@ -103,7 +103,8 @@ int amdgpu_driver_load_kms(struct drm_device *dev, unsigned long flags) | |||
103 | amdgpu_has_atpx() && | 103 | amdgpu_has_atpx() && |
104 | (amdgpu_is_atpx_hybrid() || | 104 | (amdgpu_is_atpx_hybrid() || |
105 | amdgpu_has_atpx_dgpu_power_cntl()) && | 105 | amdgpu_has_atpx_dgpu_power_cntl()) && |
106 | ((flags & AMD_IS_APU) == 0)) | 106 | ((flags & AMD_IS_APU) == 0) && |
107 | !pci_is_thunderbolt_attached(dev->pdev)) | ||
107 | flags |= AMD_IS_PX; | 108 | flags |= AMD_IS_PX; |
108 | 109 | ||
109 | /* amdgpu_device_init should report only fatal error | 110 | /* amdgpu_device_init should report only fatal error |