|
@@ -62,6 +62,12 @@ static const char *amdgpu_asic_name[] = {
|
|
|
"LAST",
|
|
|
};
|
|
|
|
|
|
+#if defined(CONFIG_VGA_SWITCHEROO)
|
|
|
+bool amdgpu_has_atpx_dgpu_power_cntl(void);
|
|
|
+#else
|
|
|
+static inline bool amdgpu_has_atpx_dgpu_power_cntl(void) { return false; }
|
|
|
+#endif
|
|
|
+
|
|
|
bool amdgpu_device_is_px(struct drm_device *dev)
|
|
|
{
|
|
|
struct amdgpu_device *adev = dev->dev_private;
|
|
@@ -1479,7 +1485,7 @@ int amdgpu_device_init(struct amdgpu_device *adev,
|
|
|
|
|
|
if (amdgpu_runtime_pm == 1)
|
|
|
runtime = true;
|
|
|
- if (amdgpu_device_is_px(ddev))
|
|
|
+ if (amdgpu_device_is_px(ddev) && amdgpu_has_atpx_dgpu_power_cntl())
|
|
|
runtime = true;
|
|
|
vga_switcheroo_register_client(adev->pdev, &amdgpu_switcheroo_ops, runtime);
|
|
|
if (runtime)
|