Re: problem with Serverworks CSB5 IDE

Alan Cox
2003-04-25T11:47:00Z

> Actually UDMA mode detection is not working at all for CSB5 in
> 2.4.21-rc1 because svwks_revision variable is set in __init function
> so was reading as 0 in svwks_ratemask(). This made it think UDMA
> mode 2 was the max supported, when in reality new revisions do UDMA
> mode 5 and old revisions are mode 4 max.

The revision id is read when we init_chipset_svwks, which comes from the
PCI setup. If the chip is in legacy mode we call init chipset early on
regardless. If it is in native mode it gets called too and we ignore
its view of the IRQ (since thats now PCI defined).

> /* Check the OSB4 DMA33 enable bit */
> return ((reg & 0x00004000) == 0x00004000) ? 1 : 0;
> } else if (svwks_revision < SVWKS_CSB5_REVISION_NEW) {
> - return 1;
> + return 2;

Why this change ?