Re: Compact flash disk and slave drives in 2.4.2

Andre Hedrick (andre@linux-ide.org)
Tue, 27 Mar 2001 09:17:48 -0800 (PST)


Because 'real' ATA devices use a signature map the detects presense of
master slave during execute diagnostics. This is done in the BIOS.
CFA does no report this correctly and waiting for a 31 second time out is
not acceptable. If you have a complain take it to CFA commitee and have
them fix it.

I put in a walk around for having 2 CFA's to allow detection.
This will work also if you call it for a CFA+Disk pair.

On Tue, 27 Mar 2001, Padraig Brady wrote:

> OK the following assumes CF never have slaves which is just wrong.
> The CF should be logically treated as an IDE harddisk. So the fix is
> probably have a kernel parameter that causes the following check to
> be skipped?

Logically treated, is true, but again CFA does not follow the rules of
what the ATA committee gives them, and I refuse to break rules as the
standard model. Rule breaking are exceptions.

Also show me a case where a laptop will do master/slave in CFA.

> /*
> * Prevent long system lockup probing later for non-existant
> * slave drive if the hwif is actually a flash memory card of some
> variety:
> */
> if (drive_is_flashcard(drive)) {
> ide_drive_t *mate = &HWIF(drive)->drives[1^drive->select.b.unit];
> if (!mate->ata_flash) {
> mate->present = 0;
> ide_drive_t *mate =
> &HWIF(drive)->drives[1^drive->select.b.unit]
> mate->noprobe = 1;
> }
> }
>
> But do we need this check? Is it just for speed. If you have an "ordinary"
> harddrive as master with no slave, will the check for slave cause the same
> "long system lockup", and if not, why.
>
> Padraig.
>
> Andre Hedrick wrote:
>
> > Because in laptops, the primary use of CFA.
> > Laptops using CFA do not have slaves.
>

Andre Hedrick
Linux ATA Development
ASL Kernel Development
-----------------------------------------------------------------------------
ASL, Inc. Toll free: 1-877-ASL-3535
1757 Houret Court Fax: 1-408-941-2071
Milpitas, CA 95035 Web: www.aslab.com

-
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/