Messages in this thread | | | Subject | Re: Proposal for new generic device API: dma_get_required_mask() | From | Krzysztof Halasa <> | Date | Sun, 20 Jun 2004 01:39:18 +0200 |
| |
James Bottomley <James.Bottomley@steeleye.com> writes:
> Could you elaborate on this? In the current scheme the coherent mask is > for descriptor allocation (i.e. dma_alloc_coherent()) and the dma_mask > represents the bus physical addresses to which the device can DMA > directly; there's not much more the DMA API really does, what do you > think is missing?
The problem is that (depending on platform) the pci_map_* and dma_map_* functions ignore both masks. An example of such platform is i386 :-)
It seems the masks are used on i386 for only one thing - consistent dma mask is used for consistent allocations only, and normal dma mask is not used at all.
The normal mask is used mainly on 64-bit platforms and the meaningful values are 2^32-1 and 2^64-1. It's used by PCI-X device drivers to enable DAC transfers. This is why it isn't used on 32-bit platforms. -- Krzysztof Halasa, B*FH - 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/
| |