Hello Stany, [CCing linux-m68k@xxxxxxxxxxxxxxx] On Mon, Oct 15, 2012 at 03:37:25PM +0200, Stany MARCEL wrote:
Hello, I have sent a patch on linuxm68k mailing list, a few minutes ago, that permits to use your driver correctly with MMU without caching issues. The strategy is to map a memory zone used for dma allocation as non cachable.
Bright idea.
It is a lot better than a complete flush at each network operation, and correct my issue of lost UDP frames. With this and the read write operation replaced by __raw_* one Your FEC and MCD DMA works very well for me.
Thanks for the positive feedback. I was not aware of any difference between __raw_writel and writel on m68k. For the non-MMU case, I see: arch/m68k/include/asm/io_no.h:#define __raw_writel writel but now I have found for the MMU case: arch/m68k/include/asm/io_mm.h:#define writel(val,addr) out_le32((addr),(val)) arch/m68k/include/asm/raw_io.h:#define __raw_writel(val,addr) out_be32((addr),(val)) and I understand your problem (out_le32 vs out_be32), but I wonder: should we not: - try to understand/fix the difference between __raw_writel and writel in CONFIG_MMU case (Greg, Geert ?) - or go to out_be32 Best regards Philippe -- To unsubscribe from this list: send the line "unsubscribe linux-m68k" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html