cxl: Configure PSL to not use APC virtual machines
authorVaibhav Jain <vaibhav@linux.vnet.ibm.com>
Tue, 17 Apr 2018 05:11:02 +0000 (10:41 +0530)
committerMichael Ellerman <mpe@ellerman.id.au>
Fri, 1 Jun 2018 15:48:10 +0000 (01:48 +1000)
APC virtual machines arent used on POWER-9 chips and are already
disabled in on-chip CAPP. They also need to be disabled on the PSL via
'PSL Data Send Control Register' by setting bit(47). This forces the
PSL to send commands to CAPP with queue.id == 0.

Fixes: 5632874311db ("cxl: Add support for POWER9 DD2")
Cc: stable@vger.kernel.org # v4.15+
Signed-off-by: Vaibhav Jain <vaibhav@linux.vnet.ibm.com>
Acked-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
Reviewed-by: Alastair D'Silva <alastair@d-silva.org>
Reviewed-by: Christophe Lombard <clombard@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
drivers/misc/cxl/pci.c

index 83f1d08..2e8b187 100644 (file)
@@ -514,9 +514,9 @@ static int init_implementation_adapter_regs_psl9(struct cxl *adapter,
        cxl_p1_write(adapter, CXL_PSL9_FIR_CNTL, psl_fircntl);
 
        /* Setup the PSL to transmit packets on the PCIe before the
-        * CAPP is enabled
+        * CAPP is enabled. Make sure that CAPP virtual machines are disabled
         */
-       cxl_p1_write(adapter, CXL_PSL9_DSNDCTL, 0x0001001000002A10ULL);
+       cxl_p1_write(adapter, CXL_PSL9_DSNDCTL, 0x0001001000012A10ULL);
 
        /*
         * A response to an ASB_Notify request is returned by the