powerpc/powernv: Capture actag information for the device
authorFrederic Barrat <fbarrat@linux.vnet.ibm.com>
Tue, 23 Jan 2018 11:31:40 +0000 (12:31 +0100)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 24 Jan 2018 00:42:57 +0000 (11:42 +1100)
commit2cb3d64b26984703a6bb80e66adcc3727ad37f9f
tree60e6328bbe1f183dc87704366a1723cc1d81f34f
parent6914c757118e2a60ba826d9959ccf5532779781b
powerpc/powernv: Capture actag information for the device

In the opencapi protocol, host memory contexts are referenced by a
'actag'. During setup, a driver must tell the device how many actags
it can used, and what values are acceptable.

On POWER9, the NPU can handle 64 actags per link, so they must be
shared between all the PCI functions of the link. To get a global
picture of how many actags are used by each AFU of every function, we
capture some data at the end of PCI enumeration, so that actags can be
shared fairly if needed.

This is not powernv specific per say, but rather a consequence of the
opencapi configuration specification being quite general. The number
of available actags on POWER9 makes it more likely to be hit. This is
somewhat mitigated by the fact that existing AFUs are coded by
requesting a reasonable count of actags and existing devices carry
only one AFU.

Signed-off-by: Frederic Barrat <fbarrat@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/include/asm/pnv-ocxl.h
arch/powerpc/platforms/powernv/ocxl.c
include/misc/ocxl-config.h [new file with mode: 0644]