[PXA320] dmac_flush_range and burst on SMEMC

Eric Miao eric.y.miao at gmail.com
Fri Dec 18 04:39:18 EST 2009


On Fri, Dec 18, 2009 at 5:00 PM, Patrick <kpa_info at yahoo.fr> wrote:
> Hello all,
>
> I am using a PXA320 with a FPGA connected on the VLIO memory bus. For faster transfer between the PXA and the FPGA I would like to use burst (supported by the SMEMC in VLIO).
>
> I was using a 2.6.26 kernel and burst was working very fine. I was using ioremap_cached and after a loop of iowrite32 and a call to dmac_flush_range to start the burst. It was working fine.
>
> I have migrated to a 2.6.28 kernel with the same driver code. All the data writed by the loop of iowrite32 is lost and only the last burst is writed using PIO and no burst. It's like if dmac_flush_range is not working and flush no cash at all.
>
> Do you have any idea ? Should I use another function than dmac_flush_range ?

Did you enable L2 cache and how your memory region is mapped?

PS: using dmac_* is not recommended, use dma API instead, or
at least dma_cache_maint().



More information about the linux-arm-kernel mailing list