--- Jeff Garzik <[EMAIL PROTECTED]> 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 [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to