Messages in this thread | | | Date | Sun, 20 Jun 2004 20:47:23 +0100 | From | Russell King <> | Subject | Re: Proposal for new generic device API: dma_get_required_mask() |
| |
> Wouldn't it be better to not touch the masks (which are device > capabilities rather than platform limitations) and let alloc/map > functions always use the correct half of RAM?
They are device limitations - the SA1111 device (which is a bus master device in its own right) itself is the cause of the problem, so the devices integrated inside it need to know.
Eg:
+------------------------+ +---------------------------+ | | | | | SSP CPU--bus i/f-|-----+-----|-bus i/f OHCI SSP SAC | | | | | | | | | | | | | +----------------+ | | | +-------+-----+----+ | | SA11x0 | +-------+ | SA1111 | +------------------------+ | SDRAM | +---------------------------+ +-------+
The SDRAM bus is shared between the SA11x0 and SA1111 devices, and there is an arbitration protocol to hand off the SDRAM bus between the two devices.
The SSP and CPU itself inside the SA11x0 can access all SDRAM memory, but the OHCI, SSP and SAC devices within the SA1111 are affected by the problem.
So it's quite correct for this to be a device thing not a platform thing. It _is_ the SA1111 device itself which has the problem.
-- Russell King Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/ maintainer of: 2.6 PCMCIA - http://pcmcia.arm.linux.org.uk/ 2.6 Serial core - 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/
| |