From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roland Dreier Subject: Re: [ofa-general] Re: mthca use of dma_sync_single is bogus Date: Tue, 10 Jul 2007 11:09:01 -0700 Message-ID: References: <20070709213913.GB20052@mellanox.co.il> <20070710071547.GA3814@mellanox.co.il> <20070710171142.GC11320@mellanox.co.il> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: In-Reply-To: <20070710171142.GC11320@mellanox.co.il> (Michael S. Tsirkin's message of "Tue, 10 Jul 2007 20:11:42 +0300") List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: general-bounces@lists.openfabrics.org Errors-To: general-bounces@lists.openfabrics.org To: "Michael S. Tsirkin" Cc: Lukas Hejtmanek , xen-devel@lists.xensource.com, Keir Fraser , general@lists.openfabrics.org List-Id: xen-devel@lists.xenproject.org > Aha. I looked at the code a bit. > Basically is seems that some architectures use the dma handle > and some the virtual address to flush the cache, that's > where the requirement that same parameters are used for > sync single as for map single comes from. > > So it seems that this requirement does not apply to s/g, and that we can just > build a scatterlist structure and do dma_sync_sg? The statement synchronise a single contiguous or scatter/gather mapping. All the parameters must be the same as those passed into the single mapping API. in DMA-API.txt also is clearly attached to dma_sync_sg(). So I don't think it's a good idea to rely on being able to sync a different scatterlist than the one that was originally mapped. It actually doesn't look too bad to replace our use of pci_map_sg() with dma_map_single(), at least at first glance. I'll try to write a patch later. - R.