diff options
| author | Michael Brown | 2009-07-07 17:26:57 +0200 |
|---|---|---|
| committer | Michael Brown | 2009-07-18 00:06:34 +0200 |
| commit | cb9ef4dee2535c1f95d683a68832a13ccd3b01a2 (patch) | |
| tree | 985862ea46519736c53d6ba644413f084ef3d5f6 /src/net | |
| parent | [ipoib] Kill off the now-unused IPoIB metadata queue set (diff) | |
| download | ipxe-cb9ef4dee2535c1f95d683a68832a13ccd3b01a2.tar.gz ipxe-cb9ef4dee2535c1f95d683a68832a13ccd3b01a2.tar.xz ipxe-cb9ef4dee2535c1f95d683a68832a13ccd3b01a2.zip | |
[ipoib] Remove the queue set abstraction
Now that IPoIB has to deal with only one set of queues, the queue set
abstraction becomes merely an inconvenient wrapper.
Diffstat (limited to 'src/net')
| -rw-r--r-- | src/net/infiniband/ib_qset.c | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/src/net/infiniband/ib_qset.c b/src/net/infiniband/ib_qset.c deleted file mode 100644 index 0a1e1f9d2..000000000 --- a/src/net/infiniband/ib_qset.c +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyright (C) 2009 Michael Brown <mbrown@fensystems.co.uk>. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of the - * License, or any later version. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -FILE_LICENCE ( GPL2_OR_LATER ); - -#include <errno.h> -#include <string.h> -#include <gpxe/iobuf.h> -#include <gpxe/infiniband.h> -#include <gpxe/ib_qset.h> - -/** - * @file - * - * Infiniband queue sets - * - */ - -/** - * Create queue set - * - * @v ibdev Infiniband device - * @v qset Queue set - * @v num_cqes Number of completion queue entries - * @v cq_op Completion queue operations - * @v num_send_wqes Number of send work queue entries - * @v num_recv_wqes Number of receive work queue entries - * @v qkey Queue key - * @ret rc Return status code - */ -int ib_create_qset ( struct ib_device *ibdev, struct ib_queue_set *qset, - unsigned int num_cqes, - struct ib_completion_queue_operations *cq_op, - unsigned int num_send_wqes, unsigned int num_recv_wqes, - unsigned long qkey ) { - int rc; - - /* Sanity check */ - assert ( qset->cq == NULL ); - assert ( qset->qp == NULL ); - - /* Allocate completion queue */ - qset->cq = ib_create_cq ( ibdev, num_cqes, cq_op ); - if ( ! qset->cq ) { - DBGC ( ibdev, "IBDEV %p could not allocate completion queue\n", - ibdev ); - rc = -ENOMEM; - goto err; - } - - /* Allocate queue pair */ - qset->qp = ib_create_qp ( ibdev, num_send_wqes, qset->cq, - num_recv_wqes, qset->cq, qkey ); - if ( ! qset->qp ) { - DBGC ( ibdev, "IBDEV %p could not allocate queue pair\n", - ibdev ); - rc = -ENOMEM; - goto err; - } - - return 0; - - err: - ib_destroy_qset ( ibdev, qset ); - return rc; -} - -/** - * Destroy queue set - * - * @v ibdev Infiniband device - * @v qset Queue set - */ -void ib_destroy_qset ( struct ib_device *ibdev, - struct ib_queue_set *qset ) { - - if ( qset->qp ) - ib_destroy_qp ( ibdev, qset->qp ); - if ( qset->cq ) - ib_destroy_cq ( ibdev, qset->cq ); - memset ( qset, 0, sizeof ( *qset ) ); -} |
