Re: [PATCH] Suspend2 Merge: Driver model patches 0/2

From: Pavel Machek
Date: Thu Sep 16 2004 - 06:23:45 EST


Hi!

> Here are two patches for the driver model, which have been in use in
> suspend2 for around a month.
>
> The first provides support for keeping part of the device tree alive
> while suspending the remainder. This is accomplished by abstracting the
> dpm_active, dpm_off and dpm_irq lists into a new struct partial device

I believe this is wrong approach.

For atomic snapshot to work, all devices need to be stopped. If your
video card does DMA, it needs to be stopped. So all drivers need to
know, you can not just exclude part of tree.

Now, you probably do not want disks to spin down and you want your
screen unblanked (as an optimalization/speedup). Patch for keeping
disk up is allready in -mm. Patch for keeping radeonfb up looks like
this, and is pending, too.

If more such patches are needed, post them, but not telling drivers
based on their class is not an option.

Pavel

--- clean-mm/drivers/video/aty/radeon_pm.c 2004-08-24 09:03:18.000000000 +0200
+++ linux-mm/drivers/video/aty/radeon_pm.c 2004-09-15 13:00:51.000000000 +0200
@@ -871,7 +871,8 @@
agp_enable(0);
#endif

- fb_set_suspend(info, 1);
+ if (system_state != SYSTEM_SNAPSHOT)
+ fb_set_suspend(info, 1);

if (!(info->flags & FBINFO_HWACCEL_DISABLED)) {
/* Make sure engine is reset */
@@ -880,12 +881,14 @@
radeon_engine_idle();
}

- /* Blank display and LCD */
- radeonfb_blank(VESA_POWERDOWN, info);
-
- /* Sleep */
- rinfo->asleep = 1;
- rinfo->lock_blank = 1;
+ if (system_state != SYSTEM_SNAPSHOT) {
+ /* Blank display and LCD */
+ radeonfb_blank(VESA_POWERDOWN, info);
+
+ /* Sleep */
+ rinfo->asleep = 1;
+ rinfo->lock_blank = 1;
+ }

/* Suspend the chip to D2 state when supported
*/

--
People were complaining that M$ turns users into beta-testers...
...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl!
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/