Thread (17 messages) 17 messages, 4 authors, 2010-08-27

ARM: 2.6.3[45] PCI regression (IXP4xx and PXA?)

From: Russell King - ARM Linux <hidden>
Date: 2010-08-11 07:25:55
Also in: lkml

On Wed, Aug 11, 2010 at 11:06:00AM +0900, FUJITA Tomonori wrote:
On Tue, 10 Aug 2010 22:36:21 +0200
Krzysztof Halasa [off-list ref] wrote:
quoted
6fee48cd330c68332f9712bc968d934a1a84a32a broke
pci_set_consistent_dma_mask() on IXP4xx and most probably PXA. Affected
devices are e.g. IDE controller (CS5536-based: disk inaccessible) and
e1000 ethernet ("Detected Tx Unit Hang").
Sorry about that.
quoted
The attached patch makes it work again, though I'm not sure it's the
best solution.
I think that we should avoid adding "#ifdef CONFIG_DMABOUNCE" to a
generic place.

Why the above patch breaks dmabounce.c? We can't set dev->coherent_dma_mask?
It doesn't break dmabounce.

What it breaks is the fact that a PCI device which can do 32-bit DMA is
connected to a PCI bus which can only access the first 64MB of memory
through the host bridge, but the system has more than 64MB available.

Allowing a 32-bit DMA mask means that dmabounce can't detect that memory
above 64MB needs to be bounced to memory below the 64MB boundary.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help