lkml.org 
[lkml]   [2004]   [Aug]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH]: via-agp.c resume/suspend support
Date
Hi,

With this patch I'm able to suspend to disk (well, works even without patch)
and resume (without it my laptop hangs (even sysrq is not working)
while resuming).

Please comment and send upstream if it's ok with you. Thanks!


PATCH: resume/suspend support for via-agp driver.

Signed-off-by: Arkadiusz Miskiewicz <arekm@pld-linux.org>

--- linux-2.6.8-rc2.org/drivers/char/agp/via-agp.c 2004-07-30 19:19:16.000000000 +0200
+++ linux-2.6.8-rc2/drivers/char/agp/via-agp.c 2004-08-03 16:21:41.000000000 +0200
@@ -438,6 +423,33 @@
agp_put_bridge(bridge);
}

+#ifdef CONFIG_PM
+
+static int agp_via_suspend(struct pci_dev *pdev, u32 state)
+{
+ pci_save_state (pdev, pdev->saved_config_space);
+ pci_set_power_state (pdev, 3);
+
+ return 0;
+}
+
+static int agp_via_resume(struct pci_dev *pdev)
+{
+ struct agp_bridge_data *bridge = pci_get_drvdata(pdev);
+
+ pci_set_power_state (pdev, 0);
+ pci_restore_state(pdev, pdev->saved_config_space);
+
+ if (bridge->driver == &via_agp3_driver)
+ return via_configure_agp3();
+ else if (bridge->driver == &via_driver)
+ return via_configure();
+
+ return 0;
+}
+
+#endif /* CONFIG_PM */
+
/* must be the same order as name table above */
static struct pci_device_id agp_via_pci_table[] = {
#define ID(x) \
@@ -487,6 +496,10 @@
.id_table = agp_via_pci_table,
.probe = agp_via_probe,
.remove = agp_via_remove,
+#ifdef CONFIG_PM
+ .suspend = agp_via_suspend,
+ .resume = agp_via_resume,
+#endif
};

--
Arkadiusz Miśkiewicz CS at FoE, Wroclaw University of Technology
arekm.pld-linux.org, 1024/3DB19BBD, JID: arekm.jabber.org, PLD/Linux
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
\
 
 \ /
  Last update: 2005-03-22 14:04    [W:0.025 / U:0.492 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site