Messages in this thread | | | Date | Wed, 20 Dec 2006 11:44:15 +0900 | From | Tejun Heo <> | Subject | Re: SATA DMA problem (sata_uli) |
| |
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 <alan@redhat.com> >>> 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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |