Tim Waugh (tim@cyberelk.demon.co.uk)
Thu, 13 May 1999 18:42:55 +0100 (GMT)
On Thu, 13 May 1999, Philip Blundell wrote:
> >But how does the high-level driver know to allocate DMA-capable memory?
>
> My thinking was that it wouldn't need to care. If it just allocates
> memory any old way, there's a chance you may end up with DMA-able
> space (in which case so much the better) and there's a chance you may
> not, in which case the low level driver can use the bounce buffer as
> necessary.
But if DMA-able memory is 'left until last' by kmalloc when GFP_DMA isn't
specified, we'll be copying most of the time.
I think it would be nice to put something in port->modes just in case the
high-level driver wants to increase the chance of saving copies. Then, if
it sees PARPORT_MODE_DMA in port->modes, it can try GFP_DMA first (and
fall back to non-DMA memory if that fails).
> Incidentally, quite a few modern chipsets can do ISA DMA to anywhere in
> memory, not just the low 16MB. But I'm not sure how to probe for this
> facility so that we could safely use it.
That's worth knowing.
Tim.
*/
-- To unsubscribe, send mail to: linux-parport-request@torque.net --
-- with the single word "unsubscribe" in the body of the message. --
This archive was generated by hypermail 2.0b3 on Thu 13 May 1999 - 13:55:59 EDT