Enabling 64 bit data type for dma_addr_t on non PPC64 architecture

From: Tushar Tyagi <hidden>
Date: 2008-04-26 02:59:22

Hello,
I'm working a new DMA hardware for PPC processors.
The processor is a 32 bit architecture having 40 bit physical address
space.=20
So we need the 32 bit processor code base but we want the type
dma_addr_t to represent 64 bit data, without enabling the CONFIG_PPC64
flag.
=20
We want to use the Linux generic DMA layer to offload DMA operations to
the hw and the Linux code path goes through function=20
dma_async_memcpy_buf_to_buf and then dma_map_single.
=20
Currently the dma_map_single function has 2 versions based upon
CONFIG_PPC64 defined or not.
=20
Is it possible to reuse the CONFIG_PPC64 based code only pertaining to
DMA by doing the following:
=20
Add a new flag called CONFIG_DMA64 along with CONFIG_PPC64 and
__powerpc64__ flags, enabling our code to use the generic DMA layer with
64 bit data type for dma_addr_t.
=20
With the above modification, the function dma_map_single starts
returning 64 bit data type instead of 32.
=20
Do you have any comments or suggestions ?
=20
-thanks
TT
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help