Re: [PATCH] swiotlb: Replace dma_length to sg_dma_len() macro

From: Konrad Rzeszutek Wilk
Date: Fri Aug 02 2013 - 12:26:58 EST


On Tue, Apr 16, 2013 at 05:37:52AM +0000, EUNBONG SONG wrote:
>
> This patch replace dma_length in "lib/swiotlb.c" to sg_dma_len() macro, because the build error can occur
> if CONFIG_NEED_SG_DMA_LENGTH is not set, and CONFIG_SWIOTLB is set.
> I confirmed compile only.

Stefano, This patch should fix the ARM issues, but when I tried to apply it
would go all wonky.

>
> Singed-off-by: EunBong Song <eunb.song@xxxxxxxxxxx>
>
> ---
> lib/swiotlb.c | 8 ++++----
> 1 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/lib/swiotlb.c b/lib/swiotlb.c
> index bfe02b8..7b16f4a 100644
> --- a/lib/swiotlb.c
> +++ b/lib/swiotlb.c
> @@ -859,13 +859,13 @@ swiotlb_map_sg_attrs(struct device *hwdev, struct scatterlist *sgl, int nelems,
> swiotlb_full(hwdev, sg->length, dir, 0);
> swiotlb_unmap_sg_attrs(hwdev, sgl, i, dir,
> attrs);
> - sgl[0].dma_length = 0;
> + sg_dma_len(sgl) = 0;
> return 0;
> }
> sg->dma_address = phys_to_dma(hwdev, map);
> } else
> sg->dma_address = dev_addr;
> - sg->dma_length = sg->length;
> + sg_dma_len(sg) = sg->length;
> }
> return nelems;
> }
> @@ -893,7 +893,7 @@ swiotlb_unmap_sg_attrs(struct device *hwdev, struct scatterlist *sgl,
> BUG_ON(dir == DMA_NONE);
>
> for_each_sg(sgl, sg, nelems, i)
> - unmap_single(hwdev, sg->dma_address, sg->dma_length, dir);
> + unmap_single(hwdev, sg->dma_address, sg_dma_len(sg), dir);
>
> }
> EXPORT_SYMBOL(swiotlb_unmap_sg_attrs);
> @@ -923,7 +923,7 @@ swiotlb_sync_sg(struct device *hwdev, struct scatterlist *sgl,
>
> for_each_sg(sgl, sg, nelems, i)
> swiotlb_sync_single(hwdev, sg->dma_address,
> - sg->dma_length, dir, target);
> + sg_dma_len(sg), dir, target);
> }
>
> void
> --
> 1.7.0.4
--
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/