[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4588A37F.9040102@gmail.com>
Date: Wed, 20 Dec 2006 11:44:15 +0900
From: Tejun Heo <htejun@...il.com>
To: Jeff Garzik <jgarzik@...ox.com>
CC: Alan <alan@...rguk.ukuu.org.uk>, David Shirley <tephra@...il.com>,
linux-kernel@...r.kernel.org
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@...hat.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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists