Re: dma_unmap_sg - what number of entries is to be passed asparameter really?

From: FUJITA Tomonori
Date: Sun Dec 05 2010 - 18:19:45 EST


On Fri, 3 Dec 2010 14:40:56 +0100
Linus Walleij <linus.ml.walleij@xxxxxxxxx> 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.

Can you remove DMA-API comments in arch? They simply lead to
confusion.

DMA-API.txt and DMA-API-HOWTO.txt in Documentation should be always
used.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/