cxl: Configure PSL to not use APC virtual machines
authorVaibhav Jain <[email protected]>
Tue, 17 Apr 2018 05:11:02 +0000 (10:41 +0530)
committerMichael Ellerman <[email protected]>
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: [email protected] # v4.15+
Signed-off-by: Vaibhav Jain <[email protected]>
Acked-by: Andrew Donnellan <[email protected]>
Reviewed-by: Alastair D'Silva <[email protected]>
Reviewed-by: Christophe Lombard <[email protected]>
Signed-off-by: Michael Ellerman <[email protected]>
drivers/misc/cxl/pci.c

index 83f1d08058fc234dc9b141b543084ece35c53b0f..2e8b187956bca84f7d73e8089cca033c8c33fda7 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