|
@@ -103,6 +103,12 @@ static const char radeon_family_name[][16] = {
|
|
|
"LAST",
|
|
|
};
|
|
|
|
|
|
+#if defined(CONFIG_VGA_SWITCHEROO)
|
|
|
+bool radeon_has_atpx_dgpu_power_cntl(void);
|
|
|
+#else
|
|
|
+static inline bool radeon_has_atpx_dgpu_power_cntl(void) { return false; }
|
|
|
+#endif
|
|
|
+
|
|
|
#define RADEON_PX_QUIRK_DISABLE_PX (1 << 0)
|
|
|
#define RADEON_PX_QUIRK_LONG_WAKEUP (1 << 1)
|
|
|
|
|
@@ -1433,7 +1439,7 @@ int radeon_device_init(struct radeon_device *rdev,
|
|
|
* ignore it */
|
|
|
vga_client_register(rdev->pdev, rdev, NULL, radeon_vga_set_decode);
|
|
|
|
|
|
- if (rdev->flags & RADEON_IS_PX)
|
|
|
+ if ((rdev->flags & RADEON_IS_PX) && radeon_has_atpx_dgpu_power_cntl())
|
|
|
runtime = true;
|
|
|
vga_switcheroo_register_client(rdev->pdev, &radeon_switcheroo_ops, runtime);
|
|
|
if (runtime)
|