diff options
author | Vineet Gupta <vgupta@synopsys.com> | 2016-06-22 16:01:19 +0530 |
---|---|---|
committer | Vineet Gupta <vgupta@synopsys.com> | 2017-01-18 14:48:33 -0800 |
commit | 8c47f83ba45928ce9495fcf1b29e828c28e3c839 (patch) | |
tree | ffb95bea156f0877e579897aa8b36ad847e70322 /arch/arc/include/asm | |
parent | d4911cdd3270da45d3a1c55bf28e88a932bbba7b (diff) | |
download | op-kernel-dev-8c47f83ba45928ce9495fcf1b29e828c28e3c839.zip op-kernel-dev-8c47f83ba45928ce9495fcf1b29e828c28e3c839.tar.gz |
ARCv2: IOC: Adhere to progamming model guidelines to avoid DMA corruption
On AXS103 release bitfiles, DMA data corruptions were seen because IOC
setup was not following the recommended way in documentation.
Flipping IOC on when caches are enabled or coherency transactions are in
flight, might cause some of the memory operations to not observe
coherency as expected.
So strictly follow the programming model recommendations as documented
in comment header above arc_ioc_setup()
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Diffstat (limited to 'arch/arc/include/asm')
-rw-r--r-- | arch/arc/include/asm/cache.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/arc/include/asm/cache.h b/arch/arc/include/asm/cache.h index 5f924a1..5008021 100644 --- a/arch/arc/include/asm/cache.h +++ b/arch/arc/include/asm/cache.h @@ -67,7 +67,7 @@ extern unsigned long perip_base, perip_end; #define ARC_REG_IC_PTAG_HI 0x1F /* Bit val in IC_CTRL */ -#define IC_CTRL_CACHE_DISABLE 0x1 +#define IC_CTRL_DIS 0x1 /* Data cache related Auxiliary registers */ #define ARC_REG_DC_BCR 0x72 /* Build Config reg */ @@ -80,8 +80,9 @@ extern unsigned long perip_base, perip_end; #define ARC_REG_DC_PTAG_HI 0x5F /* Bit val in DC_CTRL */ -#define DC_CTRL_INV_MODE_FLUSH 0x40 -#define DC_CTRL_FLUSH_STATUS 0x100 +#define DC_CTRL_DIS 0x001 +#define DC_CTRL_INV_MODE_FLUSH 0x040 +#define DC_CTRL_FLUSH_STATUS 0x100 /*System-level cache (L2 cache) related Auxiliary registers */ #define ARC_REG_SLC_CFG 0x901 |