|
@@ -113,7 +113,6 @@ static inline bool radeon_is_atpx_hybrid(void) { return false; }
|
|
|
#endif
|
|
|
|
|
|
#define RADEON_PX_QUIRK_DISABLE_PX (1 << 0)
|
|
|
-#define RADEON_PX_QUIRK_LONG_WAKEUP (1 << 1)
|
|
|
|
|
|
struct radeon_px_quirk {
|
|
|
u32 chip_vendor;
|
|
@@ -136,8 +135,6 @@ static struct radeon_px_quirk radeon_px_quirk_list[] = {
|
|
|
* https://bugzilla.kernel.org/show_bug.cgi?id=51381
|
|
|
*/
|
|
|
{ PCI_VENDOR_ID_ATI, 0x6840, 0x1043, 0x2122, RADEON_PX_QUIRK_DISABLE_PX },
|
|
|
- /* macbook pro 8.2 */
|
|
|
- { PCI_VENDOR_ID_ATI, 0x6741, PCI_VENDOR_ID_APPLE, 0x00e2, RADEON_PX_QUIRK_LONG_WAKEUP },
|
|
|
{ 0, 0, 0, 0, 0 },
|
|
|
};
|
|
|
|
|
@@ -1241,25 +1238,17 @@ static void radeon_check_arguments(struct radeon_device *rdev)
|
|
|
static void radeon_switcheroo_set_state(struct pci_dev *pdev, enum vga_switcheroo_state state)
|
|
|
{
|
|
|
struct drm_device *dev = pci_get_drvdata(pdev);
|
|
|
- struct radeon_device *rdev = dev->dev_private;
|
|
|
|
|
|
if (radeon_is_px(dev) && state == VGA_SWITCHEROO_OFF)
|
|
|
return;
|
|
|
|
|
|
if (state == VGA_SWITCHEROO_ON) {
|
|
|
- unsigned d3_delay = dev->pdev->d3_delay;
|
|
|
-
|
|
|
pr_info("radeon: switched on\n");
|
|
|
/* don't suspend or resume card normally */
|
|
|
dev->switch_power_state = DRM_SWITCH_POWER_CHANGING;
|
|
|
|
|
|
- if (d3_delay < 20 && (rdev->px_quirk_flags & RADEON_PX_QUIRK_LONG_WAKEUP))
|
|
|
- dev->pdev->d3_delay = 20;
|
|
|
-
|
|
|
radeon_resume_kms(dev, true, true);
|
|
|
|
|
|
- dev->pdev->d3_delay = d3_delay;
|
|
|
-
|
|
|
dev->switch_power_state = DRM_SWITCH_POWER_ON;
|
|
|
drm_kms_helper_poll_enable(dev);
|
|
|
} else {
|