To assure completion of the previous writes through Tegra interconnect
activity monitor code used memory write barrier followed by read fence.
Removed the preceding memory barrier, since it has no additional to
read fence effect (given Tegra IO mapping as device). Added barrier
after read fence. The latter is needed to avoid partial overlap of
read operation and propagation delay after read (if any). Such overlap
is possible since architectural timer used as delay counter is not MMIO
register.
Bug
1484343
Change-Id: I71537f5c013ac2c3f04eea600d89ec333ec5ab19
Signed-off-by: Alex Frid <afrid@nvidia.com>
Reviewed-on: http://git-master/r/390283
Reviewed-by: Hoang Pham <hopham@nvidia.com>
Reviewed-by: Krishna Reddy <vdumpa@nvidia.com>
}
static inline void actmon_wmb(void)
{
- wmb();
actmon_readl(ACTMON_GLB_STATUS);
+ dsb();
}
#define offs(x) (dev->reg + x)