lkml.org 
[lkml]   [2002]   [Feb]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH] Linux Secondary Slave IDE timings
This fix is from Dave Bogdanoff <bog@transmeta.com>.

Linux incorrectly sets up IDE timings for secondary slave drives on PC
systems that use Intel PIIX Southbridges.

This will correctly shift IDE slave PCI timings for register 44h so
that:

- secondary slave (drive1) uses bits 4-7
- primary slave (drive1) uses bits 0-3

(The addition of the parentheses is needed so the shift will take
place after the bitwise-or. Without the parentheses, the shift will
incorrectly always take place before the bitwise-or.)

--- linux/drivers/ide/piix.c.orig Tue Jan 29 23:26:55 2002
+++ linux/drivers/ide/piix.c Tue Jan 29 23:27:33 2002
@@ -258,8 +258,8 @@
master_data = master_data | 0x0070;
pci_read_config_byte(HWIF(drive)->pci_dev, slave_port, &slave_data);
slave_data = slave_data & (HWIF(drive)->index ? 0x0f : 0xf0);
- slave_data = slave_data | ((timings[pio][0] << 2) | (timings[pio][1]
- << (HWIF(drive)->index ? 4 : 0)));
+ slave_data = slave_data | (((timings[pio][0] << 2) | timings[pio][1])
+ << (HWIF(drive)->index ? 4 : 0));
} else {
master_data = master_data & 0xccf8;
if (pio > 1)
-
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 13:24    [W:1.460 / U:0.308 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site