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

Reply via email to