Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751481AbcDRFGa (ORCPT ); Mon, 18 Apr 2016 01:06:30 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:42103 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750727AbcDRFG3 (ORCPT ); Mon, 18 Apr 2016 01:06:29 -0400 MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Mon, 18 Apr 2016 01:06:27 -0400 From: okaya@codeaurora.org To: David Miller Cc: linux-rdma@vger.kernel.org, timur@codeaurora.org, cov@codeaurora.org, yishaih@mellanox.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH V2] net: ethernet: mellanox: correct page conversion In-Reply-To: <20160418.000039.1946438541182822213.davem@davemloft.net> References: <1460845412-13120-1-git-send-email-okaya@codeaurora.org> <20160418.000039.1946438541182822213.davem@davemloft.net> Message-ID: <87c17d3f979cf0167cd37077f39d0534@codeaurora.org> User-Agent: Roundcube Webmail/1.1.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 927 Lines: 26 On 2016-04-18 00:00, David Miller wrote: > From: Sinan Kaya > 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 > > 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.