> Hi!
>
> I was wondering why I couldn't neg my IBM 7200rpm drive work with UDMA66
> on my MVP3/SuperSouth based board under Linux.
>
> And I started digging into drivers/ide/vt82cxxx.c.
>
> And I fixed:
>
> * A bug where older revision (CD/CE) MVP3 boards would be detected as
> VP3. The ID of the AGP bridge has to be checked here, not just the
> host bridge ID.
It is getting WORSE!!!!!!!!!
Now we have to parse the north-bridge into pieces also.
> * A bug where in many cases newer south bridges would be treated as old
> vt82c586a, because they all contain the vt82c586 IDE with the original
> PCI ID. The ISA bridge ID has to be checked here, not the IDE ID.
>
> * Added an entry for MVP3 (both old and new) with vt82c686a SuperSouth.
>
> * Checking for UDMA66 mode. I don't know where to check for presence of
> 80-wire cable, but bit 2 (mask 0x04) isn't the right one, this one
> controls the timing. I've used bit 3 (mask 0x08), which is double
> clock enable. It works if BIOS sets it.
>
> * Reporting of used mode in /proc/ide/via. Used to say PIO instead of
> UDMA.
>
> With these bugs gone, UDMA66 works on VIA chipsets.
>
> I made some cosmetic changes, too:
>
> * Added KERN_INFO to all printk's, so that they're correctly classified
> by syslogd.
>
> * Added VP_IDE: to printks where necessary.
>
> * Added some more info to /proc/ide/via, added some -----'s, and
> beautified it somewhat. Not much difference, but looks better.
>
> I'm attaching a patch that contains these patches. It is against
> 2.4.0-test3-pre2, but should work against any other 2.4.0 kernel or 2.2
> kernel with Andre's IDE patches.
>
> Problems still remaining:
>
> * Some North/South bridge combinations will not be detected because
> they're not in the table. Honestly, I think the table should not
> be used at all and all detection should be based on southbridges
> only.
No go, there is now way to feature check.
> * Apollo Pro Plus, (and probably Pro133 and Pro133A) with vt82c596b
> won't work in UDMA mode. This is because one table entry which assumes
> that the Pro Plus chipset only comes with the vt82c596a southbridge.
> I think this is wrong, but can't confirm it. Changing FLAG_NULL
> to FLAG_ATA66 would make sense here.
That is fine but we need a test extention.
> * The thing won't work with arbirtary PCI clocks. To achieve that
> the big timing tables at the beginning of the file would need to
> go and be replaced by about 10 lines of code which computes the
> timing.
I agree, but the stack of defines are ugly.
The job is yours to fix or trash.
> I have begun rewriting the VIA code to fix these problems as well. I'm
> atatching a work-in-progress version of this rewrite. It works with my
> setup, but doesn't have to work with yours. Tell me what you think.
I do not have a setup, it is all blind code off the docs.
I have never tested the VIA code personally.
Pretty damn good for never being tested by the author, well on goods it is.
> --
> Vojtech Pavlik
> SuSE Labs
>
Andre Hedrick
The Linux ATA/IDE guy
-
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/