diff options
author | Ryan Grimm <grimm@linux.vnet.ibm.com> | 2015-01-19 11:52:50 -0600 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2015-01-22 17:31:52 +1100 |
commit | 1212aa1c8c9ca34642f7737e1edaa96c9ce3d7dd (patch) | |
tree | bd2838b54d66c203e4e55db01299880aeb7e26a5 /drivers/misc | |
parent | 95bc11bcd1428afdb48400ec84dc6d5a83926138 (diff) | |
download | op-kernel-dev-1212aa1c8c9ca34642f7737e1edaa96c9ce3d7dd.zip op-kernel-dev-1212aa1c8c9ca34642f7737e1edaa96c9ce3d7dd.tar.gz |
cxl: Enable CAPP recovery
Turning snoops on is the last step in CAPP recovery. Sapphire is expected to
have reinitialized the PHB and done the previous recovery steps.
Add mode argument to opal call to do this. Driver can turn snoops off although
it does not currently.
Signed-off-by: Ryan Grimm <grimm@linux.vnet.ibm.com>
Acked-by: Ian Munsie <imunsie@au1.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'drivers/misc')
-rw-r--r-- | drivers/misc/cxl/pci.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/misc/cxl/pci.c b/drivers/misc/cxl/pci.c index 014f4c9..a4a4e02 100644 --- a/drivers/misc/cxl/pci.c +++ b/drivers/misc/cxl/pci.c @@ -926,9 +926,15 @@ static struct cxl *cxl_init_adapter(struct pci_dev *dev) if ((rc = init_implementation_adapter_regs(adapter, dev))) goto err3; - if ((rc = pnv_phb_to_cxl(dev))) + if ((rc = pnv_phb_to_cxl_mode(dev, OPAL_PHB_CAPI_MODE_CAPI))) goto err3; + /* If recovery happened, the last step is to turn on snooping. + * In the non-recovery case this has no effect */ + if ((rc = pnv_phb_to_cxl_mode(dev, OPAL_PHB_CAPI_MODE_SNOOP_ON))) { + goto err3; + } + if ((rc = cxl_register_psl_err_irq(adapter))) goto err3; |