summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2018-08-01 09:02:06 -0500
committerStewart Smith <stewart@linux.ibm.com>2018-08-02 02:24:06 -0500
commit7db7c9f652295a47b7fed0fb62787ab795216a18 (patch)
tree7178a034ca43ba12d119b90a4eb1508f1f190e46
parent01089cb8b4a20bbf63459489312c883e210ba27e (diff)
downloadtalos-skiboot-7db7c9f652295a47b7fed0fb62787ab795216a18.tar.gz
talos-skiboot-7db7c9f652295a47b7fed0fb62787ab795216a18.zip
xive: Disable block tracker
Due to some HW errata, the block tracking facility (performance optimisation for large systems) should be disabled on Nimbus chips. Disable it unconditionally for now. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Reviewed-by: Cédric Le Goater <clg@kaod.org> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
-rw-r--r--hw/xive.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/hw/xive.c b/hw/xive.c
index f48d7a41..515f154d 100644
--- a/hw/xive.c
+++ b/hw/xive.c
@@ -1762,9 +1762,11 @@ static bool xive_config_init(struct xive *x)
val |= VC_SBC_CONF_NO_UPD_PRF;
xive_regw(x, VC_SBC_CONFIG, val);
- /* Enable block tracking */
+ /* Disable block tracking on Nimbus (we may want to enable
+ * it on Cumulus later). HW Erratas.
+ */
val = xive_regr(x, PC_TCTXT_TRACK);
- val |= PC_TCTXT_TRACK_EN;
+ val &= ~PC_TCTXT_TRACK_EN;
xive_regw(x, PC_TCTXT_TRACK, val);
/* Enable relaxed ordering of trigger forwarding */
OpenPOWER on IntegriCloud