[ofa-general] [PATCH 1/11] IB/ipoib: high dma support
Or Gerlitz
ogerlitz at voltaire.com
Tue Sep 25 04:06:46 PDT 2007
Eli Cohen wrote:
> On Tue, 2007-09-25 at 12:22 +0200, Or Gerlitz wrote:
>> Eli Cohen wrote:
>>> Add high dma support to ipoib
>>> This patch assumes all IB devices support 64 bit DMA.
>> On some architectures DMA addresses are 32 bit, so I am not sure to
>> follow your comment. This capability states that the network device can
>> dma to high memory.
> I believe it means that *if* the kernel hands buffers whose addresses
> exceed 32 bits then the device can handle them.
High-memory is well documents in books and elsewhere. I just want to say
that the change-log comment is confusing and unrelated.
What you want to say is that this patch assumes that for all IB devices,
ib_dma_map_single and ib_dma_map_page supports high memory, which is not
the case, see below.
Ralph?
Or.
> static u64 ipath_dma_map_page(struct ib_device *dev,
> struct page *page,
> unsigned long offset,
> size_t size,
> enum dma_data_direction direction)
> {
> u64 addr;
>
> BUG_ON(!valid_dma_direction(direction));
>
> if (offset + size > PAGE_SIZE) {
> addr = BAD_DMA_ADDRESS;
> goto done;
> }
>
> addr = (u64) page_address(page);
> if (addr)
> addr += offset;
> /* TODO: handle highmem pages */
>
> done:
> return addr;
> }
More information about the general
mailing list