[PATCH] powerpc: Fix dma_map_sg() cache flushing on non coherent platforms

Becky Bruce beckyb at kernel.crashing.org
Tue Dec 2 03:23:26 EST 2008


On Nov 30, 2008, at 10:53 PM, Benjamin Herrenschmidt wrote:

> On PowerPC 4xx or other non cache coherent platforms, we lost the
> appropriate cache flushing in dma_map_sg() when merging the 32
> and 64-bit DMA code.
>
> Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>

Acked-by: Becky Bruce <beckyb at kernel.crashing.org>

Sins of omission are always the hardest to catch.....  My apologies,  
and thanks!

-B

>
> ---
>
> Oops .. nobody spotted that when Becky patches went in !
>
> Paul: This is a 2.6.28 regression and should be merged asap
>
> arch/powerpc/kernel/dma.c |    1 +
> 1 file changed, 1 insertion(+)
>
> --- linux-work.orig/arch/powerpc/kernel/dma.c	2008-12-01  
> 15:44:55.000000000 +1100
> +++ linux-work/arch/powerpc/kernel/dma.c	2008-12-01  
> 15:45:13.000000000 +1100
> @@ -75,6 +75,7 @@ static int dma_direct_map_sg(struct devi
> 	for_each_sg(sgl, sg, nents, i) {
> 		sg->dma_address = sg_phys(sg) + get_dma_direct_offset(dev);
> 		sg->dma_length = sg->length;
> +		__dma_sync_page(sg_page(sg), sg->offset, sg->length, direction);
> 	}
>
> 	return nents;
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev at ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev




More information about the Linuxppc-dev mailing list