iw_cxgb4: enforce qp/cq id requirements
authorHariprasad S <hariprasad@chelsio.com>
Tue, 21 Apr 2015 20:15:01 +0000 (01:45 +0530)
committerDoug Ledford <dledford@redhat.com>
Tue, 5 May 2015 13:18:01 +0000 (09:18 -0400)
commit4a75a86c8d04390f268d7237cc49fe9a8e36efe7
tree99ba8b48deee5b03ad472ac8635dd629cd38af0c
parent09ece8b9e983fe858de6eab7a386d58d194227b6
iw_cxgb4: enforce qp/cq id requirements

Currently the iw_cxgb4 implementation requires the qp and cq qid densities
to match as well as the qp and cq id ranges.  So fail a device open if
the device configuration doesn't meet the requirements.

The reason for these restictions has to do with the fact that IQ qid X
has a UGTS register in the same bar2 page as EQ qid X.  Thus both qids
need to be allocated to the same user process for security reasons.
The logic that does this (the qpid allocator in iw_cxgb4/resource.c)
handles this but requires the above restrictions.

Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Hariprasad Shenai <hariprasad@chelsio.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/hw/cxgb4/device.c