The patch titled
radeonfb: S3 acpi suspend fix
has been added to the -mm tree. Its filename is
radeonfb-s3-acpi-suspend-fix.patch
Patches currently in -mm which might be from [EMAIL PROTECTED] are
generic-acpi-vgapost.patch
radeonfb-s3-acpi-suspend-fix.patch
radeonfb-s3-acpi-suspend-fix-fix.patch
documentation-update-for-radeonfb.patch
From: Michael Marineau <[EMAIL PROTECTED]>
Adds the video post method of resume for x86 to radeonfb to allow for resuming
after S3 acpi suspend.
Acked-by: Pavel Machek <[EMAIL PROTECTED]>
Cc: Benjamin Herrenschmidt <[EMAIL PROTECTED]>
Cc: "Brown, Len" <[EMAIL PROTECTED]>
Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
---
drivers/video/aty/radeon_pm.c | 18 ++++++++++++++++++
drivers/video/aty/radeonfb.h | 1 +
2 files changed, 19 insertions(+)
diff -puN drivers/video/aty/radeonfb.h~radeonfb-s3-acpi-suspend-fix
drivers/video/aty/radeonfb.h
--- 25/drivers/video/aty/radeonfb.h~radeonfb-s3-acpi-suspend-fix Mon Aug
29 16:42:49 2005
+++ 25-akpm/drivers/video/aty/radeonfb.h Mon Aug 29 16:42:50 2005
@@ -271,6 +271,7 @@ enum radeon_pm_mode {
radeon_pm_none = 0, /* Nothing supported */
radeon_pm_d2 = 0x00000001, /* Can do D2 state */
radeon_pm_off = 0x00000002, /* Can resume from D3 cold */
+ radeon_pm_post = 0x00000004, /* Resume with vgapost */
};
struct radeonfb_info {
diff -puN drivers/video/aty/radeon_pm.c~radeonfb-s3-acpi-suspend-fix
drivers/video/aty/radeon_pm.c
--- 25/drivers/video/aty/radeon_pm.c~radeonfb-s3-acpi-suspend-fix Mon Aug
29 16:42:49 2005
+++ 25-akpm/drivers/video/aty/radeon_pm.c Mon Aug 29 16:42:50 2005
@@ -2403,6 +2403,15 @@ static void radeon_reinitialize_QW(struc
#endif /* CONFIG_PPC_OF */
+#if defined(CONFIG_ACPI) && defined(CONFIG_X86)
+extern void acpi_vgapost (unsigned long slot);
+
+static void radeon_reinitialize_vgapost(struct radeonfb_info *rinfo)
+{
+ acpi_vgapost (rinfo->pdev->devfn);
+}
+#endif
+
static void radeon_set_suspend(struct radeonfb_info *rinfo, int suspend)
{
u16 pwr_cmd;
@@ -2657,6 +2666,8 @@ int radeonfb_pci_resume(struct pci_dev *
*/
else if (rinfo->pm_mode & radeon_pm_d2)
radeon_set_suspend(rinfo, 0);
+ if (rinfo->pm_mode & radeon_pm_post && rinfo->reinit_func !=
NULL)
+ rinfo->reinit_func(rinfo);
rinfo->asleep = 0;
} else
@@ -2777,6 +2788,13 @@ void radeonfb_pm_init(struct radeonfb_in
#endif
}
#endif /* defined(CONFIG_PM) && defined(CONFIG_PPC_OF) */
+
+#if defined(CONFIG_ACPI) && defined(CONFIG_X86)
+ if (rinfo->is_mobility && rinfo->pm_reg) {
+ rinfo->reinit_func = radeon_reinitialize_vgapost;
+ rinfo->pm_mode |= radeon_pm_post;
+ }
+#endif
}
void radeonfb_pm_exit(struct radeonfb_info *rinfo)
_
-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html