diff options
author | Ian Munsie <imunsie@au1.ibm.com> | 2016-05-24 21:22:53 +1000 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2016-06-09 14:09:21 +1000 |
commit | 5477148a439fda9fb55ea4a828c958fcdcc10f2e (patch) | |
tree | 1e883fe8d162db42ef6e7b00981162e41c629132 /include | |
parent | 487b85f9fd423c45da26a7c6b426ccfc7d23a2c2 (diff) | |
download | skiboot-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.h | 1 |
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) */ |