Skip to contentSkip to conversation

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

PATCH [email protected] 1 participant 1 message Aug 27, 2017

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

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 b37174d95b0251611a80ef60abf03752e9d66d67 Mon 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