aboutsummaryrefslogtreecommitdiff
path: root/drivers/infiniband/sw/rdmavt/qp.c
AgeCommit message (Collapse)AuthorFilesLines
2016-03-10IB/rdmavt: Add post send to rdmavtDennis Dalessandro1-12/+171
Add in a post_send and post_one_send to rdmavt. The ULP will provide a WQE to rdmavt which will then walk and queue each element. Rdmavt will then queue the work to be done in the driver or kick the driver's progress routine. There needs to be a follow on patch which adds in another lock for the head of the queue so that it can be added to and read from in parallel. This will touch protocol handlers and require other changes in the drivers. This will be done separately. Reviewed-by: Mike Marciniszyn <[email protected]> Reviewed-by: Ira Weiny <[email protected]> Signed-off-by: Dennis Dalessandro <[email protected]> Signed-off-by: Doug Ledford <[email protected]>
2016-03-10IB/rdmavt: Support creating qps with GFP_NOIO flagMike Marciniszyn1-13/+43
The current code is problematic when the QP creation and ipoib is used to support NFS and NFS desires to do IO for paging purposes. In that case, the GFP_KERNEL allocation within create_qp causes a deadlock in tight memory situations. This fix adds support to create queue pair with GFP_NOIO flag for connected mode only to cleanly fail the create queue pair in those situations. This was previously fixed in qib but needed to get ported to hfi1. This patch handles that for both hardwares in the new rdmavt common layer. Reviewed-by: Dennis Dalessandro <[email protected]> Signed-off-by: Mike Marciniszyn <[email protected]> Signed-off-by: Doug Ledford <[email protected]>
2016-03-10IB/rdmavt: Allow reserving just one qpnHarish Chegondi1-2/+2
qib needs to reserve only one qpn for non-verbs stuff. Also fixed the for loop to reserve the end qpn. Reviewed-by: Dennis Dalessandro <[email protected]> Signed-off-by: Harish Chegondi <[email protected]> Signed-off-by: Doug Ledford <[email protected]>
2016-03-10IB/rdmavt: Export reset_qp in rdmavtDennis Dalessandro1-3/+4
Until all queue pair functionality is moved to rdmavt we need to provide access to the reset function. This is only temporary and will be reverted back to a static, non exported function in the end. Reviewed-by: Ira Weiny <[email protected]> Reviewed-by: Harish Chegondi <[email protected]> Signed-off-by: Dennis Dalessandro <[email protected]> Signed-off-by: Doug Ledford <[email protected]>
2016-03-10IB/rdmavt: Add create queue pair functionalityDennis Dalessandro1-22/+403
Add create queue pair verbs call as well as supporting functions. Reviewed-by: Ira Weiny <[email protected]> Reviewed-by: Harish Chegondi <[email protected]> Signed-off-by: Dennis Dalessandro <[email protected]> Signed-off-by: Doug Ledford <[email protected]>
2016-03-10IB/rdmavt: Initialize and teardown of qpn tableDennis Dalessandro1-0/+197
Add table init as well as teardown for handling qpn maps. Drivers can still provide this functionality by setting the QP_INIT_DRIVER bit. Reviewed-by: Ira Weiny <[email protected]> Reviewed-by: Mike Marciniszyn <[email protected]> Signed-off-by: Dennis Dalessandro <[email protected]> Signed-off-by: Doug Ledford <[email protected]>
2016-03-10IB/rdmavt: Add post send and recv stubsDennis Dalessandro1-0/+62
This adds the post sned and recv function stubs. Reviewed-by: Mike Marciniszyn <[email protected]> Reviewed-by: Ira Weiny <[email protected]> Signed-off-by: Dennis Dalessandro <[email protected]> Signed-off-by: Doug Ledford <[email protected]>
2016-03-10IB/rdmavt: Add queue pair function stubsDennis Dalessandro1-0/+120
Adds the stubs for create, modify, destroy and query functions for queue pairs. Reviewed-by: Mike Marciniszyn <[email protected]> Reviewed-by: Ira Weiny <[email protected]> Signed-off-by: Dennis Dalessandro <[email protected]> Signed-off-by: Doug Ledford <[email protected]>