Skip to content

Commit 67060ce

Browse files
Vladimir IsaevVVIsaev
authored andcommitted
ARC: Invalidate whole SCM before using it
CMD_INCR must be set to be sure that all SCM is invalidated. Signed-off-by: Vladimir Isaev <isaev@synopsys.com>
1 parent dffaac4 commit 67060ce

File tree

2 files changed

+3
-1
lines changed

2 files changed

+3
-1
lines changed

arch/arc/include/asm/cluster.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@ struct bcr_cln_scm_1_cfg {
113113
#define ARC_CLN_CACHE_CMD_OP_ADDR_INV 0b1101
114114
#define ARC_CLN_CACHE_CMD_OP_ADDR_CLN 0b1110
115115
#define ARC_CLN_CACHE_CMD_OP_ADDR_CLN_INV 0b1111
116+
#define ARC_CLN_CACHE_CMD_INCR BIT(4)
116117

117118
#define ARC_CLN_CACHE_STATUS 209
118119
#define ARC_CLN_CACHE_STATUS_BUSY BIT(23)

arch/arc/mm/cluster.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ void arc_cluster_scm_enable()
3333
arc_cln_write_reg(ARC_CLN_CACHE_STATUS, 0);
3434

3535
/* Invalidate SCM before enabling. */
36-
arc_cln_write_reg(ARC_CLN_CACHE_CMD, ARC_CLN_CACHE_CMD_OP_REG_INV);
36+
arc_cln_write_reg(ARC_CLN_CACHE_CMD, ARC_CLN_CACHE_CMD_OP_REG_INV |
37+
ARC_CLN_CACHE_CMD_INCR);
3738
while (arc_cln_read_reg(ARC_CLN_CACHE_STATUS) &
3839
ARC_CLN_CACHE_STATUS_BUSY)
3940
;

0 commit comments

Comments
 (0)