[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20101203153645.GB30898@n2100.arm.linux.org.uk>
Date: Fri, 3 Dec 2010 15:36:45 +0000
From: Russell King - ARM Linux <linux@....linux.org.uk>
To: Linus Walleij <linus.ml.walleij@...il.com>
Cc: linux kernel <linux-kernel@...r.kernel.org>,
David Brownell <david-b@...bell.net>, per.forlin@...aro.org,
Ulf Hansson <Ulf.Hansson@...ricsson.com>
Subject: Re: dma_unmap_sg - what number of entries is to be passed as
parameter really?
On Fri, Dec 03, 2010 at 02:40:56PM +0100, Linus Walleij wrote:
> Now we have a contradiction between two pieces of documentation,
> in Documentation/DMA-API.txt
>
>
> void
> dma_unmap_sg(struct device *dev, struct scatterlist *sg,
> int nhwentries, enum dma_data_direction direction)
>
> Unmap the previously mapped scatter/gather list. All the parameters
> must be the same as those and passed in to the scatter/gather mapping
> API.
>
> Note: <nents> must be the number you passed in, *not* the number of
> physical entries returned.
>
>
> Note the last paragraph! But in arch/arm/mm/dma-mapping.c;
>
>
> /**
> * dma_unmap_sg - unmap a set of SG buffers mapped by dma_map_sg
> * @dev: valid struct device pointer, or NULL for ISA and EISA-like devices
> * @sg: list of buffers
> * @nents: number of buffers to unmap (returned from dma_map_sg)
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> * @dir: DMA transfer direction (same as was passed to dma_map_sg)
> *
> * Unmap a set of streaming mode DMA translations. Again, CPU access
> * rules concerning calls here are the same as for dma_unmap_single().
> */
>
> So the documentation in Documentation/ says one thing, whereas
> the ARM implementation documentation says something else.
>
> Which one is it? (Looks like the first one from Documentation/ to me.)
The only from Documentation/. Luckily though, it doesn't make any
odds to the implementation on ARM as we don't have IOMMUs involved
in the DMA layer where we could coalesce entries.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists