Re: simple promise66 hack for 2.2.13/14

Andre Hedrick (andre@suse.com)
Sun, 31 Oct 1999 02:25:57 -0800 (PST)


if (dev->device == PCI_DEVICE_ID_PROMISE_20262) {
int i = 0;
/*
* software reset - this is required because the bios
* will set UDMA timing on if the hdd supports it. The
* user may want to turn udma off. A bug in the pdc20262
* is that it cannot handle a downgrade in timing from UDMA
* to DMA. Disk accesses after issuing a set feature command
* will result in errors. A software reset leaves the timing
* registers intact, but resets the drives.
*/

Second bomb to dodge is the mixing of drive classes on the same ribbon.

/*
* Set the control register to use the 66Mhz system
* clock for UDMA 3/4 mode operation. If one drive on
* a channel is U66 capable but the other isn't we
* fall back to U33 mode. The BIOS INT 13 hooks turn
* the clock on then off for each read/write issued. I don't
* do that here because it would require modifying the
* kernel, seperating the fop routines from the kernel or
* somehow hooking the fops calls. It may also be possible to
* leave the 66Mhz clock on and readjust the timing
* parameters.
*/

Note that these are comments from "Promise"........

I understand that it is tough to see/find the micro-variations.
Orginally I got to the point of crippling the driver to force all devices
to ATA-33 on the Ultra66 card. The have identical timing codes one you
remove the ATA-66 setup calls.

I hope this clears the mud.

Cheers,

Andre Hedrick
The Linux IDE guy

On Sun, 31 Oct 1999, Philip Blundell wrote:

> >The warning and disk death could go on for ever..........but doing what
> >you just did and advised people to do is "FOOLISH"........
>
> So what is it that makes the 20262 incompatible with the 20246? Looking at
> the code in 2.3 they seem to be substantially the same.
>
> p.
>
>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/