Re: [PATCH] firewire: Enable physical DMA above 4GB

From: Peter Hurley
Date: Tue Mar 26 2013 - 13:04:53 EST


On Tue, 2013-03-26 at 17:12 +0100, Clemens Ladisch wrote:
> Peter Hurley wrote:
> > Quadlet reads to memory above 4GB is painfully slow when serviced
> > by the AR DMA context. In addition, the CPU(s) may be locked-up,
> > preventing any transfer at all.
>
> Using physical DMA prevents the use of that address space for software
> address handlers, so you have adjust the low_memory_region start in
> core-transaction.c.

Right, thanks for pointing that out.

> > Write the PhyUpperBound register with the end-of-memory value. If
> > end-of-memory is beyond the OHCI limit of 0x0000ffff00000000,
> > clamp to that value.
>
> You will have to lower this limit; there are protcols that assume that
> addresses like 0xecc000000000 are available for software.

Maybe 0x0000e80000000000 is a better maximum upper bound?

Regards,
Peter Hurley

--
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/