Patch "ARCv2: SLC: Make sure busy bit is set properly for region ops" has been added to the 4.12-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
ARCv2: SLC: Make sure busy bit is set properly for region ops
to the 4.12-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
arcv2-slc-make-sure-busy-bit-is-set-properly-for-region-ops.patch
and it can be found in the queue-4.12 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
b37174d95b0251611a80ef60abf03752e9d66d67Mon Sep 17 00:00:00 2001
From: Alexey Brodkin <[email protected]>
Date: Fri, 7 Jul 2017 12:25:14 +0300
Subject: ARCv2: SLC: Make sure busy bit is set properly for region ops
From: Alexey Brodkin <[email protected]>
commit b37174d95b0251611a80ef60abf03752e9d66d67 upstream.
c70c473396cb "ARCv2: SLC: Make sure busy bit is set properly on SLC flushing" fixes problem for entire SLC operation where the problem was initially caught. But given a nature of the issue it is perfectly possible for busy bit to be read incorrectly even when region operation was started.
So extending initial fix for regional operation as well.
--- arch/arc/mm/cache.c | 3 +++ 1 file changed, 3 insertions(+)
arch/arc/mm/cache.c +3 -0
@@ -697,6 +697,9 @@ noinline void slc_op(phys_addr_t paddr,write_aux_reg (ARC_REG_SLC_RGN_END , (paddr + sz + l2_line_sz -1 ));write_aux_reg (ARC_REG_SLC_RGN_START , paddr); +/* Make sure "busy" bit reports correct stataus, see STAR 9001165532 */ +read_aux_reg (ARC_REG_SLC_CTRL ); +while (read_aux_reg (ARC_REG_SLC_CTRL ) &SLC_CTRL_BUSY );spin_unlock_irqrestore (&lock, flags);
Patches currently in stable-queue which might be from [email protected] are
queue-4.12/arcv2-slc-make-sure-busy-bit-is-set-properly-for-region-ops.patch queue-4.12/arcv2-pae40-explicitly-set-msb-counterpart-of-slc-region-ops-addresses.patch