Re: [PATCH 1/1] ide: Allow disabling of UDMA for Compact Flash devices

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



James Ausmus wrote:
This is exactly the situation that I have with 2 separate "dumb" (just
physical interfaces, essentially - not at all detectable) IDE->CF
adapters - both the IDE controller and the CF media support several
UDMA modes, so the IDE driver throws the CF device into UDMA mode on
bootup. However, as the physical interface between the IDE cable and
the CF socket is poorly engineered, it cannot handle the higher
speeds, causing the timeout errors. For some people, this can just be
fixed with an ide=nodma boot option, but as I also have a (quite
large) rotating media device on the controller, this is not an option,
as, if a fsck is performed on a boot, the boot-up time is upwards of
30 minutes.

If it's like some of the CF-IDE adapters I've seen, the DMA request/ack lines likely aren't even wired up between the card and the cable. There's no way the kernel can detect that DMA is not actually possible on such a card without trying and waiting for it to timeout. (I've seen a few which have jumpers which select whether to connect these or not - haven't a clue why you wouldn't want to hook those up unconditionally..)

Isn't there an option to disable DMA for a specific IDE channel (ide2=nodma or something like that)?

--
Robert Hancock      Saskatoon, SK, Canada
To email, remove "nospam" from [email protected]
Home Page: http://www.roberthancock.com/

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

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux