Patch "ARCv2: SLC: Make sure busy bit is set properly for region ops" has been added to the 4.12-stable tree

gregkh
2017-08-27T07:48:06Z

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 <stable@vger.kernel.org> know about it.

>From b37174d95b0251611a80ef60abf03752e9d66d67 Mon Sep 17 00:00:00 2001
From: Alexey Brodkin <abrodkin@synopsys.com>
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 <abrodkin@synopsys.com>

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.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
arch/arc/mm/cache.c | 3 +++
1 file changed, 3 insertions(+)

--- a/arch/arc/mm/cache.c
+++ b/arch/arc/mm/cache.c
@@ -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 abrodkin@synopsys.com 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