On Mon, Jul 13, 2015 at 01:39:40PM +0100, Jon Hunter wrote: > The Tegra memory controller implements a flush feature to flush pending > accesses and prevent further accesses from occurring. This feature is > used when powering down IP blocks to ensure the IP block is in a good > state. The flushes are organised by software groups and IP blocks are > assigned in hardware to the different software groups. Add helper > functions for requesting a handle to an MC flush for a given > software group and enabling/disabling the MC flush itself. > > This is based upon a change by Vince Hsu <vinceh@xxxxxxxxxx>. > > Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> > --- > drivers/memory/tegra/mc.c | 110 ++++++++++++++++++++++++++++++++++++++++++++++ > drivers/memory/tegra/mc.h | 2 + > include/soc/tegra/mc.h | 34 ++++++++++++++ > 3 files changed, 146 insertions(+) Do we know if this is actually necessary? I remember having a discussion with Arnd Bergmann a while ago, and the Linux driver model kind of assumes that by the time a device is disabled all outstanding accesses will have stopped. Do we have a way to determine that this even makes a difference? Can we trigger a case where not doing this would cause breakage and see that adding this fixes that particular issue? Thierry
Attachment:
signature.asc
Description: PGP signature