[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <AANLkTimL=UX-FpNL7gqPnThmqK-BuZQJStGLrwwq2O0w@mail.gmail.com>
Date: Fri, 3 Dec 2010 14:40:56 +0100
From: Linus Walleij <linus.ml.walleij@...il.com>
To: linux kernel <linux-kernel@...r.kernel.org>,
David Brownell <david-b@...bell.net>,
Russell King - ARM Linux <linux@....linux.org.uk>
Cc: per.forlin@...aro.org, Ulf Hansson <Ulf.Hansson@...ricsson.com>
Subject: dma_unmap_sg - what number of entries is to be passed as parameter really?
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.)
I will happily patch the culprit...
Yours,
Linus Walleij
--
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