aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorIan Munsie <imunsie@au1.ibm.com>2016-05-24 21:22:53 +1000
committerStewart Smith <stewart@linux.vnet.ibm.com>2016-06-09 14:09:21 +1000
commit5477148a439fda9fb55ea4a828c958fcdcc10f2e (patch)
tree1e883fe8d162db42ef6e7b00981162e41c629132 /include
parent487b85f9fd423c45da26a7c6b426ccfc7d23a2c2 (diff)
downloadskiboot-5477148a439fda9fb55ea4a828c958fcdcc10f2e.zip
skiboot-5477148a439fda9fb55ea4a828c958fcdcc10f2e.tar.gz
skiboot-5477148a439fda9fb55ea4a828c958fcdcc10f2e.tar.bz2
phb3: Add support for CAPP DMA mode
The XSL used in the Mellanox CX4 card uses a DMA mode of CAPI, which requires a few registers configured specially. In addition to enabling the mode, - The CAPP only owns some of the PHB read buffers, and must be configured to use the correct ones, and the self-snoop configured for the same ones. - The tve needs to be configured to allow the card to access all kernel memory as it uses DMA accesses to read the scheduled process area from the kernel, among other things. These cannot be configured unconditionally, as doing so will break existing CAPI devices that do not use DMA mode. This adds a new mode to the OPAL_PCI_SET_PHB_CAPI_MODE API to enable CAPI in DMA mode. Since the snoop on/off modes write to the capi snoop configuration register, which is configured differently in DMA mode, it uses the redundant bits from the apc master powerbus control register to determine if it should configure the register for DMA mode rather than requiring any more permutations of the mode parameter. Signed-off-by: Ian Munsie <imunsie@au1.ibm.com> Reviewed-by: Frederic Barrat <fbarrat@linux.vnet.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'include')
-rw-r--r--include/opal-api.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/opal-api.h b/include/opal-api.h
index f720f0e..f88e97f 100644
--- a/include/opal-api.h
+++ b/include/opal-api.h
@@ -951,6 +951,7 @@ enum {
OPAL_PHB_CAPI_MODE_CAPI = 1,
OPAL_PHB_CAPI_MODE_SNOOP_OFF = 2,
OPAL_PHB_CAPI_MODE_SNOOP_ON = 3,
+ OPAL_PHB_CAPI_MODE_DMA = 4,
};
/* CAPI feature flags (in device-tree) */