[PATCH Xenial SRU] cxl: Set psl_fir_cntl to production environment value

Tim Gardner tim.gardner at canonical.com
Fri Aug 12 14:30:14 UTC 2016


From: Frederic Barrat <fbarrat at linux.vnet.ibm.com>

BugLink: http://bugs.launchpad.net/bugs/1612431

Switch the setting of psl_fir_cntl from debug to production
environment recommended value. It mostly affects the PSL behavior when
an error is raised in psl_fir1/2.

Tested with cxlflash.

Signed-off-by: Frederic Barrat <fbarrat at linux.vnet.ibm.com>
Reviewed-by: Uma Krishnan <ukrishn at linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe at ellerman.id.au>
(back ported from linux-next commit c6d2ee09c2fffd3efdd31be2b2811d081a45bb99)
Signed-off-by: Tim Gardner <tim.gardner at canonical.com>

 Conflicts:
	drivers/misc/cxl/pci.c
---
 drivers/misc/cxl/pci.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/misc/cxl/pci.c b/drivers/misc/cxl/pci.c
index bf56468..4aea07e 100644
--- a/drivers/misc/cxl/pci.c
+++ b/drivers/misc/cxl/pci.c
@@ -357,7 +357,7 @@ static int init_implementation_adapter_regs(struct cxl *adapter, struct pci_dev
 {
 	struct device_node *np;
 	const __be32 *prop;
-	u64 psl_dsnctl;
+	u64 psl_dsnctl, psl_fircntl;
 	u64 chipid;
 	u64 capp_unit_id;
 
@@ -386,8 +386,11 @@ static int init_implementation_adapter_regs(struct cxl *adapter, struct pci_dev
 	cxl_p1_write(adapter, CXL_PSL_RESLCKTO, 0x20000000200ULL);
 	/* snoop write mask */
 	cxl_p1_write(adapter, CXL_PSL_SNWRALLOC, 0x00000000FFFFFFFFULL);
-	/* set fir_accum */
-	cxl_p1_write(adapter, CXL_PSL_FIR_CNTL, 0x0800000000000000ULL);
+	/* set fir_cntl to recommended value for production env */
+	psl_fircntl = (0x2ULL << (63-3)); /* ce_report */
+	psl_fircntl |= (0x1ULL << (63-6)); /* FIR_report */
+	psl_fircntl |= 0x1ULL; /* ce_thresh */
+	cxl_p1_write(adapter, CXL_PSL_FIR_CNTL, psl_fircntl);
 	/* for debugging with trace arrays */
 	cxl_p1_write(adapter, CXL_PSL_TRACE, 0x0000FF7C00000000ULL);
 
-- 
2.7.4





More information about the kernel-team mailing list