|
@@ -379,7 +379,7 @@ static int calc_capp_routing(struct pci_dev *dev, u64 *chipid, u64 *capp_unit_id
|
|
|
|
|
|
static int init_implementation_adapter_psl_regs(struct cxl *adapter, struct pci_dev *dev)
|
|
|
{
|
|
|
- u64 psl_dsnctl;
|
|
|
+ u64 psl_dsnctl, psl_fircntl;
|
|
|
u64 chipid;
|
|
|
u64 capp_unit_id;
|
|
|
int rc;
|
|
@@ -398,8 +398,11 @@ static int init_implementation_adapter_psl_regs(struct cxl *adapter, struct pci_
|
|
|
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);
|
|
|
|