| Submitter | Benjamin Herrenschmidt |
|---|---|
| Date | Dec. 1, 2008, 4:53 a.m. |
| Message ID | <20081201045413.1E539DDD0C@ozlabs.org> |
| Download | mbox | patch |
| Permalink | /patch/11505/ |
| State | Accepted |
| Commit | 2434bbb30e79468c49cff3cff6005236f55ed188 |
| Delegated to: | Paul Mackerras |
| Headers | show |
Comments
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@kernel.crashing.org> Acked-by: Becky Bruce <beckyb@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@ozlabs.org > https://ozlabs.org/mailman/listinfo/linuxppc-dev
Patch
--- 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;
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@kernel.crashing.org> --- 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(+)