diff options
author | Christophe Lombard <clombard@linux.vnet.ibm.com> | 2018-02-03 10:45:53 +0100 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2018-02-08 18:21:42 -0600 |
commit | e88bb694d32e909960b1ae6f717265cc0aba8e4d (patch) | |
tree | 5eb84016aca872eda7014928fc26a68f14028153 /hw | |
parent | 893660c3e4ee52f5c3cba6e9d72c00d5e3283808 (diff) | |
download | skiboot-e88bb694d32e909960b1ae6f717265cc0aba8e4d.zip skiboot-e88bb694d32e909960b1ae6f717265cc0aba8e4d.tar.gz skiboot-e88bb694d32e909960b1ae6f717265cc0aba8e4d.tar.bz2 |
capi: Fix the max tlbi divider and the directory size.
Switch to 512KB mode (directory size) as we don’t use bit 48 of the tag
in addressing the array. This mode is controlled by the Snoop CAPI
Configuration Register.
Set the maximum of the number of data polls received before signaling
TLBI hang detect timer expired. The value of '0000' is equal to 16.
Signed-off-by: Christophe Lombard <clombard@linux.vnet.ibm.com>
Reviewed-by: Vaibhav Jain <vaibhav@linux.vnet.ibm.com>
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'hw')
-rw-r--r-- | hw/phb4.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -3597,8 +3597,8 @@ static void phb4_init_capp_regs(struct phb4 *p, uint32_t capp_eng) 0x1772000000000000); PHBINF(p, "CAPP: port attached\n"); - /* Set snoop ttype decoding , dir size to 256k */ - xscom_write(p->chip_id, SNOOP_CAPI_CONFIG + offset, 0xA000000000000000); + /* Set snoop ttype decoding , dir size to 512K */ + xscom_write(p->chip_id, SNOOP_CAPI_CONFIG + offset, 0x9000000000000000); /* Use Read Epsilon Tier2 for all scopes. * Set Tier2 Read Epsilon. @@ -3638,6 +3638,7 @@ static void phb4_init_capp_regs(struct phb4 *p, uint32_t capp_eng) reg &= ~PPC_BIT(12); /* Set CI Store Buffer Threshold=5 */ reg |= PPC_BIT(13); /* Set CI Store Buffer Threshold=5 */ reg &= ~PPC_BITMASK(14, 17); /* Set Max LPC CI store buffer to zeros */ + reg &= ~PPC_BITMASK(18, 21); /* Set Max tlbi divider */ if (capp_eng & CAPP_MIN_STQ_ENGINES) { /* 2 CAPP msg engines */ reg |= PPC_BIT(59); |