Jeff Garzik wrote: > Tejun Heo wrote: >> Jeff Garzik wrote: >>> Alan wrote: >>>>> I tracked it down to one of the drives being forced into PIO4 mode >>>>> rather than UDMA mode; dmesg bits: >>>>> ata4.00: ATA-7, max UDMA/133, 586072368 sectors: LBA48 NCQ (depth >>>>> 0/32) >>>>> ata4.00: ata4: dev 0 multi count 16 >>>>> ata4.00: simplex DMA is claimed by other device, disabling DMA >>>> Your ULi controller is reporting that it supports UDMA upon only one >>>> channel at a time. The kernel is honouring this information. The older >>>> ULi (was ALi) PATA devices report simplex but let you turn it off so >>>> see if the following does the trick. Test carefully as always with >>>> disk driver >>>> changes. >>>> >>>> (Jeff probably best to check the docs before merging this but I believe >>>> it is sane) >>>> >>>> Signed-off-by: Alan Cox <[EMAIL PROTECTED]> >>> My Uli SATA docs do not appear to cover the bmdma registers :( Only the >>> PCI config registers. >>> >>> But regardless, I think the better fix is to never set ATA_HOST_SIMPLEX >>> if ATA_FLAG_NO_LEGACY is set. >>> >>> None of the SATA controllers I've ever encountered has been simplex. >> >> Just another data point. The same problem is reported by bug #7590. >> >> http://bugzilla.kernel.org/show_bug.cgi?id=7590 >> >> Is somebody brewing a patch? > > Not to my knowledge. Did you just volunteer? ;-) > > /me runs...
I'm just gonna ack Alan's patch. * ATA_FLAG_NO_LEGACY is not really used widely (and thus LLDs don't set it rigorously). I think it should be removed once we get initialization model right. * I'm really reluctant to add more LLD-specific knowledge into libata core. We're already carrying too much due to the current init model (libata should initialize host according to probe_ent, so many weirdities should be represented in probe_ent in a form libata core understands). * The idea of clearing simplex for unknown controllers scares the hell out of me. where's mummy... So, I'll ask bug reporter of #7590 to test it. -- tejun - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/