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