https://bugzilla.kernel.org/show_bug.cgi?id=95911
--- Comment #21 from Michel Dänzer michel@daenzer.net --- (In reply to Alex Deucher from comment #20)
Does this help?
I'm afraid you're wasting your time here, since the bug reporter refuses to build a kernel for testing fixes. Anyway, FWIW:
diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c index 5751446..1b4ac44 100644 --- a/drivers/gpu/drm/radeon/radeon_drv.c +++ b/drivers/gpu/drm/radeon/radeon_drv.c @@ -435,14 +435,14 @@ 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, true, true);
}
static int radeon_pmops_thaw(struct device *dev) { struct pci_dev *pdev = to_pci_dev(dev); struct drm_device *drm_dev = pci_get_drvdata(pdev);
return radeon_resume_kms(drm_dev, false, true);
return radeon_resume_kms(drm_dev, true, true);
}
static int radeon_pmops_runtime_suspend(struct device *dev)
The freeze callback change makes sense to me, but the thaw callback should probably enable the device, not disable it?