On Mon, 7 Feb 2000, Thierry Herbelot wrote:
> > Given that Billy Goat is the comman issue.....you carry all the friends to
> > the OS-War battle field.
> >
You missed a very important point........the one above.....
> <Flame bait>
>
> Linux is an interesting vehicle to bring people to open source - but the
> diversity of distros is a bit disturbing (and I love cvsup for updates :
> one example is the inclusion of a FreeBSD-maintained ATA66 driver in the
> source tree of the next release - you don't have to patch your kernel
> picking diff tarballs all over the world)
>
> I take advantage as much as I can of Linux software (Netscape, and its
> plugins, for example), which runs seamlessly under Linux emulation here.
>
> <\Flame bait>
Skip it, not worth it.........
Just forward my mail address to Soren........or I will ask Michael...
WAIT..........GO grab your teflon underware........
<FLAME ON!!!!!!!!!!>
This almost verbatium my code design and method........
<snip from 'ata-all.c'>
/* do extra chipset specific setups */
switch (type) {
case 0x522910b9: /* Aladdin need to activate the ATAPI FIFO */
pci_write_config(dev, 0x53, (pci_read_config(dev, 0x53, 1) & ~0x01) | 0x02, 1);
break;
case 0x4d38105a: /* Promise 66's need their clock changed */
outb(bmaddr_1 + 0x11, inb(bmaddr_1 + 0x11) | 0x0a);
/* FALLTHROUGH */
case 0x4d33105a: /* Promise's need burst mode to be turned on */
outb(bmaddr_1 + 0x1f, inb(bmaddr_1 + 0x1f) | 0x01);
break;
case 0x00041103: /* HPT366 turn of fast interrupt prediction */
pci_write_config(dev, 0x51, (pci_read_config(dev, 0x51, 1) & ~0x80), 1);
break;
case 0x05711106:
case 0x74091022: /* VIA 82C586, 82C596, 82C686 & AMD 756 default setup */
/* set prefetch, postwrite */
pci_write_config(dev, 0x41, pci_read_config(dev, 0x41, 1) | 0xf0, 1);
/* set fifo configuration half'n'half */
pci_write_config(dev, 0x43, (pci_read_config(dev, 0x43, 1) & 0x90) | 0x2a, 1);
/* set status register read retry */
pci_write_config(dev, 0x44, pci_read_config(dev, 0x44, 1) | 0x08, 1);
/* set DMA read & end-of-sector fifo flush */
pci_write_config(dev, 0x46, (pci_read_config(dev, 0x46, 1) & 0x0c) | 0xf0, 1);
/* set sector size */
pci_write_config(dev, 0x60, DEV_BSIZE, 2);
pci_write_config(dev, 0x68, DEV_BSIZE, 2);
/* set the chiptype to the hostchip ID, makes life easier */
if (ata_find_dev(dev, 0x05861106))
type = 0x05861106;
if (ata_find_dev(dev, 0x05961106))
type = 0x05961106;
/* set the chiptype to the hostchip ID, makes life easier */
if (ata_find_dev(dev, 0x05861106))
type = 0x05861106;
if (ata_find_dev(dev, 0x05961106))
type = 0x05961106;
if (ata_find_dev(dev, 0x06861106)) {
type = 0x06861106;
/* prepare for ATA-66 on the 82C686 */
pci_write_config(dev, 0x50, pci_read_config(dev, 0x50, 4) | 0x070f070f, 4);
}
break;
</snip from 'ata-all.c'>
This is F*** EXACTLY my design............look at hpt366.c
<snip from 'ata-dma.c'>
hpt366_timing(struct ata_softc *scp, int32_t devno, int32_t mode)
{
u_int32_t timing;
switch (pci_read_config(scp->dev, 0x41 + (devno << 2), 1)) {
case 0x85: /* 25Mhz */
switch (mode) {
case ATA_PIO0: timing = 0xc0d08585; break;
case ATA_PIO1: timing = 0xc0d08572; break;
case ATA_PIO2: timing = 0xc0ca8542; break;
case ATA_PIO3: timing = 0xc0ca8532; break;
case ATA_PIO4: timing = 0xc0ca8521; break;
case ATA_WDMA2: timing = 0xa0ca8521; break;
case ATA_UDMA2: timing = 0x90cf8521; break;
case ATA_UDMA4: timing = 0x90c98521; break;
default: timing = 0x01208585;
}
break;
default:
case 0xa7: /* 33MHz */
switch (mode) {
case ATA_PIO0: timing = 0xc0d0a7aa; break;
case ATA_PIO1: timing = 0xc0d0a7a3; break;
case ATA_PIO2: timing = 0xc0d0a753; break;
case ATA_PIO3: timing = 0xc0c8a742; break;
case ATA_PIO4: timing = 0xc0c8a731; break;
case ATA_WDMA2: timing = 0xa0c8a731; break;
case ATA_UDMA2: timing = 0x90caa731; break;
case ATA_UDMA4: timing = 0x90c9a731; break;
default: timing = 0x0120a7a7;
}
break;
case 0xd9: /* 40Mhz */
switch (mode) {
case ATA_PIO0: timing = 0xc018d9d9; break;
case ATA_PIO1: timing = 0xc010d9c7; break;
case ATA_PIO2: timing = 0xc010d997; break;
case ATA_PIO3: timing = 0xc010d974; break;
case ATA_PIO4: timing = 0xc008d963; break;
case ATA_WDMA2: timing = 0xa008d943; break;
case ATA_UDMA2: timing = 0x900bd943; break;
case ATA_UDMA4: timing = 0x900fd943; break;
default: timing = 0x0120d9d9;
}
}
pci_write_config(scp->dev, 0x40 + (devno << 2) , (timing & ~0x80000000), 4);
</snip from 'ata-dma.c'>
Now GO explain the full "32-bit" parsing of the timing code!
I have the Specs.........
Also interrupt prediction can cause problems........
Where are the split interrupt, split pin, detections and corrections?
Where are the work arounds for the two know supported modes of the
chipset, and the third mode I discovered and explained it to the enginner
that designed the chip!
Where is your AMD 7409 Viper South Bridge ATA-66 support?
Where is your CMD 643-646-648 support?
Where is your SiS630-620-540-530-5900-5600-5591-5512 support?
Where is your AEC6210UF support?
Where is your Ali 1543C-B, 1543-E, 1543-F, 1543C-C, 1543C-D, 1543C-E, 1535, 1535D,
1553 support?
Where is your HPT343 and HPT345 support?
Where is your IA-64 for (unnamed, I can't tell you that info) support?
Where is your Promise Hardware RAID, (how?? I can't tell you that info) support?
Where is your support for code I have not and can not release yet?
Where is your support for ATA-Hardware-RAID for a 320GB Raid0?
Where is your support for HOT-SWAP ATA-ATAPI (I have not written the
industry standard yet, but will submit a proposal to the T13 standards
committee for discussion on FEB 24, 2000) that does not exist yet?
The list is much much longer........but, I can't tell anyone that info yet!
Now that is done........go take a cold shower and head off to the ER for
the skin transplant in the burn center...
</!!!!!!!!!!FLAME OFF>
You pick a bad night to belly up to the bar......for a CASE of WHOOPASS !!!
Later.............
Everyone please ignore the bait............This is someone that had a wild
hair up the backside.........I really do not care that FreeBSD is using
Linux ATA/IDE all but verbatium........just acknowledge the fact that
Linux paves the way for JAFO's........
Andre Hedrick
The Linux ATA/IDE guy
--
=- To unsubscribe, email [EMAIL PROTECTED] with the -=
=- body of "unsubscribe linux-abit". -=