Messages in this thread |  | | Date | Fri, 3 Jan 2003 00:20:32 +0000 | From | Russell King <> | Subject | Re: [PATCH] generic device DMA (dma_pool update) |
| |
On Thu, Jan 02, 2003 at 02:07:46PM -0800, Adam J. Richter wrote: > The pci_pool_alloc in sa1111-buf.c is more interesting. > alloc_safe_buffer is used to implement an unusual version of > pci_map_single. It is unclear to me whether this approach is optimal. > I'll look into this more.
Welcome to the world of seriously broken hardware that a fair number of people put on their boards. Unfortunately, the hardware bug got marged as "never fix" by Intel.
Basically, the chip is only able to DMA from certain memory regions and its RAM size dependent. For 32MB of memory, it works out at around 1MB regions - odd regions are not able to perform DMA, even regions can.
Linux only supports one DMA region per memory node though, so in this configuration, we only have 1MB of memory able to be used for OHCI.
To work around this, we have "unusual" versions of the mapping functions. Although they may not be optimal, they are, afaik completely functional.
-- Russell King (rmk@arm.linux.org.uk) The developer of ARM Linux http://www.arm.linux.org.uk/personal/aboutme.html
- 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/
|  |