1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License, Version 1.0 only 6 * (the "License"). You may not use this file except in compliance 7 * with the License. 8 * 9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10 * or http://www.opensolaris.org/os/licensing. 11 * See the License for the specific language governing permissions 12 * and limitations under the License. 13 * 14 * When distributing Covered Code, include this CDDL HEADER in each 15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16 * If applicable, add the following below this CDDL HEADER, with the 17 * fields enclosed by brackets "[]" replaced with your own identifying 18 * information: Portions Copyright [yyyy] [name of copyright owner] 19 * 20 * CDDL HEADER END 21 */ 22 /* 23 * Copyright 2003 Sun Microsystems, Inc. All rights reserved. 24 * Use is subject to license terms. 25 */ 26 27 #pragma ident "%Z%%M% %I% %E% SMI" 28 29 #include <sys/ib/ibtl/impl/ibtl.h> 30 31 /* 32 * ibtl_wr.c 33 * These routines simply pass the request to the proper HCA. 34 */ 35 36 /* 37 * Globals 38 */ 39 static char ibtf_wr[] = "ibtl_wr"; 40 41 /* 42 * Function: 43 * ibt_post_send 44 * Input: 45 * chan - QP. 46 * wr_list - Address of array[size] of work requests. 47 * size - Number of work requests. 48 * Output: 49 * posted - Address to return the number of work requests 50 * successfully posted. May be NULL. 51 * Description: 52 * Post one or more send work requests to the channel. 53 */ 54 55 ibt_status_t 56 ibt_post_send(ibt_channel_hdl_t chan, ibt_send_wr_t *wr_list, uint_t size, 57 uint_t *posted) 58 { 59 IBTF_DPRINTF_L4(ibtf_wr, "ibt_post_send(%p, %p, %d)", 60 chan, wr_list, size); 61 62 return (IBTL_CHAN2CIHCAOPS_P(chan)->ibc_post_send(IBTL_CHAN2CIHCA(chan), 63 chan->ch_qp.qp_ibc_qp_hdl, wr_list, size, posted)); 64 } 65 66 /* 67 * Function: 68 * ibt_post_recv 69 * Input: 70 * chan - QP. 71 * wr_list - Address of array[size] of work requests. 72 * size - Number of work requests. 73 * Output: 74 * posted - Address to return the number of work requests 75 * successfully posted. May be NULL. 76 * Description: 77 * Post one or more receive work requests to the channel. 78 */ 79 80 ibt_status_t 81 ibt_post_recv(ibt_channel_hdl_t chan, ibt_recv_wr_t *wr_list, uint_t size, 82 uint_t *posted) 83 { 84 IBTF_DPRINTF_L4(ibtf_wr, "ibt_post_recv(%p, %p, %d)", 85 chan, wr_list, size); 86 87 return (IBTL_CHAN2CIHCAOPS_P(chan)->ibc_post_recv(IBTL_CHAN2CIHCA(chan), 88 chan->ch_qp.qp_ibc_qp_hdl, wr_list, size, posted)); 89 } 90