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