diff options
Diffstat (limited to 'drivers/misc/cxl/pci.c')
-rw-r--r-- | drivers/misc/cxl/pci.c | 41 |
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 |