Re: Microblaze, DMA and cache: Lack of sync functions?
From: Michal Simek
Date: Mon Aug 15 2011 - 08:22:40 EST
Eli Billauer wrote:
Hello,
Before I make a needless hack, please correct me if I'm wrong: in
arch/microblaze/kernel/dma.c, the sync_single_for_cpu,
sync_single_for_device and friends are not set in the dma_direct_ops
structure (and not implemented), so calls from drivers to the
corresponding functions will do nothing. Since the Microblaze cache
doesn't update automatically on DMA operations, this looks like a bug to
me: The driver thinks the cache has been flushed or updated, but it
actually hasn't.
Map and unmap methods are indeed implemented and registered, and they
both call an internal function to sync the cache. So why are there no
sync functions?
It is not the bug just unimplemented feature and I haven't had any problem
that these functions are not implemented.
Implementation should be pretty straight forward. Patches welcomed.
Thanks,
Michal
--
Michal Simek, Ing. (M.Eng)
PetaLogix - Linux Solutions for a Reconfigurable World
w: www.petalogix.com p: +61-7-30090663,+42-0-721842854 f: +61-7-30090663
--
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/