linux/drivers/infiniband/hw
Jack Morgenstein 6634961c14 mlx4: Put physical GID and P_Key table sizes in mlx4_phys_caps struct and paravirtualize them
To allow easy paravirtualization of P_Key and GID table sizes, keep
paravirtualized sizes in mlx4_dev->caps, but save the actual physical
sizes from FW in struct: mlx4_dev->phys_cap.

In addition, in SR-IOV mode, do the following:

1. Reduce reported P_Key table size by 1.
   This is done to reserve the highest P_Key index for internal use,
   for declaring an invalid P_Key in P_Key paravirtualization.
   We require a P_Key index which always contain an invalid P_Key
   value for this purpose (i.e., one which cannot be modified by
   the subnet manager).  The way to do this is to reduce the
   P_Key table size reported to the subnet manager by 1, so that
   it will not attempt to access the P_Key at index #127.

2. Paravirtualize the GID table size to 1. Thus, each guest sees
   only a single GID (at its paravirtualized index 0).

In addition, since we are paravirtualizing the GID table size to 1, we
add paravirtualization of the master GID event here (i.e., we do not
do ib_dispatch_event() for the GUID change event on the master, since
its (only) GUID never changes).

Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
Signed-off-by: Roland Dreier <roland@purestorage.com>
2012-07-11 11:52:23 -07:00
..
amso1100 IB: Use central enum for speed instead of hard-coded values 2012-03-05 09:25:16 -08:00
cxgb3 Merge branches 'cma', 'cxgb3', 'cxgb4', 'ehca', 'iser', 'mad', 'nes', 'qib', 'srp' and 'srpt' into for-next 2012-03-19 09:50:33 -07:00
cxgb4 RDMA/cxgb4: Fix crash when peer address is 0.0.0.0 2012-06-03 22:59:15 -07:00
ehca Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
ipath IB/ipath: Replace open-coded ARRAY_SIZE with macro 2012-05-08 11:17:20 -07:00
mlx4 mlx4: Put physical GID and P_Key table sizes in mlx4_phys_caps struct and paravirtualize them 2012-07-11 11:52:23 -07:00
mthca IB: Change CQE "csum_ok" field to a bit flag 2012-03-08 12:34:27 -08:00
nes RDMA/nes: Don't call event handler if pointer is NULL 2012-05-14 12:48:07 -07:00
ocrdma RDMA/ocrdma: Fix off by one in ocrdma_query_gid() 2012-06-14 13:30:41 -07:00
qib IB/qib: Add cache line awareness to qib_qp and qib_devdata structures 2012-05-14 12:43:34 -07:00