From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752021AbaKJSc1 (ORCPT ); Mon, 10 Nov 2014 13:32:27 -0500 Received: from foss-mx-na.foss.arm.com ([217.140.108.86]:55737 "EHLO foss-mx-na.foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751550AbaKJSc0 (ORCPT ); Mon, 10 Nov 2014 13:32:26 -0500 Date: Mon, 10 Nov 2014 18:32:11 +0000 From: Catalin Marinas To: Stefano Stabellini Cc: "xen-devel@lists.xensource.com" , "konrad.wilk@oracle.com" , "Ian.Campbell@citrix.com" , "david.vrabel@citrix.com" , "linux-kernel@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" Subject: Re: [PATCH v8 09/13] xen/arm/arm64: merge xen/mm32.c into xen/mm.c Message-ID: <20141110183211.GF25609@e104818-lin.cambridge.arm.com> References: <1415636045-24669-9-git-send-email-stefano.stabellini@eu.citrix.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1415636045-24669-9-git-send-email-stefano.stabellini@eu.citrix.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Nov 10, 2014 at 04:14:01PM +0000, Stefano Stabellini wrote: > --- a/arch/arm/xen/mm.c > +++ b/arch/arm/xen/mm.c > @@ -1,6 +1,10 @@ > +#include > +#include > #include > #include > +#include > #include > +#include > #include > #include > #include > @@ -16,6 +20,88 @@ > #include > #include > > +enum dma_cache_op { > + DMA_UNMAP, > + DMA_MAP, > +}; > + > +/* functions called by SWIOTLB */ > + > +static void dma_cache_maint(dma_addr_t handle, unsigned long offset, > + size_t size, enum dma_data_direction dir, enum dma_cache_op op) > +{ > + unsigned long pfn; > + size_t left = size; > + > + pfn = (handle >> PAGE_SHIFT) + offset / PAGE_SIZE; > + offset %= PAGE_SIZE; > + > + do { > + size_t len = left; > + > + BUG_ON(pfn_valid(pfn)); You probably don't need this in the loop. > + > + /* TODO: cache flush */ > + > + offset = 0; > + pfn++; > + left -= len; > + } while (left); > +} That's smaller now ;). I have to finish reading the other patches to see what ends up replacing TODO. -- Catalin