]> git.baikalelectronics.ru Git - kernel.git/commit
csky: fixup CACHEV1 store instruction fast retire
authorGuo Ren <ren_guo@c-sky.com>
Tue, 8 Jan 2019 12:17:49 +0000 (20:17 +0800)
committerGuo Ren <ren_guo@c-sky.com>
Tue, 8 Jan 2019 15:42:42 +0000 (23:42 +0800)
commitb36a9cf69f99db2f3302304fba6583c42b384451
treef2cb1c8aeb4839c1a9de1c6c41672a2dc01ea0fe
parentec9bc65a714f5c49b6bcfbf501615bc4498d2ff3
csky: fixup CACHEV1 store instruction fast retire

For I/O access, 810/807 store instruction fast retire will cause wrong
primitive. For example:

stw (clear interrupt source)
stw (unmask interrupt controller)
enable interrupt

stw is fast retire instruction. When PC is run at enable interrupt
stage, the clear interrupt source hasn't finished. It will cause another
wrong irq-enter.

So use mb() to prevent above.

Signed-off-by: Guo Ren <ren_guo@c-sky.com>
Cc: Lu Baoquan <lu.baoquan@intellif.com>
arch/csky/include/asm/io.h