aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCédric Le Goater <clg@kaod.org>2021-08-04 12:51:24 +0530
committerVasant Hegde <hegdevasant@linux.vnet.ibm.com>2021-08-06 12:29:19 +0530
commit7f92751f688e364fd3f1e0b2f193ca0563f5c995 (patch)
treee814037a35948bed266f2f81cc0eaf89409d18c1
parentfd422c41941de527c019c30b779d826fdf43b036 (diff)
downloadskiboot-7f92751f688e364fd3f1e0b2f193ca0563f5c995.zip
skiboot-7f92751f688e364fd3f1e0b2f193ca0563f5c995.tar.gz
skiboot-7f92751f688e364fd3f1e0b2f193ca0563f5c995.tar.bz2
xive/p10: Tune max_entries_in_modified when split_mode is on
This reduces the number of entries currently modified in the ESB cache. Signed-off-by: Cédric Le Goater <clg@kaod.org> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
-rw-r--r--hw/xive2.c1
-rw-r--r--include/xive2-regs.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/hw/xive2.c b/hw/xive2.c
index 0b1fddd..2e4e75c 100644
--- a/hw/xive2.c
+++ b/hw/xive2.c
@@ -1621,6 +1621,7 @@ static void xive_config_esb_cache(struct xive *x)
if (xive_has_cap(x, CQ_XIVE_CAP_PHB_PQ_DISABLE)) {
val |= VC_ESBC_CFG_SPLIT_MODE | VC_ESBC_CFG_HASH_ARRAY_ENABLE;
+ val = SETFIELD(VC_ESBC_CFG_MAX_ENTRIES_IN_MODIFIED, val, 0xE);
xive_dbg(x, "ESB cache configured with split mode "
"and hash array. VC_ESBC_CFG=%016llx\n", val);
} else
diff --git a/include/xive2-regs.h b/include/xive2-regs.h
index c2ed265..1f7a3e7 100644
--- a/include/xive2-regs.h
+++ b/include/xive2-regs.h
@@ -233,6 +233,7 @@
#define VC_ESBC_CFG_HASH_ARRAY_ENABLE PPC_BIT(40)
#define VC_ESBC_CFG_HASH_STORE_MODE PPC_BITMASK(41,42)
#define VC_ESBC_CFG_SPLIT_MODE PPC_BIT(56)
+#define VC_ESBC_CFG_MAX_ENTRIES_IN_MODIFIED PPC_BITMASK(59,63)
/* EASC flush control register */
#define X_VC_EASC_FLUSH_CTRL 0x160