mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] idle ide disk on resume
@ 2004-06-22 12:17 Jens Axboe
  2004-06-22 13:39 ` Benjamin Herrenschmidt
  0 siblings, 1 reply; 4+ messages in thread
From: Jens Axboe @ 2004-06-22 12:17 UTC (permalink / raw)
  To: Linux Kernel; +Cc: Benjamin Herrenschmidt, Bartlomiej Zolnierkiewicz

Hi,

I need this patch to survive suspend on my powerbook, if the drive is
sleeping when suspend is entered. Otherwise it freezes on resume when it
tries to read from the drive.

===== drivers/ide/ide-disk.c 1.86 vs edited =====
--- 1.86/drivers/ide/ide-disk.c	2004-06-05 22:15:29 +02:00
+++ edited/drivers/ide/ide-disk.c	2004-06-22 14:15:08 +02:00
@@ -1334,7 +1334,8 @@
 	idedisk_pm_flush_cache	= ide_pm_state_start_suspend,
 	idedisk_pm_standby,
 
-	idedisk_pm_restore_dma	= ide_pm_state_start_resume,
+	idedisk_pm_idle		= ide_pm_state_start_resume,
+	idedisk_pm_restore_dma,
 };
 
 static void idedisk_complete_power_step (ide_drive_t *drive, struct request *rq, u8 stat, u8 error)
@@ -1349,6 +1350,9 @@
 	case idedisk_pm_standby:	/* Suspend step 2 (standby) complete */
 		rq->pm->pm_step = ide_pm_state_completed;
 		break;
+	case idedisk_pm_idle:		/* resume step 1, idle drive */
+		rq->pm->pm_step = idedisk_pm_restore_dma;
+		break;
 	}
 }
 
@@ -1376,6 +1380,12 @@
 		args->tfRegister[IDE_COMMAND_OFFSET] = WIN_STANDBYNOW1;
 		args->command_type = IDE_DRIVE_TASK_NO_DATA;
 		args->handler	   = &task_no_data_intr;
+		return do_rw_taskfile(drive, args);
+
+	case idedisk_pm_idle:
+		args->tfRegister[IDE_COMMAND_OFFSET] = WIN_IDLEIMMEDIATE;
+		args->command_type = IDE_DRIVE_TASK_NO_DATA;
+		args->handler = task_no_data_intr;
 		return do_rw_taskfile(drive, args);
 
 	case idedisk_pm_restore_dma:	/* Resume step 1 (restore DMA) */

-- 
Jens Axboe


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2004-08-21 16:23 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <fa.e71k2cf.qladil@ifi.uio.no>
2004-08-21 12:25 ` [PATCH] idle ide disk on resume Peter Münster
2004-08-21 16:23   ` Jens Axboe
2004-06-22 12:17 Jens Axboe
2004-06-22 13:39 ` Benjamin Herrenschmidt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome