|
@@ -105,7 +105,8 @@ void radeon_driver_postclose_kms(struct drm_device *dev,
|
|
|
struct drm_file *file_priv);
|
|
|
void radeon_driver_preclose_kms(struct drm_device *dev,
|
|
|
struct drm_file *file_priv);
|
|
|
-int radeon_suspend_kms(struct drm_device *dev, bool suspend, bool fbcon);
|
|
|
+int radeon_suspend_kms(struct drm_device *dev, bool suspend,
|
|
|
+ bool fbcon, bool freeze);
|
|
|
int radeon_resume_kms(struct drm_device *dev, bool resume, bool fbcon);
|
|
|
u32 radeon_get_vblank_counter_kms(struct drm_device *dev, unsigned int pipe);
|
|
|
int radeon_enable_vblank_kms(struct drm_device *dev, unsigned int pipe);
|
|
@@ -366,7 +367,7 @@ static int radeon_pmops_suspend(struct device *dev)
|
|
|
{
|
|
|
struct pci_dev *pdev = to_pci_dev(dev);
|
|
|
struct drm_device *drm_dev = pci_get_drvdata(pdev);
|
|
|
- return radeon_suspend_kms(drm_dev, true, true);
|
|
|
+ return radeon_suspend_kms(drm_dev, true, true, false);
|
|
|
}
|
|
|
|
|
|
static int radeon_pmops_resume(struct device *dev)
|
|
@@ -380,7 +381,7 @@ static int radeon_pmops_freeze(struct device *dev)
|
|
|
{
|
|
|
struct pci_dev *pdev = to_pci_dev(dev);
|
|
|
struct drm_device *drm_dev = pci_get_drvdata(pdev);
|
|
|
- return radeon_suspend_kms(drm_dev, false, true);
|
|
|
+ return radeon_suspend_kms(drm_dev, false, true, true);
|
|
|
}
|
|
|
|
|
|
static int radeon_pmops_thaw(struct device *dev)
|
|
@@ -405,7 +406,7 @@ static int radeon_pmops_runtime_suspend(struct device *dev)
|
|
|
drm_kms_helper_poll_disable(drm_dev);
|
|
|
vga_switcheroo_set_dynamic_switch(pdev, VGA_SWITCHEROO_OFF);
|
|
|
|
|
|
- ret = radeon_suspend_kms(drm_dev, false, false);
|
|
|
+ ret = radeon_suspend_kms(drm_dev, false, false, false);
|
|
|
pci_save_state(pdev);
|
|
|
pci_disable_device(pdev);
|
|
|
pci_ignore_hotplug(pdev);
|