Skip to contentSkip to conversation

Revert "Revert "ide: try to use PIO Mode 0 during probe if possible""

PATCH In review Bartlomiej Zolnierkiewicz 2 participants 6 messages Oct 6, 2009 libata

lore
Share & tools
lore
#0 lore raw

PATCH 2/2 Revert "Revert "ide: try to use PIO Mode 0 during probe if possible""

From: Bartlomiej Zolnierkiewicz <[email protected]>
Subject: [PATCH] Revert "Revert "ide: try to use PIO Mode 0 during probe if possible""

This reverts commit 24df31acaff8465d797f0006437b45ad0f2a5cb1.

The root cause of reported system hangs was (now fixed) sis5513 bug and not "ide: try to use PIO Mode 0 during probe if possible" change (commit 6029336426a2b43e4bc6f4a84be8789a047d139e) so the revert was incorrect (it simply replaced one regression with the other one).

---
 drivers/ide/ide-probe.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)
drivers/ide/ide-probe.c +9 -0
index 4d76ba4..63c53d6 100644
@@ -1046,6 +1046,15 @@ static void ide_port_init_devices(ide_hwif_t *hwif)
 		if (port_ops && port_ops->init_dev)
 			port_ops->init_dev(drive);
 	}
+
+	ide_port_for_each_dev(i, drive, hwif) {
+		/*
+		 * default to PIO Mode 0 before we figure out
+		 * the most suited mode for the attached device
+		 */
+		if (port_ops && port_ops->set_pio_mode)
+			port_ops->set_pio_mode(drive, 0);
+	}
 }
 
 static void ide_init_port(ide_hwif_t *hwif, unsigned int port,
Signature · 1 line
1.6.5.rc2
#1 lore raw

From: Bartlomiej Zolnierkiewicz <[email protected]>
Date: Wed, 7 Oct 2009 00:27:45 +0200

Quoted 4 lines

The root cause of reported system hangs was (now fixed) sis5513 bug and not "ide: try to use PIO Mode 0 during probe if possible" change (commit 6029336426a2b43e4bc6f4a84be8789a047d139e) so the revert was incorrect (it simply replaced one regression with the other one).

What is this older "regression" fixed by the PIO-0 change?

You're not explaining it and neither does the commit message for the PIO-0 change.

Please, fill us in :-)

#2 lore raw
Quoted 8 lines · On Wednesday 07 October 2009 00:41:20 David Miller wrote:

From: Bartlomiej Zolnierkiewicz <[email protected]>
Date: Wed, 7 Oct 2009 00:27:45 +0200

Quoted 4 lines

The root cause of reported system hangs was (now fixed) sis5513 bug and not "ide: try to use PIO Mode 0 during probe if possible" change (commit 6029336426a2b43e4bc6f4a84be8789a047d139e) so the revert was incorrect (it simply replaced one regression with the other one).

Quoted 4 lines

What is this older "regression" fixed by the PIO-0 change?

You're not explaining it and neither does the commit message for the PIO-0 change.

It does:

| Subject: [PATCH] sis5513: fix PIO setup for ATAPI devices
| 
| Clear prefetch setting before potentially (re-)enabling it in
| config_drive_art_rwp() so the transition of the device type on
| the port from ATA to ATAPI (i.e. during warm-plug operation)
| is handled correctly.

and the empty port defaults to ATA-like behavior for the initial PIO setup.

Quoted 1 line

Please, fill us in :-)

Just connect the dots.. :)

#3 lore raw

From: Bartlomiej Zolnierkiewicz <[email protected]>
Date: Wed, 7 Oct 2009 00:52:37 +0200

Quoted 9 lines · On Wednesday 07 October 2009 00:41:20 David Miller wrote:
Quoted 8 lines

From: Bartlomiej Zolnierkiewicz <[email protected]>
Date: Wed, 7 Oct 2009 00:27:45 +0200

Quoted 4 lines

The root cause of reported system hangs was (now fixed) sis5513 bug and not "ide: try to use PIO Mode 0 during probe if possible" change (commit 6029336426a2b43e4bc6f4a84be8789a047d139e) so the revert was incorrect (it simply replaced one regression with the other one).

Quoted 8 lines
Quoted 4 lines

What is this older "regression" fixed by the PIO-0 change?

You're not explaining it and neither does the commit message for the PIO-0 change.

It does:

| Subject: [PATCH] sis5513: fix PIO setup for ATAPI devices

Sorry, I wasn't clear.

I'm talking about commit 6029336426a2b43e4bc6f4a84be8789a047d139e, it doesn't say why we want to try PIO 0 mode during probe.

What was the regression fixed by that change?

#4 lore raw
Quoted 17 lines · On Wednesday 07 October 2009 00:57:05 David Miller wrote:

From: Bartlomiej Zolnierkiewicz <[email protected]>
Date: Wed, 7 Oct 2009 00:52:37 +0200

Quoted 14 lines · On Wednesday 07 October 2009 00:41:20 David Miller wrote:
Quoted 12 lines

From: Bartlomiej Zolnierkiewicz <[email protected]>
Date: Wed, 7 Oct 2009 00:27:45 +0200

Quoted 4 lines

The root cause of reported system hangs was (now fixed) sis5513 bug and not "ide: try to use PIO Mode 0 during probe if possible" change (commit 6029336426a2b43e4bc6f4a84be8789a047d139e) so the revert was incorrect (it simply replaced one regression with the other one).

What is this older "regression" fixed by the PIO-0 change?

You're not explaining it and neither does the commit message for the PIO-0 change.

Quoted 8 lines
Quoted 3 lines

It does:

| Subject: [PATCH] sis5513: fix PIO setup for ATAPI devices

Sorry, I wasn't clear.

I'm talking about commit 6029336426a2b43e4bc6f4a84be8789a047d139e, it doesn't say why we want to try PIO 0 mode during probe.

For the same reason that libata wants it.

Many embedded controllers/platforms will have junk PIO timings set initially.

Now that your manager's ambition is satisfied could you please go help some other subsystem for the moment so we can fix ide in the meantime? :)

#5 lore raw

From: Bartlomiej Zolnierkiewicz <[email protected]>
Date: Wed, 7 Oct 2009 01:13:05 +0200

Quoted 1 line

Many embedded controllers/platforms will have junk PIO timings set initially.

Thanks, that helps a lot.

When David reports back on testing I'll push this stuff around and queue up patch #1 for -stable.