[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC PATCH 2.4] ata_piix on ich6r in RAID mode
- From: Martins Krikis <mkrikis@xxxxxxxxx>
- Date: Fri, 28 Jan 2005 18:54:41 -0800 (PST)
- Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys
- Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; b=J2Oip9vGb0tKYjqdSWU7zY78GstERnIwrHAy9b/+L+cnk7WywtYFJbSklmmZkghpsw8MNeKQb7jdW0MEiAIEmNnba5C4byVx215uTecftXow051OonovGXtpOCWj9NIbcXtn5w0lj+JmocGjfDvpZHXh2/slezQFEyeYBDMmYg4= ;
--- Jeff Garzik <jgarzik@xxxxxxxxx> wrote:
> Martins Krikis wrote:
> > Without this patch, if the BIOS of an ICH6R box has IDE set to
> "RAID"
> > mode then ata_piix will not find any SATA disks because it
> incorrectly
> > tries the legacy mode. With the patch all 4 SATA drives become
> visible.
> > I don't think it would break any other vendor's SATA, but you can
> be
> > the judge of that. If so, perhaps we can restrict the test some
> more
> > by checking vendor/device IDs.
>
> > --- linux-2.4.29/drivers/scsi/libata-core.c 2005-01-28
> 12:07:56.000000000 -0500
> > +++ linux-2.4.29-iswraid/drivers/scsi/libata-core.c 2005-01-28
> 12:14:43.000000000 -0500
> > @@ -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
-
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/
References: