Re: [PATCH][PPC32[NEWBIE] enhancement to virt_to_bus/bus_to_virt (try 2)

From: Linh Dang
Date: Sun Dec 05 2004 - 14:20:18 EST


On Sun, 5 Dec 2004 02:11:10 -0800, Eugene Surovegin <ebs@xxxxxxxxxxx> wrote:
[...]
>
> Unfortunately your patch doesn't achieve your goals. vmalloc space on
> PPC32 will be between KERNEL_BASE and ioremap_bot anyway, so
> additional check is mostly useless anyway (it will only call iopa()
> for ioremaps done early during the boot).

Duh! how about using total_lowmem? i.e. use the current way for memory
between KERNEL_BASE and (KERNEL_BASE+total_lowmem),
and iopa for other addresses?

>
> Also, even assuming you got the range right and called iopa() for
> vmalloced space, tell me how are you gonna deal with non-physically
> continuous vmalloced buffers in your DMA library?

>From a single virtual buffer, the DMA library will build a chained list of
physically contiguous buffers (it can be one or more physical buffers).
All the DMA engines I'm familiar with (mpc8260, mpc8580, marvell, etc.)
accept a list of physical buffers.

The decoding algorithm (from a single virtual buffer to a chained list of
physical buffers) is dead simple.

Thanx for the reply
--
Linh Dang
-
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/