[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87c17d3f979cf0167cd37077f39d0534@codeaurora.org>
Date:	Mon, 18 Apr 2016 01:06:27 -0400
From:	okaya@...eaurora.org
To:	David Miller <davem@...emloft.net>
Cc:	linux-rdma@...r.kernel.org, timur@...eaurora.org,
	cov@...eaurora.org, yishaih@...lanox.com, netdev@...r.kernel.org,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH V2] net: ethernet: mellanox: correct page conversion
On 2016-04-18 00:00, David Miller wrote:
> From: Sinan Kaya <okaya@...eaurora.org>
> Date: Sat, 16 Apr 2016 18:23:32 -0400
> 
>> Current code is assuming that the address returned by 
>> dma_alloc_coherent
>> is a logical address. This is not true on ARM/ARM64 systems. This 
>> patch
>> replaces dma_alloc_coherent with dma_map_page API. The address 
>> returned
>> can later by virtually mapped from the CPU side with vmap API.
>> 
>> Signed-off-by: Sinan Kaya <okaya@...eaurora.org>
> 
> You can't do this.
> 
> The DMA map page API gives non-coherent mappings, and thus requires
> proper flushing.
> 
> So a straight conversion like this is never legitimate.
I would agree on proper dma api usage. However, the code is already 
assuming coherent architecture by mapping the cpu pages as page_kernel.
Dma_map_page returns cached buffers and you don't need cache flushes on 
coherent architecture to make the data visible.
Powered by blists - more mailing lists
 
