]> 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)
commitdd91ebac05507316ebe2c47bd7a090c4d58f228e
treef2cb1c8aeb4839c1a9de1c6c41672a2dc01ea0fe
parenta99f788dc74a8ea6a4fd1e13e2c5555708a6193b
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