Sorry for all the noise, this seems to have fixed it (from NetBSD):

--- via82c586.c.orig    Mon Sep 12 19:38:35 2005
+++ via82c586.c Mon Sep 12 20:27:28 2005
@@ -256,9 +256,10 @@
                        reg = pci_conf_read(ph->ph_pc, ph->ph_tag,
                            VP3_CFG_PIRQ_REG);
                        shift = vp3_cfg_trigger_shift[i];
-                       /* XXX we only upgrade the trigger here */
                        if (trigger == IST_LEVEL)
                                reg &= ~(VP3_CFG_TRIGGER_MASK << shift);
+                       else
+                               reg |= (VP3_CFG_TRIGGER_EDGE << shift);
                        pci_conf_write(ph->ph_pc, ph->ph_tag,
                            VP3_CFG_PIRQ_REG, reg);
                        break;

Tony Lambiris wrote:
I forgot to ask, would it be bad practice to just add PCI_PRODUCT_VIATECH_VT82C571 to one of the cases in the switch statement? It seems like this might go a little deeper....

Tony Lambiris wrote:

Well I thought I knew what the problem was (nope).. I found something interesting though...

The motherboards that don't setup UDMA properly uses a "VIA VT8237 ISA" for pcib; the one's that setup UDMA properly uses a "VIA VT8235 ISA". I added some debugging in pciide.c in function apollo_chip_map on the switch statement, and the pcib_id it's switching on is 0x0571, which in pcidevs is "VT82C571 IDE". Does that mean somewhere the VT8237 chipset isn't being setup correctly or something?

I'm a little confused at this juncture, any light that can be shed would be greatly appriciated.

Thanks.

Tony Lambiris wrote:

I (think I) found the problem... I will be posting a patch shortly if I confirm my suspicions.

Thanks.

Tony Lambiris wrote:

We have some motherboards with (what we think) are the same chips and revisions with the same hard drives, but some drives are being detected as DMA and others as ATA133. Here is an example:

pciide0 at pci0 dev 17 function 1 "VIA VT82C571 IDE" rev 0x06: ATA133, channel 0 configured to compatibility, channel 1 configured to compatibility
wd0 at pciide0 channel 0 drive 0: <WDC WD800BB-75JHC0>
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 5

pciide0 at pci0 dev 15 function 0 "VIA VT82C571 IDE" rev 0x06: DMA, channel 0 configured to compatibility, channel 1 configured to compatibility
wd0 at pciide0 channel 0 drive 0: <WDC WD800BB-75JHC0>
wd0(pciide0:0:0): using PIO mode 4, DMA mode 2

As you can see it's the same IDE chipset, same revision, same drives.. the only thing I can think of is it's an IDE ribbon issue, but the ribbons we used (which were mixed from the cases and the motherboard boxes), were brand new.

Any suggestions?

TIA.





--
Tony Lambiris [ [EMAIL PROTECTED] ]
"so if it is really hard for you then perhaps you are just
retarded and need treatment w/ electricity and if that does
not help then perhaps should not use computers..."

Reply via email to