Thread (2 messages) 2 messages, 2 authors, 2005-01-29

Re: [RFC PATCH 2.4] ata_piix on ich6r in RAID mode

From: Martins Krikis <hidden>
Date: 2005-01-29 02:55:18
Also in: lkml

--- Jeff Garzik <jgarzik@pobox.com> wrote:
Martins Krikis wrote:
quoted
Without this patch, if the BIOS of an ICH6R box has IDE set to
"RAID"
quoted
mode then ata_piix will not find any SATA disks because it
incorrectly
quoted
tries the legacy mode. With the patch all 4 SATA drives become
visible.
quoted
I don't think it would break any other vendor's SATA, but you can
be
quoted
the judge of that. If so, perhaps we can restrict the test some
more
quoted
by checking vendor/device IDs.
quoted
--- linux-2.4.29/drivers/scsi/libata-core.c	2005-01-28
12:07:56.000000000 -0500
quoted
+++ linux-2.4.29-iswraid/drivers/scsi/libata-core.c	2005-01-28
12:14:43.000000000 -0500
quoted
@@ -3605,6 +3605,9 @@ int ata_pci_init_one (struct pci_dev *pd
 			legacy_mode = (1 << 3);
 	}
 
+	if ((pdev->class >> 8) == PCI_CLASS_STORAGE_RAID)
+		legacy_mode = 0;
+
 	/* FIXME... */
 	if ((!legacy_mode) && (n_ports > 1)) {
 		printk(KERN_ERR "ata: BUG: native mode, n_ports > 1\n");

hmmmmmm.  Maybe "!= PCI_CLASS_STORAGE_IDE" instead?
Yes, that's much better. No need to even read the programming IF
byte unless the class code identifies it as an IDE controller.
Overall, however, I am worried about your report of the driver's 
behavior based on that BIOS's configuration.  The driver follows the
PCI 
IDE standard (previously SFF 8038i), where a register indicates
whether 
its in legacy or native mode.  As it see it, either
a) the driver logic for reading that register is wrong, or
b) BIOS incorrectly configuring the device, or
c) that register is only applicable for PCI_CLASS_STORAGE_IDE
devices.

Comments either way?
I'd say "c". I don't have the spec, but my PCI course-book
seems to imply so. I could send a new patch but I can't
verify it just yet---the board decided to stop booting...

  Martins



		
__________________________________ 
Do you Yahoo!? 
Yahoo! Mail - Easier than ever with enhanced search. Learn more.
http://info.mail.yahoo.com/mail_250
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help