Okay we got a tester and it sort of works. There were some timeout errors though, and the irq reported by the printk's is irq 0 (this would explain why there is a timeout!).. I am curious as to why this would happen, is there some kind of settle time for making these changes, or does libata reevaluate it's IRQ usage between the printk and enabling/using DMA (I would expect it does, but it doesn't help having 4 timeouts!?) Any comments here would be welcome. http://www.powerdeveloper.org/forums/viewtopic.php?p=8433#8433 -- Matt Sealey <matt@xxxxxxxxxxxxxx> Genesi, Manager, Developer Relations Matt Sealey wrote: > PATCH.. > > ~ > > Pegasos currently sets it's IDE controller to PCI native mode but leaves the > ISA IDE IRQ steering set to 14/15 and IDE Interrupt Routing to compatibility > mode to keep compatibility with some old broken block drivers. > > Rather than clutter up libata with such things for one platform, the fix is > to force the controller into native mode here. > > We only enable this fix if we are using libata drivers, to avoid breaking > the old block driver as was the intention of the firmware configuration. > Currently won't work if the IDE interrupt line isn't set to 14, however the > chances of this happening on Pegasos are very slim. It just makes the fixup > easier. > > ~ > > This is TOTALLY untested but it does compile just fine. If anyone could throw > in some suggestions it would be awesome. Testing the patch (minus the checks > for pata_via being compiled) with via86cxxx would be great too. I just don't > have a Pegasos I or II handy here to run any of this. > - To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html