Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758481AbXJYLcJ (ORCPT ); Thu, 25 Oct 2007 07:32:09 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754377AbXJYLb4 (ORCPT ); Thu, 25 Oct 2007 07:31:56 -0400 Received: from brick.kernel.dk ([87.55.233.238]:7919 "EHLO kernel.dk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753662AbXJYLbz (ORCPT ); Thu, 25 Oct 2007 07:31:55 -0400 Date: Thu, 25 Oct 2007 13:30:10 +0200 From: Jens Axboe To: Rolf Eike Beer Cc: Arjan van de Ven , Hugh Dickins , linux-kernel@vger.kernel.org Subject: Re: [PATCH 2.6.24-rc1] fix sg_phys to use dma_addr_t Message-ID: <20071025113010.GX5053@kernel.dk> References: <200710251100.29739.eike-kernel@sf-tec.de> <20071025090646.GI5053@kernel.dk> <200710251324.45776.eike-kernel@sf-tec.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200710251324.45776.eike-kernel@sf-tec.de> Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1910 Lines: 42 On Thu, Oct 25 2007, Rolf Eike Beer wrote: > Jens Axboe wrote: > > On Thu, Oct 25 2007, Rolf Eike Beer wrote: > > > Jens Axboe wrote: > > > > On Thu, Oct 25 2007, Rolf Eike Beer wrote: > > > > > Am Donnerstag, 25. Oktober 2007 schrieb Arjan van de Ven: > > > > > > > Signed-off-by: Hugh Dickins > > > > > > > --- > > > > > > > Whether this is a complete patch, suitable for all architectures, > > > > > > > I'm not sure: it builds, boots and runs correctly on the x86_32 > > > > > > > box in question, but you'll be a lot wiser than me about using > > > > > > > dma_addr_t for everyone. (Seems a bit of a shame to include > > > > > > > here, when I think all arches already get to > > > > > > > include it one way or another, typically via asm/scatterlist.h; > > > > > > > but I guess it's safest to repeat it.) > > > > > > > > > > > > there is a problem with this... sg_phys doesn't return an actual > > > > > > *dma* address.... at least not an address you can give to the > > > > > > device. Using dma_addr_t is thus a bit misleading..... > > > > > > > > > > Ok, then: how do I actually get such an address? > > > > > > > > You use the dma mapping api, Documentation/DMA-mapping.txt > > > > > > Which comes back always to the same point: if I get a buffer from > > > userspace to use for DMA: what can I do then? I need to convert a > > > given list of (physical, pinned) pages to DMA addresses. > > > > get_user_pages() -> fill in sg table -> pci/dma_map_sg() > > So the answer to the first question should have been sg_dma_address() ;) Yes, provided it's mapped you use sg_dma_address() and sg_dma_len() :-) -- Jens Axboe - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/