aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/misc/cxl/pci.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/misc/cxl/pci.c')
-rw-r--r--drivers/misc/cxl/pci.c41
1 files changed, 16 insertions, 25 deletions
diff --git a/drivers/misc/cxl/pci.c b/drivers/misc/cxl/pci.c
index 429d6de1dde7..2af0d4c47b76 100644
--- a/drivers/misc/cxl/pci.c
+++ b/drivers/misc/cxl/pci.c
@@ -465,23 +465,21 @@ int cxl_get_xsl9_dsnctl(struct pci_dev *dev, u64 capp_unit_id, u64 *reg)
465 /* nMMU_ID Defaults to: b’000001001’*/ 465 /* nMMU_ID Defaults to: b’000001001’*/
466 xsl_dsnctl |= ((u64)0x09 << (63-28)); 466 xsl_dsnctl |= ((u64)0x09 << (63-28));
467 467
468 if (!(cxl_is_power9_dd1())) { 468 /*
469 /* 469 * Used to identify CAPI packets which should be sorted into
470 * Used to identify CAPI packets which should be sorted into 470 * the Non-Blocking queues by the PHB. This field should match
471 * the Non-Blocking queues by the PHB. This field should match 471 * the PHB PBL_NBW_CMPM register
472 * the PHB PBL_NBW_CMPM register 472 * nbwind=0x03, bits [57:58], must include capi indicator.
473 * nbwind=0x03, bits [57:58], must include capi indicator. 473 * Not supported on P9 DD1.
474 * Not supported on P9 DD1. 474 */
475 */ 475 xsl_dsnctl |= (nbwind << (63-55));
476 xsl_dsnctl |= (nbwind << (63-55));
477 476
478 /* 477 /*
479 * Upper 16b address bits of ASB_Notify messages sent to the 478 * Upper 16b address bits of ASB_Notify messages sent to the
480 * system. Need to match the PHB’s ASN Compare/Mask Register. 479 * system. Need to match the PHB’s ASN Compare/Mask Register.
481 * Not supported on P9 DD1. 480 * Not supported on P9 DD1.
482 */ 481 */
483 xsl_dsnctl |= asnind; 482 xsl_dsnctl |= asnind;
484 }
485 483
486 *reg = xsl_dsnctl; 484 *reg = xsl_dsnctl;
487 return 0; 485 return 0;
@@ -539,15 +537,8 @@ static int init_implementation_adapter_regs_psl9(struct cxl *adapter,
539 /* Snoop machines */ 537 /* Snoop machines */
540 cxl_p1_write(adapter, CXL_PSL9_APCDEDALLOC, 0x800F000200000000ULL); 538 cxl_p1_write(adapter, CXL_PSL9_APCDEDALLOC, 0x800F000200000000ULL);
541 539
542 if (cxl_is_power9_dd1()) { 540 /* Enable NORST and DD2 features */
543 /* Disabling deadlock counter CAR */ 541 cxl_p1_write(adapter, CXL_PSL9_DEBUG, 0xC000000000000000ULL);
544 cxl_p1_write(adapter, CXL_PSL9_GP_CT, 0x0020000000000001ULL);
545 /* Enable NORST */
546 cxl_p1_write(adapter, CXL_PSL9_DEBUG, 0x8000000000000000ULL);
547 } else {
548 /* Enable NORST and DD2 features */
549 cxl_p1_write(adapter, CXL_PSL9_DEBUG, 0xC000000000000000ULL);
550 }
551 542
552 /* 543 /*
553 * Check if PSL has data-cache. We need to flush adapter datacache 544 * Check if PSL has data-cache. We need to flush adapter datacache