Re: Driver: PCIe: 'pci_map_sg' returning invalid bus address?

From: Robert Hancock
Date: Sun Aug 15 2010 - 23:31:37 EST


On 08/14/2010 09:25 AM, Evan Lavelle wrote:
Thanks guys. I had to get this working quickly so I just stuck with my
bounce buffer code. I'm not sure that it's technically a 'bounce
buffer'; it just so happens that 'pci_alloc_consistent' returns an
address in the low 32 bits. This may stop working if the user installs
more than 4Gig of memory but I can live with that for now. Performance

That should be safe as far as x86-32 goes - pci_alloc_consistent will return a low memory address which will be below 1GB.

isn't great (~110Mbytes/s on 4-channel PCIe) but it's good enough.

It's disappointing that LDD didn't have anything to say about this; it's
pretty fundamental to DMA on x86_32 and PAE.

The situation kind of sucks with that combination, yes. The block and network subsystems have their own workarounds but other drivers just have to sort of hack something together.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/